> restart: with(plots): with(plottools): > x:=3*cos(Pi*t)+1/(1+10*t^2): > y:=2*sin(Pi*t)*(1-t^2)^5: > r:=0.5*(1+sin(Pi*t/2)*sqrt(1-t^2)): > bal :=tubeplot([x,y,0],t=-1..-0.8, > radius=r,numpoints=5,tubepoints=13, > scaling=CONSTRAINED, > orientation=[-160,70]): > jobb:=tubeplot([x,y,0],t=-0.8..1, > radius=r,numpoints=37,tubepoints=13, > scaling=CONSTRAINED, > orientation=[-120,60]): > display(bal,jobb); > vrml(display(bal,jobb),`kancso.wrl`, > background_color=COLOR(RGB,0,1,1), shininess=0.3, specular_color=COLOR(RGB,1,1,1)): > vrml(display(bal,jobb,color=YELLOW,style=PATCH), > `kancso2.wrl`,background_color=COLOR(RGB,0,0,1), shininess=0.5, specular_color=COLOR(RGB,1,1,1)): > midpoint := proc(x) > local v, n, g, i; > v := [op(x),x[1] ]; n := nops( x ); > g := ( a, b) -> 1/2*( a + b ) : > [ seq( g( v[i], v[i+1] ), i=1..n)]; > end: rbal :=convert( op(1,bal),POLYGONS): rjobb:=convert( op(1,jobb),POLYGONS): display({map( midpoint, rbal), map( midpoint,rjobb)},scaling=constrained, style=patchnogrid); > vrml(display({map( midpoint, rbal), > map( midpoint,rjobb)}),`rkancso.wrl`, > background_color=COLOR(RGB,0.3,0.3,0.3), shininess=0.5): > vrml(display({map( midpoint, rbal), > map( midpoint,rjobb)},color=YELLOW,style=PATCH),`rkancso2.wrl`, > shininess=0.5,specular_color=COLOR(RGB,1,1,1),background_color=COLOR(RGB,0,1,1)): >