Once you have opened a Maxima session, load package draw and then set global variable draw_renderer to vtk:
load("draw") $ draw_renderer: 'vtk $
The surface of a shell is the result of the displacement of an ellipse along an helico-spiral curve. The mathematical model used here is explained in this paper.
h(a,b,s):= 1/sqrt((cos(s)/a)^2+(sin(s)/b)^2) $ x(d,A,beta,phi,omega,mu,alpha,a,b,theta,s):= d*(A*sin(beta) * cos(theta) + h(a,b,s) * ( cos(s+phi)*cos(theta+omega) - sin(mu)*sin(s+phi)*sin(theta+omega) )) * exp(theta*cot(alpha))$ y(A,beta,phi,omega,mu,alpha,a,b,theta,s):= (-A*sin(beta)*sin(theta)- h(a,b,s) * ( cos(s+phi)*sin(theta+omega) + sin(mu)*sin(s+phi)*cos(theta+omega) )) * exp(theta*cot(alpha))$ z(A,beta,phi,mu,alpha,a,b,theta,s):= (-A*cos(beta) + h(a,b,s)*sin(s+phi)*cos(mu)) * exp(theta*cot(alpha))$ degree: %pi/180$ shell(d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax) := [background_color = navy, axis_3d = false, color = white, xu_grid = 250, yv_grid = 50, parametric_surface( x(d,A,beta,phi,omega,mu,alpha,a,b,theta,s), y(A,beta,phi,omega,mu,alpha,a,b,theta,s), z(A,beta,phi,mu,alpha,a,b,theta,s), theta, thetamin, thetamax, s, smin , smax)] $
Glycimeris glycimeris (Linnaeus, 1767).
(alpha:37*degree, beta:90*degree, phi:0*degree, mu:1*degree, omega:1*degree, A:2, a:2, b:2.1, d:1, thetamin:0*%pi, thetamax:8*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)))$
Origin: Galician coast.
Barnea candida (Linnaeus, 1758).
(alpha:39*degree, beta:50*degree, phi:0*degree, mu:1*degree, omega:1*degree, A:9000, a:6500, b:17000, d:1, thetamin:0*%pi, thetamax:8*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Galician coast.
Turritella communis (Risso, 1824).
(alpha:88.9*degree, beta:4*degree, phi:55*degree, mu:1*degree, omega:-2*degree, A:22.2, a:1.3, b:1.5, d:1, thetamin:0*%pi, thetamax:25*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Galician coast.
Nucella lapillus (Linnaeus, 1758).
(alpha:86*degree, beta:11*degree, phi:-22*degree, mu:0*degree, omega:24*degree, A:95, a:20, b:35, d:1, thetamin:-8*%pi, thetamax:4*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Galician coast.
Dentalium vulgare (Da Costa, 1778).
(alpha:17*degree, beta:80*degree, phi:-30*degree, mu:1*degree, omega:-60*degree, A:5, a:0.4, b:0.4, d:1, thetamin:-4*%pi, thetamax:4*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Galician coast.
Spirula spirula (Linnaeus, 1758).
(alpha:78*degree, beta:90*degree, phi:1*degree, mu:1*degree, omega:1*degree, A:2.1, a:0.7, b:0.7, d:1, thetamin:0*%pi, thetamax:4*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Galician coast.
Nautilus sp.
(alpha:80*degree, beta:90*degree, phi:0*degree, mu:0*degree, omega:0*degree, A:2, a:2, b:1.5, d:1, thetamin:0*%pi, thetamax:8*%pi, smin:0, smax:2*%pi, draw3d( shell( d,A,beta,phi,omega,mu,alpha,a,b,thetamin,thetamax,smin,smax)) )$
Origin: Pacific Ocean.
© 2016, TecnoStats.