POV-Ray : Newsgroups : povray.advanced-users : difficult questions (for me anyway) Server Time
30 Jul 2024 10:22:26 EDT (-0400)
  difficult questions (for me anyway) (Message 3 to 12 of 22)  
<<< Previous 2 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Nieminen Juha
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 12:19:55
Message: <38c68bbb@news.povray.org>
Lars Luthman <no### [at] spamse> wrote:
: #declare R = rand();
: rotate <0, R, 0>

: Then you can calculate the new endpoint using sin() and cos().

  Or more easier with vrotate().


-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Mick Hazelgrove
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 13:13:23
Message: <38c69843@news.povray.org>
>   Or more easier with vrotate().


Please explain, for me and for other maths disadvantaged pov users!

--
*************************************************************
       http://www.minda.swinternet.co.uk/index.htm

*************************************************************


Post a reply to this message

From: mr art
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 13:38:06
Message: <38C69E24.E80E6439@gci.net>
From the docs:

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.


A contains a point reference
B contains a rotation reference.
The function vrotate(A,B) returns the new point reference 
if you rotate point A by rotation B.

i.e. point{<0,0,0> translate A rotate B}

I know that there is no object called point{ <location>
[OBJECT_MODIFIERS...] }
but it does help to use it in this way with translate and rotate .

Mick Hazelgrove wrote:
> 
> >   Or more easier with vrotate().
> 
> Please explain, for me and for other maths disadvantaged pov users!
> 
> --
> *************************************************************
>        http://www.minda.swinternet.co.uk/index.htm
> 
> *************************************************************

-- 
Mr. Art

"Often the appearance of reality is more important 
than the reality of the appearance."
Bill DeWitt 2000


Post a reply to this message

From: Mick Hazelgrove
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 14:07:53
Message: <38c6a509@news.povray.org>
Thanks everybody, problem solved.

Mick

--
*************************************************************
       http://www.minda.swinternet.co.uk/index.htm

*************************************************************
"mr.art" <mr.### [at] gcinet> wrote in message news:38C69E24.E80E6439@gci.net...
> From the docs:
>
> 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.
>
>
> A contains a point reference
> B contains a rotation reference.
> The function vrotate(A,B) returns the new point reference
> if you rotate point A by rotation B.
>
> i.e. point{<0,0,0> translate A rotate B}
>
> I know that there is no object called point{ <location>
> [OBJECT_MODIFIERS...] }
> but it does help to use it in this way with translate and rotate .
>
> Mick Hazelgrove wrote:
> >
> > >   Or more easier with vrotate().
> >
> > Please explain, for me and for other maths disadvantaged pov users!
> >
> > --
> > *************************************************************
> >        http://www.minda.swinternet.co.uk/index.htm
> >
> > *************************************************************
>
> --
> Mr. Art
>
> "Often the appearance of reality is more important
> than the reality of the appearance."
> Bill DeWitt 2000


Post a reply to this message

From: Mike Williams
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 15:20:01
Message: <pwldTMAYWrx4EwnE@econym.demon.co.uk>
Wasn't it Mick Hazelgrove who wrote:

>I make a second cylinder from this point to x*2 and rotate it
>randomly - does it rotate around zero or around the end point of cylinder
>one? If it rotates around zero how can I make it rotate around the end of
>cylinder one? do I have to translate it to zero, then rotate it, then
>translate it to the end of cylinder one?

You can get it to behave either way. You just have to configure things
right. If you want cylinder 2 to rotate about the end of cylinder 1,
then define them something like this:-


#declare Forearm = cylinder {0,x,...
  rotate <...>  // elbow
}

#declare WholeArm = union {
  cylinder {0,x,...}
  object {Forearm translate x}
  rotate <...>  // shoulder
}

The rotate instruction attached to Forearm rotates it about the elbow,
and the rotate instruction attached to WholeArm rotates the whole arm
about the shoulder keeping the elbow joint connected.

In general, the trick is to create the objects with the rotation point
at zero, apply the rotation, then perform the translation to where you
really want them later. In this way you can keep adding more sections to
the hierarchy and they'll all hang together and rotate correctly about
the joints you create.

-- 
Mike Williams * ##
Gentleman of Leisure


Post a reply to this message

From: David Fontaine
Subject: Re: difficult questions (for me anyway)
Date: 8 Mar 2000 23:38:18
Message: <38C729F2.FF588583@faricy.net>
Mick Hazelgrove wrote:

> I've two questions:
>
> I have a cylinder from 0 to x*1, rotate it randomly around the y axis. Can I
> find the xyz values of the end point that was x*1?

cylinder { <0,0,0>,<1,0,0>,n rotate bla*y } //correct?
then the end point will be <sin(bla),0,cos(bla)>

> If so: I make a second cylinder from this point to x*2 and rotate it
> randomly - does it rotate around zero or around the end point of cylinder
> one? If it rotates around zero how can I make it rotate around the end of
> cylinder one? do I have to translate it to zero, then rotate it, then
> translate it to the end of cylinder one?

Unfortunately, yes. Maybe I should add arbitrary origin to those macros... :-)

--
___     _______________________________________________
 | \     |_          <dav### [at] faricynet> <ICQ 55354965>
 |_/avid |ontaine        http://www.faricy.net/~davidf/

"The only difference between me and a madman is that I'm not mad." -Dali


Post a reply to this message

From: Nieminen Juha
Subject: Re: difficult questions (for me anyway)
Date: 9 Mar 2000 03:17:10
Message: <38c75e06@news.povray.org>
Mick Hazelgrove <mha### [at] mindaswinternetcouk> wrote:
: Please explain, for me and for other maths disadvantaged pov users!

  As mr. art said, there's this thing called "documentation". Ever heard
about it?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Ken
Subject: Re: difficult questions (for me anyway)
Date: 9 Mar 2000 03:27:47
Message: <38C7611A.C08BD85@pacbell.net>
Nieminen Juha wrote:
> 
> Mick Hazelgrove <mha### [at] mindaswinternetcouk> wrote:
> : Please explain, for me and for other maths disadvantaged pov users!
> 
>   As mr. art said, there's this thing called "documentation". Ever heard
> about it?

I have but without the proper educational background there are times it
makes absolutely no sense what so ever. An example is sometimes worth
1000 documented words. If a person had understood the original explaination
they would not have asked for clarification. What is easy for you may be
difficult for others. Not every thing in POV-Ray is inherently obvious
or intuitive. We are here to help not criticize. Dare to teach so that
others may learn. Patients is a virtue. Lead by example. Give till it
hurts.

-- 
Ken Tyler -  1300+ Povray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Marc Schimmler
Subject: Re: difficult questions (for me anyway)
Date: 9 Mar 2000 04:40:35
Message: <38C77193.C429545C@ica.uni-stuttgart.de>
Ken wrote:
> 
> I have but without the proper educational background there are times it
> makes absolutely no sense what so ever. An example is sometimes worth
> 1000 documented words. If a person had understood the original explaination
> they would not have asked for clarification. What is easy for you may be
> difficult for others. Not every thing in POV-Ray is inherently obvious
> or intuitive. We are here to help not criticize. Dare to teach so that
> others may learn. Patients is a virtue. Lead by example. Give till it
> hurts.
> 

The virtues of a noble POVer ... I wonder if you have sworn an oath for
it.

:-)

Thank you Ken!  I really mean it.

Marc


-- 
Marc Schimmler


Post a reply to this message

From: Chris Huff
Subject: Re: difficult questions (for me anyway)
Date: 9 Mar 2000 04:54:49
Message: <chrishuff_99-543B15.04563509032000@news.povray.org>
In article <38C729F2.FF588583@faricy.net>, David Fontaine 
<dav### [at] faricynet> wrote:

> cylinder { <0,0,0>,<1,0,0>,n rotate bla*y } //correct?
> then the end point will be <sin(bla),0,cos(bla)>

I prefer:
cylinder { <0,0,0>,<1,0,0>,n rotate bla*y}
The end point will be vrotate(<1,0,0>, bla*y)

Note that your solution should be <sin(degrees(bla)), 0, 
cos(degrees(bla))>, unless you specify your angles in radians. But 
vrotate works for any rotation, instead of just a rotation around an 
axis, so I would recommend you use it. It also makes your code easier to 
figure out when you come back to it after abandoning it for a week.

-- 
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/


Post a reply to this message

<<< Previous 2 Messages Goto Latest 10 Messages Next 10 Messages >>>

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