计时操作 "C" Subscript, "a" "m" "e" "r" "a" "U" "p" "d" "a" "t" "e" , BaselineCameraUpdate
every
最短步长时间 3030
ms
输出旋转到当前视角的x(用于3D投影的实现)
126
表达式127: "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
127
输出旋转到当前视角的y(用于3D投影的实现)
128
表达式129: "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
129
输出旋转到当前视角的z(用于3D投影的实现)
130
表达式131: "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
131
表达式132: "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
132
将x,y,z投影到当前视角与视野范围
133
表达式134: "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
134
将x,y,z投影到当前视角与视野范围
P1:长度为 3 的 xyz 列表
135
表达式136: "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,τ
136
计算两个2D点之间的夹角(0<=θ<=360,或0<=θ<=2π)
137
表达式138: "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,τ
138
计算一个2D点与x+轴之间的夹角(0<=θ<=360,或0<=θ<=2π)
139
表达式140: "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
140
计算两点之间的线性插值
例:t = 0 时输出 P1,t = 1 时输出 P2
141
表达式142: "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
表达式150: "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
表达式152: "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
152
输出四元数旋转后的 xyz 列表
V (vx,vy,vz) 是旋转轴;V 与原点的距离必须为 1。
A:旋转角度
x,y,z:将要旋转的 3D 点
表达式155: "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
155
输出四元数旋转后的 xyz 列表
V (vx,vy,vz) 是旋转轴;V 与原点的距离可以不为1。
A:旋转角度
x,y,z:将要旋转的 3D 点
156
表达式157: "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
157
输出四元数旋转后的 xyz 列表
V:旋转轴;V 与原点的距离可以不为1。
A:旋转角度
x,y,z:将要旋转的 3D 点
158
表达式159: "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ϕ