POV-Ray : Newsgroups : povray.text.tutorials : Rotating repeating objects Server Time
4 May 2024 18:25:59 EDT (-0400)
  Rotating repeating objects (Message 1 to 2 of 2)  
From: Rick
Subject: Rotating repeating objects
Date: 29 Apr 1999 11:23:20
Message: <37286b58.0@news.povray.org>
I am working on a project that has two grids of items (250 each) that
extend to the horizon in each direction. I would like to tilt the plane of
the objects, or possibly two of the planes but I'm having trouble figuring
out how to do it. Here is the #while/#end loop I'm currently using:

#declare xcount=0;
#while (xcount < 50)
        #declare zcount=0;
        #while (zcount < 50)
                object {UpperRow translate x*xcount + z*zcount}//Ahead
				object {UpperRow translate x*xcount -
z*zcount}//Behind
                object {LowerRow translate x*xcount + z*zcount}
				object {LowerRow translate x*xcount -
z*zcount}
                #declare zcount=zcount+1;
        #end
        #declare xcount=xcount+1;
#end

     So, would the easiest way be to induce some incremental translation
in (for instance) the Y axis, or can I somehow rotate this whole thing as
a group? The latter would be the neatest way because I've run into this
situation before and it's fairly common; it would be nice to just turn the
whole grid as one object (or two, in this case).

     Thanks,

     RA


Post a reply to this message

From: Bob Hughes
Subject: Re: Rotating repeating objects
Date: 29 Apr 1999 12:38:25
Message: <37287CB5.7925C54@aol.com>
Here's a possibility:

//BEGIN
#declare xcount=0;
union {
#while (xcount < 50)
        #declare zcount=0;
        union {
        #while (zcount < 50)
                object {UpperRow translate x*xcount + z*zcount}//Ahead
                                object {UpperRow translate x*xcount -
z*zcount}//Behind
                object {LowerRow translate x*xcount + z*zcount}
                                object {LowerRow translate x*xcount - z*zcount}
                #declare zcount=zcount+1;
        #end
   rotate ? //you could rotate the "z" group here
        } //end second union
        #declare xcount=xcount+1;
#end
   rotate ? //you could rotate both the "x" and "z" groups here
} //end first union
//END

As you can see this can not rotate the "x" group independantly. However the "z" group
can
be, although this would mean a incremental amount each time the loop goes out to "x"
again. Leave the rotate out of the "z" group and use just the "z" rotate to move all
together.
This should be right, I did not try it.


Rick, Adams wrote:
> 
>      I am working on a project that has two grids of items (250 each) that
> extend to the horizon in each direction. I would like to tilt the plane of
> the objects, or possibly two of the planes but I'm having trouble figuring
> out how to do it. Here is the #while/#end loop I'm currently using:
> 
> #declare xcount=0;
> #while (xcount < 50)
>         #declare zcount=0;
>         #while (zcount < 50)
>                 object {UpperRow translate x*xcount + z*zcount}//Ahead
>                                 object {UpperRow translate x*xcount -
> z*zcount}//Behind
>                 object {LowerRow translate x*xcount + z*zcount}
>                                 object {LowerRow translate x*xcount -
> z*zcount}
>                 #declare zcount=zcount+1;
>         #end
>         #declare xcount=xcount+1;
> #end
> 
>      So, would the easiest way be to induce some incremental translation
> in (for instance) the Y axis, or can I somehow rotate this whole thing as
> a group? The latter would be the neatest way because I've run into this
> situation before and it's fairly common; it would be nice to just turn the
> whole grid as one object (or two, in this case).
> 
>      Thanks,
> 
>      RA

-- 
 omniVERSE: beyond the universe
  http://members.aol.com/inversez/homepage.htm
 mailto:inv### [at] aolcom?Subject=PoV-News


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.