Airplane

Example from the PscFunctions package

With the help of procedures of the package you can obtain general parametric equations of continuous piecewise linear surfaces.
Here we shall create the equation of a piecewise linear surface having the shape of the airplane.
At first we generate equations of the curves of the surface frame. For that we use the routine
PR(x,a,w)  that    is equivalent to expression   1/(2*w)   {w+abs(x-a)-abs(x-a-w)} .

>    restart;
with(PscFunctions):
ff:=t->3*PR(t,0,3)+3*PR(t,14,3)+3*PR(t,20,3)+3*PR(t,34,3):
xc:=t->sin(2*Pi*ff(t)/12):
yc:=t->-cos(2*Pi*ff(t)/12):
xa1:=t->sin(2*Pi*PR(t,0,3)/4)+5*PR(t,3,5)-5*PR(t,9,5)+cos(2*Pi*PR(t,14,3)/4)+cos(2*Pi*PR(t,20,3)/4+Pi/2)-1-5*PR(t,23,5)+5*PR(t,29,5)+cos(2*Pi*PR(t,34,3)/4+Pi)+1:
ya1:=t->-cos(2*Pi*PR(t,0,3)/4)+sin(2*Pi*PR(t,14,3)/4)+sin(2*Pi*PR(t,20,3)/4+Pi/2)-1+sin(2*Pi*PR(t,34,3)/4+Pi):
a:=1/10:
xa2:=t->sin(2*Pi*PR(t,0,3-a)/4)+5*PR(t,3,5)-5*PR(t,9,5)+cos(2*Pi*PR(t,14,3)/4)+cos(2*Pi*PR(t,20,3)/4+Pi/2)-1-5*PR(t,23,5)+5*PR(t,29,5)+cos(2*Pi*PR(t,34,3)/4+Pi)+1:
ya2:=t->-cos(2*Pi*PR(t,0,3-a)/4)+1/3*PR(t,8,1)+sin(2*Pi*PR(t,14,3)/4)+sin(2*Pi*PR(t,20,3)/4+Pi/2)-1-1/3*PR(t,28,1)+sin(2*Pi*PR(t,34,3)/4+Pi):
r:=1/2:
xr1:=t->r*sin(2*Pi*PR(t,0,3)/4)+2*PR(t,3,2)-2*PR(t,12,2)+r*cos(2*Pi*PR(t,14,3)/4)+r*cos(2*Pi*PR(t,20,3)/4+Pi/2)-r-2*PR(t,23,2)+2*PR(t,32,2)+r*cos(2*Pi*PR(t,34,3)/4+Pi)+r:
yr1:=t->-r*cos(2*Pi*PR(t,0,3)/4)+r*sin(2*Pi*PR(t,14,3)/4)+PR(t,17,1)-PR(t,19,1)+r*sin(2*Pi*PR(t,20,3)/4+Pi/2)-r+r*sin(2*Pi*PR(t,34,3)/4+Pi):
plots[spacecurve]({[0,0,0],[1,0.7*xc(t),0.7*yc(t)],[3,xc(t),yc(t)],[3,xa1(t),ya1(t)],[4,xa2(t),ya2(t)],[5,xa1(t),ya1(t)],[5,xc(t),yc(t)],[9,0.5*xc(t),0.5*yc(t)],[10,t0.5*xc(t),0.5*yc(t)],[10,xr1(t),yr1(t)],[11,xr1(t),yr1(t)]},t=0..37,thickness=2,scaling=constrained,axes=BOXED,labels=["X","Y","Z"],color=BLACK);

[Maple Plot]

The SPscRuled  routine   generates a parametric equation of the piecewise-ruled  surface spanned the frame composed of the several curves

>    rl1:=SPscRuled([[t->0,t->0,t->0],[t->1,t->0.7*xc(t),t->0.7*yc(t)],[t->3,t->xc(t),t->yc(t)],[t->3,xa1,ya1],[t->4,xa2,ya2],[t->5,xa1,ya1],[t->5,xc,yc],[t->9,t->0.5*xc(t),t->0.5*yc(t)],[t->10,t->0.5*xc(t),t->0.5*yc(t)],[t->10,xr1,yr1],[t->11,xr1,yr1]],[[0,37],[0,37],[0,37],[0,37],[0,37],[0,37],[0,37],[0,37],[0,37],[0,37],[0,37]],0..37):
plot3d([rl1(u,v)],u=0..37,v=0..10,axes=BOXED,labels=["X","Y","Z"],scaling=CONSTRAINED,grid=[38,21],orientation=[110,50]);

[Maple Plot]

>    'X'=rl1[1](u,v);

X = 11/2+1/2*abs(v)+1/2*abs(v-1)-abs(v-2)+1/2*abs(v-3)-1/2*abs(v-5)+2*abs(v-6)-3/2*abs(v-7)-1/2*abs(v-8)+1/2*abs(v-9)-1/2*abs(v-10)

The Y and Z coordinate functions certainly long. Each of them has length about 80 strings.