예제 #1
0
 public Planed(Vector3d v1, Vector3d v2, Vector3d v3)
 {
     _normal = (v1 - v3).Cross(v1 - v2);
     _normal.Normalize();
     D = _normal.Dot(v1);
 }
예제 #2
0
 public Planed(Vector3d normal, double d)
 {
     this._normal = normal;
     this.D       = d;
 }
예제 #3
0
 public Vector3d Project(Vector3d point)
 {
     return(point - _normal * DistanceTo(point));
 }
예제 #4
0
 // Constructors
 public Planed(double a, double b, double c, double d)
 {
     _normal = new Vector3d(a, b, c);
     this.D  = d;
 }
예제 #5
0
 public bool IsPointOver(Vector3d point)
 {
     return(_normal.Dot(point) > D);
 }