Mega Code Archive

 
Categories / Delphi / Graphic
 

Orientation of a Point in 3D to two other 3D Points

Title: Orientation of a Point in 3D to two other 3D Points Function Orientation(x1,y1,z1,x2,y2,z2,x3,y3,z3,Px,Py,Pz:Double):Integer; Var Px1,Px2,Px3 : Double; Py1,Py2,Py3 : Double; Pz1,Pz2,Pz3 : Double; Orin : Double; Begin Px1 := x1 - px; Px2 := x2 - px; Px3 := x3 - px; Py1 := y1 - py; Py2 := y2 - py; Py3 := y3 - py; Pz1 := z1 - pz; Pz2 := z2 - pz; Pz3 := z3 - pz; Orin := Px1*(Py2 * Pz3 - Pz2 * Py3)+ Px2*(Py3 * Pz1 - Pz3 * Py1)+ Px3*(Py1 * Pz2 - Pz1 * Py2); If Orin Else If Orin 0.0 Then Result := +1 (* Orientaion is above plane *) Else Result := 0; (* Orientaion is coplanar to plane if result is 0 *) End; (* End Of Orientation *)