3d 圖ㄧ
Author: Jui-Tang chen
Date: 2015,3,26

Scal：3D軸的長度
View3d：3D軸的旋轉
平面轉3D請用i,j,k為單位向量

O = (0, 0)
View3d = (4.249219650139613, -1.5600161004215354)
b_1: y(View3d - O) / 2
a_1: x(View3d - O) / 2
i: (cos(a_1), sin(a_1) * sin(b_1))
j: -(-sin(a_1), cos(a_1) * sin(b_1))
k: (0, cos(b_1))
Scal = 7.4 (slider from 0 to 10, step 0.1)
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)
s = 1
t = 1
F(u, v) = sin(2 * u) * (2.2 + cos(u) * sin(v / 2) - sin(u) * sin(v))
G(u, v) = cos(2 * u) * (2.2 + cos(u) * sin(v / 2) - sin(u) * sin(v))
H(u, v) = sin(u) * sin(v / 2) + cos(u) * sin(v)
a = 6.283185307179586 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
b = 6.283185307179586 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
n = 29 (slider from 1 to 35, step 1)
list1 = Sequence(CurveCartesian[x(O + F(s, t) * i + G(s, t) * j + H(s, t) * k), y(O + F(s, t) * i + G(s, t) * j + H(s, t) * k), s, 0, b], t, 0, a, π / n)
list2 = Sequence(CurveCartesian[x(O + F(s, t) * i + G(s, t) * j + H(s, t) * k), y(O + F(s, t) * i + G(s, t) * j + H(s, t) * k), t, 0, a], s, 0, b, π / (4 * n))