Tick Action: "C" Subscript, "a" "m" "e" "r" "a" "U" "p" "d" "a" "t" "e" , BaselineCameraUpdate
every
Min Step Time: 3030
ms
Expression 112: "R" Subscript, "o" "t" "a" "t" "e" "X" "Y" , Baseline left parenthesis, "L" , theta , right parenthesis equals left bracket, "L" left bracket, 1 , right bracket cos left parenthesis, theta , right parenthesis minus "L" left bracket, 2 , right bracket sin left parenthesis, theta , right parenthesis , "L" left bracket, 2 , right bracket cos left parenthesis, theta , right parenthesis plus "L" left bracket, 1 , right bracket sin left parenthesis, theta , right parenthesis , "L" left bracket, 3 , right bracket , right bracketRotateXYL,θ=L1cosθ−L2sinθ,L2cosθ+L1sinθ,L3
112
Returns an x,y,z pair rotated on the XY plane
L: an x,y,z pair as a list of length 3
θ: angle of rotation
113
Expression 114: "R" Subscript, "o" "t" "a" "t" "e" "X" "Z" , Baseline left parenthesis, "L" , theta , right parenthesis equals left bracket, "L" left bracket, 1 , right bracket cos left parenthesis, theta , right parenthesis plus "L" left bracket, 3 , right bracket sin left parenthesis, theta , right parenthesis , "L" left bracket, 2 , right bracket , "L" left bracket, 3 , right bracket cos left parenthesis, theta , right parenthesis minus "L" left bracket, 1 , right bracket sin left parenthesis, theta , right parenthesis , right bracketRotateXZL,θ=L1cosθ+L3sinθ,L2,L3cosθ−L1sinθ
114
Returns an x,y,z pair rotated on the XZ plane
L: an x,y,z pair as a list of length 3
θ: angle of rotation
115
Expression 116: "R" Subscript, "o" "t" "a" "t" "e" "Y" "Z" , Baseline left parenthesis, "L" , theta , right parenthesis equals left bracket, "L" left bracket, 1 , right bracket , "L" left bracket, 2 , right bracket cos left parenthesis, theta , right parenthesis minus "L" left bracket, 3 , right bracket sin left parenthesis, theta , right parenthesis , "L" left bracket, 3 , right bracket cos left parenthesis, theta , right parenthesis plus "L" left bracket, 2 , right bracket sin left parenthesis, theta , right parenthesis , right bracketRotateYZL,θ=L1,L2cosθ−L3sinθ,L3cosθ+L2sinθ
116
Returns a x,y,z pair rotated on the YZ plane
L: an x,y,z pair as a list of length 3
θ: angle of rotation
117
Expression 118: "R" Subscript, "o" "t" "a" "t" "e" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals "R" Subscript, "o" "t" "a" "t" "e" "X" "Z" , Baseline left parenthesis, "R" Subscript, "o" "t" "a" "t" "e" "X" "Y" , Baseline left parenthesis, left bracket, "x" , "y" , "z" , right bracket , theta Subscript, "x" "y" , Baseline , right parenthesis , theta Subscript, "y" "z" , Baseline , right parenthesisRotatex,y,z=RotateXZRotateXYx,y,z,θxy,θyz
118
Returns a pair of x,y,z after rotated to the current view angle for projection
119
Expression 120: "R" Subscript, "o" "t" "a" "t" "e" "X" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals "x" cosine left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesis minus "y" sine left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesisRotateXx,y,z=xcosθxy−ysinθxy
120
Returns the x of the rotated x,y,z for projection
121
Expression 122: "R" Subscript, "o" "t" "a" "t" "e" "Y" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals cosine left parenthesis, theta Subscript, "y" "z" , Baseline , right parenthesis left parenthesis, "y" cos left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesis plus "x" sin left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesis , right parenthesis minus "z" sine left parenthesis, theta Subscript, "y" "z" , Baseline , right parenthesisRotateYx,y,z=cosθyzycosθxy+xsinθxy−zsinθyz
122
Returns the y of the rotated x,y,z for projection
123
Expression 124: "R" Subscript, "o" "t" "a" "t" "e" "Z" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals sine left parenthesis, theta Subscript, "y" "z" , Baseline , right parenthesis left parenthesis, "y" cos left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesis plus "x" sin left parenthesis, theta Subscript, "x" "y" , Baseline , right parenthesis , right parenthesis plus "z" cosine left parenthesis, theta Subscript, "y" "z" , Baseline , right parenthesisRotateZx,y,z=sinθyzycosθxy+xsinθxy+zcosθyz
124
Returns the z of the rotated x,y,z for projection
125
Expression 126: "G" Subscript, "r" "a" "p" "h" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals "G" Subscript, "r" "a" "p" "h" "P" "r" "o" "j" "e" "c" "t" "i" "o" "n" , Baseline left parenthesis, "R" Subscript, "o" "t" "a" "t" "e" "X" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis , "R" Subscript, "o" "t" "a" "t" "e" "Y" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis , "R" Subscript, "o" "t" "a" "t" "e" "Z" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis , right parenthesisGraphx,y,z=GraphProjectionRotateXx,y,z,RotateYx,y,z,RotateZx,y,z
126
Expression 127: "G" Subscript, "r" "a" "p" "h" "P" "r" "o" "j" "e" "c" "t" "i" "o" "n" , Baseline left parenthesis, "x" , "y" , "z" , right parenthesis equals left parenthesis, "x" , "z" , right parenthesis times StartFraction, "d" Over "d" plus "y" , EndFraction times left brace, "d" plus "y" less than 0 : StartFraction, 1 Over 0 , EndFraction , 1 , right braceGraphProjectionx,y,z=x,z·dd+y·d+y<0:10,1
127
Projects an x,y,z pair with the current view angle
128
Expression 129: "G" Subscript, "r" "a" "p" "h" "P" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , right parenthesis equals "G" Subscript, "r" "a" "p" "h" , Baseline left parenthesis, "P" Subscript, 1 , Baseline left bracket, 1 , right bracket , "P" Subscript, 1 , Baseline left bracket, 2 , right bracket , "P" Subscript, 1 , Baseline left bracket, 3 , right bracket , right parenthesisGraphPP1=GraphP11,P12,P13
129
Projects an x,y,z pair with the current view angle
P_1: an x,y,z pair as a list of length 3
130
Expression 131: "A" Subscript, "n" "g" "l" "e" 2 , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals mod left parenthesis, arctan left parenthesis, "P" Subscript, 2 , Baseline . "y" minus "P" Subscript, 1 , Baseline . "y" , "P" Subscript, 2 , Baseline . "x" minus "P" Subscript, 1 , Baseline . "x" , right parenthesis , tau , right parenthesisAngle2P1,P2=modarctanP2.y−P1.y,P2.x−P1.x,τ
131
Returns the angle (0<=θ<=360, or 2π) between two points, p1 & p2
132
Expression 133: "A" Subscript, "n" "g" "l" "e" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , right parenthesis equals mod left parenthesis, arctan left parenthesis, "P" Subscript, 1 , Baseline . "y" , "P" Subscript, 1 , Baseline . "x" , right parenthesis , tau , right parenthesisAngleP1=modarctanP1.y,P1.x,τ
133
Returns the angle (0<=θ<=360, or 2π) between a point & the right x-axis
134
Expression 135: "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , "t" , right parenthesis equals "P" Subscript, 1 , Baseline plus left parenthesis, "P" Subscript, 2 , Baseline minus "P" Subscript, 1 , Baseline , right parenthesis times "t"IntplP1,P2,t=P1+P2−P1·t
135
Returns the linear interpolation between two points. Returns P1 when t = 0, returns P2 when t = 1.
136
Expression 137: "G" Subscript, "r" "a" "p" "h" "L" "i" "n" "e" , Baseline left parenthesis, "x" Subscript, 1 , Baseline , "y" Subscript, 1 , Baseline , "z" Subscript, 1 , Baseline , "x" Subscript, 2 , Baseline , "y" Subscript, 2 , Baseline , "z" Subscript, 2 , Baseline , "t" , right parenthesis equals "G" Subscript, "r" "a" "p" "h" , Baseline left parenthesis, "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "x" Subscript, 1 , Baseline , "x" Subscript, 2 , Baseline , "t" , right parenthesis , "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "y" Subscript, 1 , Baseline , "y" Subscript, 2 , Baseline , "t" , right parenthesis , "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "z" Subscript, 1 , Baseline , "z" Subscript, 2 , Baseline , "t" , right parenthesis , right parenthesisGraphLinex1,y1,z1,x2,y2,z2,t=GraphIntplx1,x2,t,Intply1,y2,t,Intplz1,z2,t
137
Graphs a line between two points
x1, y1, z1: x,y,z of the first point
x2, y2, z2: x,y,z of the second point
t: from 0 to 1
138
Expression 139: "G" Subscript, "r" "a" "p" "h" "L" "i" "n" "e" "P" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , "t" , right parenthesis equals "G" Subscript, "r" "a" "p" "h" "P" , Baseline left parenthesis, "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , "t" , right parenthesis , right parenthesisGraphLinePP1,P2,t=GraphPIntplP1,P2,t
139
Graphs a line between two points
P_1: an x,y,z pair as a list of length 3
P_2: an x,y,z pair as a list of length 3
t: from 0 to 1
140
Expression 141: "G" Subscript, "r" "a" "p" "h" "L" "i" "n" "e" "X" "Y" "Z" , Baseline left parenthesis, "X" Subscript, "L" , Baseline , "Y" Subscript, "L" , Baseline , "Z" Subscript, "L" , Baseline , "t" , right parenthesis equals "G" Subscript, "r" "a" "p" "h" , Baseline left parenthesis, "I" Subscript, "n" "t" "p" "l" "L" , Baseline left parenthesis, "X" Subscript, "L" , Baseline , "t" , right parenthesis , "I" Subscript, "n" "t" "p" "l" "L" , Baseline left parenthesis, "Y" Subscript, "L" , Baseline , "t" , right parenthesis , "I" Subscript, "n" "t" "p" "l" "L" , Baseline left parenthesis, "Z" Subscript, "L" , Baseline , "t" , right parenthesis , right parenthesisGraphLineXYZXL,YL,ZL,t=GraphIntplLXL,t,IntplLYL,t,IntplLZL,t
141
Graphs connected line segments between a list of points given X, Y, Z lists
X_L, Y_L, Z_L: the x,y,z of the list of points
t: from 0 to 1
142
Expression 143: "G" Subscript, "r" "a" "p" "h" "X" "Y" "Z" "L" "i" "n" "e" , Baseline left parenthesis, "X" Subscript, "L" , Baseline , "Y" Subscript, "L" , Baseline , "Z" Subscript, "L" , Baseline , "L" Subscript, "i" , Baseline , right parenthesis equals left bracket, "G" Subscript, "r" "a" "p" "h" "L" "i" "n" "e" , Baseline left parenthesis, "X" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "x" , right bracket , "Y" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "x" , right bracket , "Z" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "x" , right bracket , "X" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "y" , right bracket , "Y" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "y" , right bracket , "Z" Subscript, "L" , Baseline left bracket, "L" Subscript, "i" , Baseline left bracket, "i" Subscript, "L" , Baseline , right bracket . "y" , right bracket , "t" , right parenthesis for "i" Subscript, "L" , Baseline equals left bracket, 1 , ... , length left parenthesis, "L" Subscript, "i" , Baseline , right parenthesis , right bracket , right bracketGraphXYZLineXL,YL,ZL,Li=GraphLineXLLiiL.x,YLLiiL.x,ZLLiiL.x,XLLiiL.y,YLLiiL.y,ZLLiiL.y,tforiL=1,...,lengthLi
143
Graphs unconnected line segments from a list of points given X, Y, Z lists
X_L, Y_L, Z_L: the x,y,z of the list of points
L_i: the indices of the points pair for each line segment; in the form of point lists
144
Expression 145: "I" Subscript, "n" "t" "p" "l" "L" , Baseline left parenthesis, "L" , "t" , right parenthesis equals "I" Subscript, "n" "t" "p" "l" , Baseline left parenthesis, "L" left bracket, 1 plus floor left parenthesis, left parenthesis, length left parenthesis, "L" , right parenthesis minus 1 , right parenthesis times "t" , right parenthesis , right bracket , "L" left bracket, mod left parenthesis, 2 plus floor left parenthesis, left parenthesis, length left parenthesis, "L" , right parenthesis minus 1 , right parenthesis times "t" , right parenthesis minus 1 , length left parenthesis, "L" , right parenthesis , right parenthesis plus 1 , right bracket , mod left parenthesis, left parenthesis, length left parenthesis, "L" , right parenthesis minus 1 , right parenthesis times "t" , 1 , right parenthesis , right parenthesisIntplLL,t=IntplL1+floorlengthL−1·t,Lmod2+floorlengthL−1·t−1,lengthL+1,modlengthL−1·t,1
145
Interpolates a list of variables with t from 0 to 1
Example: when L = [1,2,3] and t = 0,0.5,1: I_ntplL(L,t) = 1, 2, 3
L: a list of variables
t: from 0 to 1
146
Expression 147: "R" Subscript, "o" "t" "a" "t" "e" "Q" 0 , Baseline left parenthesis, "v" Subscript, "x" , Baseline , "v" Subscript, "y" , Baseline , "v" Subscript, "z" , Baseline , "A" , "x" , "y" , "z" , right parenthesis equals left bracket, negative "x" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "y" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "x" , Baseline times "v" Subscript, "y" , Baseline minus "z" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "x" , Baseline times "v" Subscript, "z" , Baseline plus "x" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared plus "z" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "y" , Baseline plus "x" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "y" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "z" , Baseline plus "x" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction plus 1 half , right parenthesis , "y" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "x" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "x" , Baseline times "v" Subscript, "y" , Baseline minus "z" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "x" , Baseline minus "y" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "z" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "y" , Baseline times "v" Subscript, "z" , Baseline plus "y" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared plus "x" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "z" , Baseline plus "y" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction plus 1 half , right parenthesis , "z" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "x" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "x" , Baseline times "v" Subscript, "z" , Baseline plus "y" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "x" , Baseline plus "z" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared minus "y" times left parenthesis, cos left parenthesis, "A" , right parenthesis minus 1 , right parenthesis times "v" Subscript, "y" , Baseline times "v" Subscript, "z" , Baseline minus "x" times sin left parenthesis, "A" , right parenthesis times "v" Subscript, "y" , Baseline minus "z" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction minus 1 half , right parenthesis times "v" squared plus "z" times left parenthesis, StartFraction, cos left parenthesis, "A" , right parenthesis Over 2 , EndFraction plus 1 half , right parenthesis , right bracketRotateQ0vx,vy,vz,A,x,y,z=−x×cosA2−12×v2x−y×cosA−1×vx×vy−z×cosA−1×vx×vz+x×cosA2−12×v2y+z×sinA×vy+x×cosA2−12×v2z−y×sinA×vz+x×cosA2+12,y×cosA2−12×v2x−x×cosA−1×vx×vy−z×sinA×vx−y×cosA2−12×v2y−z×cosA−1×vy×vz+y×cosA2−12×v2z+x×sinA×vz+y×cosA2+12,z×cosA2−12×v2x−x×cosA−1×vx×vz+y×sinA×vx+z×cosA2−12×v2y−y×cosA−1×vy×vz−x×sinA×vy−z×cosA2−12×v2z+z×cosA2+12
147
Returns an x,y,z pair after applied quaternion rotation.
V (vx,vy,vz) is the axis of rotation. The distance of V from the origin must be 1.
A is the angle of rotation
x,y,z is the 3D point rotated.
Expression 150: "R" Subscript, "o" "t" "a" "t" "e" "Q" , Baseline left parenthesis, "v" Subscript, "x" , Baseline , "v" Subscript, "y" , Baseline , "v" Subscript, "z" , Baseline , "A" , "x" , "y" , "z" , right parenthesis equals "R" Subscript, "o" "t" "a" "t" "e" "Q" 0 , Baseline left parenthesis, StartFraction, "v" Subscript, "x" , Baseline Over StartRoot, "v" squared plus "v" squared plus "v" squared , EndRoot , EndFraction , StartFraction, "v" Subscript, "y" , Baseline Over StartRoot, "v" squared plus "v" squared plus "v" squared , EndRoot , EndFraction , StartFraction, "v" Subscript, "z" , Baseline Over StartRoot, "v" squared plus "v" squared plus "v" squared , EndRoot , EndFraction , "A" , "x" , "y" , "z" , right parenthesisRotateQvx,vy,vz,A,x,y,z=RotateQ0vxv2x+v2y+v2z,vyv2x+v2y+v2z,vzv2x+v2y+v2z,A,x,y,z
150
Returns an x,y,z pair after applied quaternion rotation.
V (vx,vy,vz) is the axis of rotation. The distance of V from the origin does not have to be 1.
A is the angle of rotation
x,y,z is the 3D point rotated.
151
Expression 152: "R" Subscript, "o" "t" "a" "t" "e" "Q" "P" , Baseline left parenthesis, "V" , "A" , "L" , right parenthesis equals "R" Subscript, "o" "t" "a" "t" "e" "Q" 0 , Baseline left parenthesis, StartFraction, "V" left bracket, 1 , right bracket Over StartRoot, "V" left bracket, 1 , right bracket squared plus "V" left bracket, 2 , right bracket squared plus "V" left bracket, 3 , right bracket squared , EndRoot , EndFraction , StartFraction, "V" left bracket, 2 , right bracket Over StartRoot, "V" left bracket, 1 , right bracket squared plus "V" left bracket, 2 , right bracket squared plus "V" left bracket, 3 , right bracket squared , EndRoot , EndFraction , StartFraction, "V" left bracket, 3 , right bracket Over StartRoot, "V" left bracket, 1 , right bracket squared plus "V" left bracket, 2 , right bracket squared plus "V" left bracket, 3 , right bracket squared , EndRoot , EndFraction , "A" , "L" left bracket, 1 , right bracket , "L" left bracket, 2 , right bracket , "L" left bracket, 3 , right bracket , right parenthesisRotateQPV,A,L=RotateQ0V1V12+V22+V32,V2V12+V22+V32,V3V12+V22+V32,A,L1,L2,L3
Expression 154: "S" Subscript, "p" "h" "e" "r" "e" , Baseline left parenthesis, lambda , phi , right parenthesis equals left bracket, cos left parenthesis, lambda , right parenthesis cos left parenthesis, phi , right parenthesis , sin left parenthesis, lambda , right parenthesis cos left parenthesis, phi , right parenthesis , sin left parenthesis, phi , right parenthesis , right bracketSphereλ,ϕ=cosλcosϕ,sinλcosϕ,sinϕ
154
Returns a point on a sphere of radius 1 with the given latitude & longitude (https://bit.ly/3mubei9).
λ: Longitude, or the left & right on a sphere
ϕ: Latitude, or the up & down on a sphere
155
Expression 156: "D" Subscript, "i" "s" "t" "O" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , right parenthesis equals StartRoot, total left parenthesis, "P" squared , right parenthesis , EndRootDistOP1=totalP21
156
Returns the distance of a point from the origin
157
Expression 158: "D" Subscript, "i" "s" "t" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals StartRoot, total left parenthesis, left parenthesis, "P" Subscript, 1 , Baseline minus "P" Subscript, 2 , Baseline , right parenthesis squared , right parenthesis , EndRootDistP1,P2=totalP1−P22
158
Returns the distance between two points
159
Expression 160: "D" Subscript, "o" "t" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals total left parenthesis, "P" Subscript, 1 , Baseline "P" Subscript, 2 , Baseline , right parenthesisDotP1,P2=totalP1P2
160
Returns the dot product of two 3D points
161
Expression 162: "D" Subscript, "o" "t" 2 , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals "P" Subscript, 1 , Baseline . "x" times "P" Subscript, 2 , Baseline . "x" plus "P" Subscript, 1 , Baseline . "y" times "P" Subscript, 2 , Baseline . "y"Dot2P1,P2=P1.x·P2.x+P1.y·P2.y
162
Returns the dot product of two 2D point
163
Expression 164: theta Subscript, "d" "i" "f" "f" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals cosine to the negative 1st power left parenthesis, round left parenthesis, StartFraction, "D" Subscript, "o" "t" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis Over "D" Subscript, "i" "s" "t" "O" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , right parenthesis "D" Subscript, "i" "s" "t" "O" , Baseline left parenthesis, "P" Subscript, 2 , Baseline , right parenthesis , EndFraction , 8 , right parenthesis , right parenthesisθdiffP1,P2=cos−1roundDotP1,P2DistOP1DistOP2,8
164
Returns the difference in angle between two points using dot product
(without round, when the quotient = 1 or -1, calculator inpercision might cause the quotient to be >1 or <-1)
165
Expression 166: "C" Subscript, "r" "o" "s" "s" 2 , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals "P" Subscript, 1 , Baseline . "x" times "P" Subscript, 2 , Baseline . "y" minus "P" Subscript, 1 , Baseline . "y" times "P" Subscript, 2 , Baseline . "x"Cross2P1,P2=P1.x·P2.y−P1.y·P2.x
166
Returns the cross product of two 2D points
167
Expression 168: "C" Subscript, "r" "o" "s" "s" , Baseline left parenthesis, "P" Subscript, 1 , Baseline , "P" Subscript, 2 , Baseline , right parenthesis equals left bracket, "P" Subscript, 1 , Baseline left bracket, 2 , right bracket "P" Subscript, 2 , Baseline left bracket, 3 , right bracket minus "P" Subscript, 1 , Baseline left bracket, 3 , right bracket "P" Subscript, 2 , Baseline left bracket, 2 , right bracket , "P" Subscript, 1 , Baseline left bracket, 3 , right bracket "P" Subscript, 2 , Baseline left bracket, 1 , right bracket minus "P" Subscript, 1 , Baseline left bracket, 1 , right bracket "P" Subscript, 2 , Baseline left bracket, 3 , right bracket , "P" Subscript, 1 , Baseline left bracket, 1 , right bracket "P" Subscript, 2 , Baseline left bracket, 2 , right bracket minus "P" Subscript, 1 , Baseline left bracket, 2 , right bracket "P" Subscript, 2 , Baseline left bracket, 1 , right bracket , right bracketCrossP1,P2=P12P23−P13P22,P13P21−P11P23,P11P22−P12P21
168
Returns the cross product of two 3D points
169
Expression 170: "R" Subscript, "o" "t" "a" "t" "e" "N" "o" "r" "m" "a" "l" , Baseline left parenthesis, "L" , "V" Subscript, 1 , Baseline , "V" Subscript, 2 , Baseline , right parenthesis equals "R" Subscript, "o" "t" "a" "t" "e" "Q" "P" , Baseline left parenthesis, "C" Subscript, "r" "o" "s" "s" , Baseline left parenthesis, "V" Subscript, 1 , Baseline , "V" Subscript, 2 , Baseline plus left bracket, 0 , 0 , 10 to the negative 8th power , right bracket , right parenthesis , theta Subscript, "d" "i" "f" "f" , Baseline left parenthesis, "V" Subscript, 1 , Baseline , "V" Subscript, 2 , Baseline , right parenthesis , "L" , right parenthesisRotateNormalL,V1,V2=RotateQPCrossV1,V2+0,0,10−8,θdiffV1,V2,L
170
Returns an x,y,z pair rotated from one normal to another
L is the x,y,z pair rotated
V2 is the normal that L is rotated from. V2 is the normal that L is rotated to. The distance of V1 and V2 from the origin does not have to be 1.
171
Expression 172: "R" Subscript, "o" "t" "a" "t" "e" "T" "o" "N" "o" "r" "m" "a" "l" , Baseline left parenthesis, "L" , "V" , right parenthesis equals "R" Subscript, "o" "t" "a" "t" "e" "N" "o" "r" "m" "a" "l" , Baseline left parenthesis, "L" , left bracket, 0 , 0 , 1 , right bracket , "V" , right parenthesisRotateToNormalL,V=RotateNormalL,0,0,1,V
172
Returns an x,y,z pair rotated to a certain normal
L is the x,y,z pair rotated
V is normal that L is rotated to. The distance of V from the origin does not have to be 1.