This section describes how to generate spiral surfaces.
For related software, see: Mathematical graphics visualization tool. Use script code with custom syntax to generate mathematical graphics.
I have previously written a C ++ program for generating rings, and the code is released to the generation algorithm of spire graphics.
(1) positive spiral surface
The positive spiral plane is to make the initial position of a straight line l coincide with the X axis, and then let the line l rotate at a constant speed around the Z axis, while the side moves at a constant speed along the Z axis, then the surface scanned by a straight line under the synthesis of the two motion is the positive spiral surface.
Obviously, the positive spiral surface can be seen as a straight line, that is, it is a straight surface.
Why is it called Zheng ?. According to the formula, the circle is pulled up and then rotated several more times.
vertices = D1:32 D2:360u = from 0 to 3 D1v = from 0 to (8*PI) D2x = u*cos(v)y = v*0.5z = u*sin(v)
(2) positive spiral random surface (helicoiddroit)
Add the positive spiral surface of the random parameter and stretch it outward.
vertices = D1:32 D2:360u = from 0 to 3 D1v = from 0 to (8*PI) D2a = rand2(0.1, 1)b = rand2(1, 5)x = (b + u)*cos(v)y = v*az = (b + u)*sin(v)
(3) Archimedes spiral surface
According to the formula, the Archimedes spiral surface is the normal spiral surface that changes the lower height parameter.
#http://202.113.29.3/nankaisource/graphics/differential%20geometry/t060307.htm#http://www.bb.ustc.edu.cn/jpkc/xiaoji/wjf/kj/vertices = D1:100 D2:360u = from 0 to (2) D1v = from 0 to (8*PI) D2x = -u/SQRT2*cos(v)y = u/SQRT2 + v/PI/2z = -u/SQRT2*sin(v)
(4) sincos spiral surface
vertices = D1:720 D2:72p = from 0 to (8*PI) D1q = from 0 to (PI) D2a = 5h = rand2(0.5, 5)x = a/2*(cos(p) + cos(q))y = h*(p + q)/2z = a/2*(sin(p) + sin(q))u = pv = q*3
(5) gradually open the spiral surface
#http://202.113.29.3/nankaisource/graphics/differential%20geometry/t060306.htm#http://www.bb.ustc.edu.cn/jpkc/xiaoji/wjf/kj/vertices = D1:100 D2:360u = from 0 to (4*PI) D1v = from 0 to (8*PI) D2x = 2*[cos(u+v) + u*sin(u+v)]y = vz = 2*[sin(u+v) - u*cos(u+v)]
(6) hyperbolic sine spiral surface
vertices = D1:360 D2:72u = from 0 to (5*PI) D1v = from 0 to (4*PI) D2a = 5h = rand2(5, 20)x = a*sh(u - v)*cos(u+v)y = h*(u + v)z = a*sh(u - v)*sin(u+v)w = 50x = limit(x, -w, w)z = limit(z, -w, w)
(7) developable Helicoid
#http://www.mathcurve.com/surfaces/helicoiddeveloppable/helicoiddeveloppable.shtmlvertices = dimension1:1000 dimension2:72u = from 0 to (18*PI) dimension1v = from 0 to (2*PI) dimension2a = rand2(1, 10)b = rand2(1, 10)x = a*(cos(u) - v*sin(u))z = a*(sin(u) + v*cos(u))y = b*(u + v)
(8) helicoid_wiki
A spiral surface found on the Wiki:
#http://en.wikipedia.org/wiki/Catenoidvertices = D1:400 D2:100u = from (0) to (PI*16) D1v = from (0) to (4) D2t = rand2(-PI, PI)s = sin(t)c = cos(t)x = c*sinh(v)*sin(u) + s*cosh(v)*cos(u)z = u*c + v*sy = -c*sinh(v)*cos(u) + s*cosh(v)*sin(u)
(9) helicoidcercle
#http://www.mathcurve.com/surfaces/helicoidcercle/helicoidcercle.shtmlvertices = D1:72 D2:1200u = from 0 to (PI) D1v = from 0 to (36*PI) D2a = 1h = 1/(2*PI)x = a*cos(u)*cos(v)z = a*cos(u)*sin(v)y = b*sin(u) + h*v
Return to the first script. The method in the positive spiral is as follows:
"Then let the L side of the straight line rotate at a uniform speed around the Z axis, while the side moves at a uniform speed along the Z axis"
What kind of surface will be generated if one side of a curve rotates at a constant speed around the Z axis and one side moves at a constant speed along the Z axis?
In this way, each curve can generate a spiral surface.
Here are two examples:
(10) power spiral surface
vertices = D1:32 D2:360u = from 0 to 2 D1v = from 0 to (8*PI) D2a = rand2(-2, 2)w = pow(u, a)x = u*cos(v)y = v*0.5 + wz = u*sin(v)
(11) refers to the spiral surface
vertices = D1:32 D2:360u = from 0 to 2 D1v = from 0 to (8*PI) D2a = rand2(0, 2)w = pow(a, u)x = u*cos(v)y = v*0.5 + wz = u*sin(v)