3D座標軸

先給原點O,再給一點View3D來旋轉座標軸，再新增數值大於0的拉桿Scal。

a: π * x(View3d - O) / (2 * Scal)
b': -π * y(View3d - O) / Scal
b = If(b' > π / 2, 1.5707963267948966, If[b' < (-π) / 2, -1.5707963267948966, b'])
j: (cos(a - 3 * π / 4), -sin(a - 3 * π / 4) * sin(b))
i: (sin(a - 3 * π / 4), cos(a - 3 * π / 4) * sin(b))
k: (0, cos(b))
U_x: O + Scal * i
u = Vector(O, U_x)
U_z: O + Scal * k
v = Vector(O, U_z)
U_y: O + Scal * j
w = Vector(O, U_y)
u' = Mirror(u, O)
w' = Mirror(w, O)
v' = Mirror(v, O)
list1 = Sequence(O + s * i, s, 1, Scal - 1)
list2 = Sequence(O + s * j, s, 1, Scal - 1)
list3 = Sequence(O + s * k, s, 1, Scal - 1)
list1' = Mirror(list1, O)
list2' = Mirror(list2, O)
list3' = Mirror(list3, O)