ROTATELN

Rotates a point distribution (specified by ifirst,ilast,istride) about a line. The copy option allows the user to make a copy of the original points as well as the rotated points, while nocopy just keeps the rotated points themselves. The line of rotation defined by x1 through z2 needs to be defined such that the endpoints extend beyond the point distribution being rotated. theta (in degrees) is the angle of rotation whose positive direction is determined by the right-hand-rule, that is, if the thumb of your right hand points in the direction of the line (1 to 2), then your fingers will curl in the direction of rotation. xcen,ycen,zcen is the point where the line can be shifted to before rotation takes place.

If the copy option is chosen, the new points will have only coordinate values (xic, yic, zic); no values will be set for any other mesh object attribute for these points. Note:  The end points of the  line segment must extend well beyond the point set being rotated.

FORMAT:

rotateln /ifirst,ilast,istride/ [no] copy / x1,y1,z1/x2,y2,z2/theta/xcen,ycen,zcen/

 

EXAMPLE:

cmo/create/3dmesh

surface/box1/reflect /box/-1.0,-1.0,0.0/ 1.0, 1.0, 1.0/

surface/h1/intrface /cylinder/ 0.5, -1.,0.5/ 0.5, 1.0, 0.5/.1/

region/H1/ le box1 and le h1 /

region/Fill/ le box1 and gt h1 /

mregion/Air/ le box1 and lt h1 /

mregion/Solid/Fill

createpts/xyz/11,11,1/-1.,-1.,1.1/1.0,1.0,1.1/,1,1,0/

pset/rays/seq/1,0,0/

regnpts/Fill/11/pset,get,rays/xyz/ 0.0,0.0,-0.1/1.0,1.0,-0.1/ &

0.0,1.0,-0.1/0,0/

createpts/rtz/1,13,11/5.,0.,-1./5.,360.,1./0,1,1/0,0,0/

pset/ray1/seq/0,0,0/

rotateln/pset,get,ray1/nocopy/-100.,0.,0./100.,0.,0./-90./0.,0.,0./

trans/pset,get,ray1/0.,0.,0./0.5,0.,0.5/

regnpts/H1/3/pset,get,ray1/rtz/0.5,-1.1,0.5/0.5,1.1,0.5/0,0/

filter/1,0,0/

cmo/setatt//itp1/pset,get,rays/21

cmo/setatt//itp1/pset,get,ray1/21

setpts

connect

settets

dump/gmv/gmv.cylrot/3dmesh

finish [click here for image](image/cylrot.gif”>