|
|
Nope that won't do it. VRotation and VRotationD return the angle I need the
point. Allow me to illustrate.
cylinder{
<0,0,0>,<5,0,0>,1
rotate <0,40+clock*50,0>
}
I need to know where the ends of the cylinder are after the rotation.
However now that you pointed me tword those functions I can see that vrotate
will help.
Thanks,
Rob
"gonzo" <rgo### [at] lansetcom> wrote in message
news:web.3e42d27c3d6c529a0c272b50@news.povray.org...
> Rob wrote:
> >Ok, I have this problem where I have a couple cylinders that get rotated
and
> >moved durring an animation. What I need to do is find the ends of the
> >cylinders after the transforms so I can use them as a reference for
another
> >object. I have no clue where to start on this and I'd appreciate any
help.
> >
> >Thanks in advance,
> > Rob
> >
>
> I had a similar problem stringing some telephone wires on poles that were
> randomly moved and rotated in a loop. Look in the docs: 7.9.2 Vector
> functions and macros, look up VRotation & VRotationD.
>
> Worked great for me.
>
> RG
>
Post a reply to this message
|
|
|
|
Rob <avi### [at] prairielakescom> wrote:
> Nope that won't do it. VRotation and VRotationD return the angle
Which angle? Where did you get this impression?
By the way, the vtransform() macro is a more generic vector transformation.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
|
|
|
> Which angle? Where did you get this impression?
VRotation(V1, V2, Axis), VRotationD(V1, V2, Axis).Compute the rotation angle
from V1 to V2 around Axis. Axis should be perpendicular to both V1 and V2.
The output will be in the range between -pi and pi radians or between -180
degrees and 180 degrees if you are using the degree version.
as I said you may have ment VRotate in any case that's what I needed.
vrotate(A,B) Rotate A about origin by B. Given the x,y,z coordinates of a
point in space designated by the vector A, rotate that point about the
origin by an amount specified by the vector B. Rotate it about the x-axis by
an angle specified in degrees by the float value B.x. Similarly B.y and B.z
specify the amount to rotate in degrees about the y-axis and z-axis. The
result is a vector containing the new x,y,z coordinates of the point.
Here's some code that should explain what I needed to do (specifically the
last object the polygon). However my project actually consisted of 16
cylinders.
#declare Cyl1_End1 = <0,0,0>;
#declare Cyl1_End2 = <5,0,0>;
#declare Cyl1_Location = <2,2,-3>;
#declare Cyl1_Rotation = <0,45 + (45 * clock),0>
#declare Cyl2_End1 = <0,0,0>;
#declare Cyl2_End2 = <5,0,0>;
#declare Cyl2_Location = <1,2,-3>;
#declare Cyl2_Rotation = <0,45 + (30 * clock),0>
cylinder{Cyl1_End1,Cyl1_End2,0.3
texture{pigment{color Red}}
rotate Cyl1_Rotation
translate Cyl1_Location
}
cylinder{Cyl2_End1,Cyl2_End2,0.3
texture{pigment{color Red}}
rotate Cyl2_Rotation
translate Cyl2_Location
}
#declare Poly_P1 = vrotate(Cyl1_End1,Cyl1_Rotation) + Cyl1_Location;
#declare Poly_P1 = vrotate(Cyl1_End2,Cyl1_Rotation) + Cyl1_Location;
#declare Poly_P1 = vrotate(Cyl2_End2,Cyl2_Rotation) + Cyl2_Location;
#declare Poly_P1 = vrotate(Cyl2_End1,Cyl2_Rotation) + Cyl2_Location;
polygon{
4,Poly_P1,Poly_P2,Poly_P3,Poly_P4
texture{pigment{color White}}
}
"Warp" <war### [at] tagpovrayorg> wrote in message
news:3e42ebd7@news.povray.org...
> Rob <avi### [at] prairielakescom> wrote:
> > Nope that won't do it. VRotation and VRotationD return the angle
>
> Which angle? Where did you get this impression?
>
> By the way, the vtransform() macro is a more generic vector
transformation.
>
> --
> #macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb
x]
> [1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
> -1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// -
Warp -
Post a reply to this message
|
|