POV-Ray : Newsgroups : povray.binaries.images : Not a Sphere (91K) Server Time
17 Aug 2024 16:11:01 EDT (-0400)
  Not a Sphere (91K) (Message 5 to 14 of 14)  
<<< Previous 4 Messages Goto Initial 10 Messages
From: Nekar Xenos
Subject: Re: Not a Sphere (91K) - Image here
Date: 2 Oct 2001 01:41:39
Message: <3bb95393@news.povray.org>
That's a very nice notasphere :)

- Nekar
"Rick [Kitty5]" <ric### [at] kitty5com> wrote in message
news:3bb8f4e4@news.povray.org...
> nice
>
> decoded image attached..
>
>
> --
> Rick
>
> Kitty5 WebDesign - http://Kitty5.com
> POV-Ray News & Resources - http://Povray.co.uk
> TEL : +44 (01270) 501101 - FAX : +44 (01270) 251105 - ICQ : 15776037
>
> PGP Public Key
> http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x231E1CEA
>
>
>


Post a reply to this message

From: Michael Andrews
Subject: Re: Not a Sphere (91K)
Date: 2 Oct 2001 10:46:53
Message: <3BB9D505.ADD729D7@reading.ac.uk>
Zebu wrote:
> 
> Content-Transfer-Encoding: 8Bit
> 
> Found an interesting shape while trying to make a sphere...
> 
> If there's a math guru out there who knows how to translate this code to
> 
> make a sphere, don't hesitate  :-)
> 

Well, you could try the Pack_Sphere macro that I posted on p.t.s-f in
the 'Point distribution on a spherical shell' thread ...

Bye for now,
	Mike Andrews.


Post a reply to this message

From: Arie L  Stavchansky
Subject: Re: Not a Sphere (91K)
Date: 9 Oct 2001 18:16:44
Message: <B7E8EF8C.BAD%naturallydigital@hotmail.com>
Hi there,

I know it is alot to ask, but can you please explain this code and algorithm
in English?  I don't have a very strong math background and would like to
understand how it is done.  This is amazing stuff!

in article 3BB8FCF6.CF0A4C7F@hotmail.com, Tor Olav Kristensen at
tor### [at] hotmailcom wrote on 10/1/01 7.32 PM:

> 
> Lovely shape !
> 
> Here's a way to make a sphere with your boxes:
> 
> #version 3.1;
> 
> #include "colors.inc"
> #include "golds.inc"
> 
> #declare Cx = -pi;
> #declare Step = pi/30;
> #while(Cx < pi)
> #declare Cy = -pi;
> #while(Cy < pi)
> box {
> -<1, 1, 1>, <1, 1, 1>
> scale 0.04
> translate -y
> rotate <degrees(Cx), degrees(Cy), 0>
> texture { T_Gold_3C }
> }
> #declare Cy = Cy + Step;
> #end // while
> #declare Cx = Cx + Step;
> #end // while
> 
> light_source { <-2, 1, -2> color White }
> 
> background { color Blue/2 }
> 
> camera {
> location -3*z
> look_at <0, 0, 0>
> }
> 
> 
> Tor Olav
> 
> 
> Zebu wrote:
>> 
>> Content-Transfer-Encoding: 8Bit
>> 
>> Found an interesting shape while trying to make a sphere...
>> 
>> If there's a math guru out there who knows how to translate this code to
>> 
>> make a sphere, don't hesitate  :-)
>> 
>> #declare Cx=-pi;
>> 
>> #declare Step=pi/30;
>> 
>> #while(Cx<pi)
>> 
>> #declare Cy=-pi;
>> 
>> #while(Cy<pi)
>> 
>> box {<-.04,-.04,-.04>,<.04,.04,.04>
>> 
>> texture { T_Gold_3C }
>> 
>> rotate <degrees(Cx),degrees(Cy),00>
>> 
>> translate <sin(Cx),cos(Cx)*(abs(Step-Cy))/2,sin(Cy)> }
>> 
>> #declare Cy=Cy+Step;
>> 
>> #end
>> 
>> #declare Cx=Cx+Step;
>> 
>> #end


Post a reply to this message

From: Bill DeWitt
Subject: Re: Not a Sphere (91K)
Date: 9 Oct 2001 18:27:15
Message: <3bc379c3$1@news.povray.org>
RTFM

    The short version is this.
"#declare Cx" means create a variable
"#while" means start a conditional loop
"box" means make a box at the location set up by the math
"#declare Cx = CX + Step" increments the variable
"#end" sends it back to the #while until the condition is fulfilled

    Everything else is gravy.



"Arie L. Stavchansky" <nat### [at] hotmailcom> wrote in message
news:B7E8EF8C.BAD%nat### [at] hotmailcom...
> Hi there,
>
> I know it is alot to ask, but can you please explain this code and
algorithm
> in English?  I don't have a very strong math background and would like to
> understand how it is done.  This is amazing stuff!
>
> in article 3BB8FCF6.CF0A4C7F@hotmail.com, Tor Olav Kristensen at
> tor### [at] hotmailcom wrote on 10/1/01 7.32 PM:
>
> >
> > Lovely shape !
> >
> > Here's a way to make a sphere with your boxes:
> >
> > #version 3.1;
> >
> > #include "colors.inc"
> > #include "golds.inc"
> >
> > #declare Cx = -pi;
> > #declare Step = pi/30;
> > #while(Cx < pi)
> > #declare Cy = -pi;
> > #while(Cy < pi)
> > box {
> > -<1, 1, 1>, <1, 1, 1>
> > scale 0.04
> > translate -y
> > rotate <degrees(Cx), degrees(Cy), 0>
> > texture { T_Gold_3C }
> > }
> > #declare Cy = Cy + Step;
> > #end // while
> > #declare Cx = Cx + Step;
> > #end // while
> >
> > light_source { <-2, 1, -2> color White }
> >
> > background { color Blue/2 }
> >
> > camera {
> > location -3*z
> > look_at <0, 0, 0>
> > }
> >
> >
> > Tor Olav
> >
> >
> > Zebu wrote:
> >>
> >> Content-Transfer-Encoding: 8Bit
> >>
> >> Found an interesting shape while trying to make a sphere...
> >>
> >> If there's a math guru out there who knows how to translate this code
to
> >>
> >> make a sphere, don't hesitate  :-)
> >>
> >> #declare Cx=-pi;
> >>
> >> #declare Step=pi/30;
> >>
> >> #while(Cx<pi)
> >>
> >> #declare Cy=-pi;
> >>
> >> #while(Cy<pi)
> >>
> >> box {<-.04,-.04,-.04>,<.04,.04,.04>
> >>
> >> texture { T_Gold_3C }
> >>
> >> rotate <degrees(Cx),degrees(Cy),00>
> >>
> >> translate <sin(Cx),cos(Cx)*(abs(Step-Cy))/2,sin(Cy)> }
> >>
> >> #declare Cy=Cy+Step;
> >>
> >> #end
> >>
> >> #declare Cx=Cx+Step;
> >>
> >> #end
>


Post a reply to this message

From: David Fontaine
Subject: Re: Not a Sphere (91K) - Image here
Date: 11 Oct 2001 21:44:12
Message: <3BC64BC6.6413AD8A@faricy.net>
Very cool!

-- 
David Fontaine  <dav### [at] faricynet>  ICQ 55354965
My raytracing gallery:  http://davidf.faricy.net/


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Not a Sphere (91K)
Date: 14 Oct 2001 18:07:11
Message: <3BCA0C4D.3FA79EFC@hotmail.com>
"Arie L. Stavchansky" wrote:
> 
> Hi there,
> 
> I know it is alot to ask, but can you please explain this code and algorithm
> in English?  I don't have a very strong math background and would like to
> understand how it is done.  This is amazing stuff!

Hello Arie.

Sorry for not replying earlier.

I have rewritten some of the code a
little. It now uses degrees instead
of radians. And I use spheres this
time, because spheres have a simpler
syntax than boxes.

I've also split up the two while
loops so that you can see the effect
of each of them separately.


First we'll rotate a sphere, put one
unit above origo, around the x-axis
6 degrees at a time until it ends up
one unit below origo. (The y-axis is
pointing "upwards".)

#declare Step = 360/60;

#declare Cx = 0;
#while(Cx < 180)
  sphere {
    <0, 1, 0>, 0.06
    rotate Cx*x
    texture { T_Gold_3C }
  }
  #declare Cx = Cx + Step;
#end // while


This code will rotate a sphere, put
one unit out on the positive part
of the x-axis all the way around the
y-axis 6 degrees at the time.

#declare Step = 360/60;

#declare Cy = 0;
#while(Cy < 360)
  sphere {
    <1, 0, 0>, 0.06
    rotate Cy*y
    texture { T_Gold_1A }
  }
  #declare Cy = Cy + Step;
#end // while


Then we'll combine these two loops so
that one loop is inside the other.

Now, for each step the sphere is
rotated around the x-axis, it is also
taken all the way around the y-axis.

#declare Step = 360/60;

#declare Cx = 0;
#while(Cx < 180)
  #declare Cy = 0;
  #while(Cy < 360)
    sphere {
      <0, 1, 0>, 0.04
      rotate Cx*x
      rotate Cy*y
      texture { T_Gold_2B }
    }
    #declare Cy = Cy + Step;
  #end // while
  #declare Cx = Cx + Step;
#end // while


You may also notice that it is 
possible to switch places for the
two while loops. (But this way around
it is more difficult to imagine what
is really going on.    =)

#declare Step = 360/60;

#declare Cy = 0;
#while(Cy < 360)
  #declare Cx = 0;
  #while(Cx < 180)
    sphere {
      <0, 1, 0>, 0.04
      rotate Cx*x
      rotate Cy*y
      texture { T_Gold_2B }
    }
    #declare Cx = Cx + Step;
  #end // while
  #declare Cy = Cy + Step;
#end // while


I hope this helped you on the way to
understand better what's happening.

And if you have any further questions,
please feel free to ask.


Tor Olav


Btw.:
Remember to put something similar to
this at the beginning of each of my
examples above:


#version 3.1;  // Or e.g. #version 3.5

#include "colors.inc"
#include "golds.inc"

light_source { <2, 1, 2> color White }

background { color Blue/2 }

camera {
  location <1, 1, 3>
  look_at <0, 0, 0>
}


Post a reply to this message

From: Tor Olav Kristensen
Subject: Re: Not a Sphere (91K)
Date: 14 Oct 2001 18:33:46
Message: <3BCA125F.CABCEAD8@hotmail.com>
Tor Olav Kristensen wrote:
>...
> #declare Step = 360/60;
> 
> #declare Cx = 0;
> #while(Cx < 180)
>   sphere {
>     <0, 1, 0>, 0.06
>     rotate Cx*x
>     texture { T_Gold_3C }
>   }
>   #declare Cx = Cx + Step;
> #end // while
>...

I just also wanted to mention
that the code below does the same
as the above code.


#declare MySphere =
sphere {
  <0, 0, 0>, 0.06
  texture { T_Gold_3C }
}

#declare Cx = 0;
#while(Cx < 180)
  object {
    MySphere
    translate y
    rotate Cx*x
  }
  #declare Cx = Cx + 6;
#end // while


If you like, you can write
rotate <Cx, 0, 0> instead of
rotate Cx*x
 
(Note that when using other
textures, that are not the same
at every point in 3D-space, the
result from the two examples
above will become different.)


Tor Olav


Post a reply to this message

From: Anton Sherwood
Subject: Re: Not a Sphere (91K)
Date: 26 Oct 2001 03:43:25
Message: <3BD9127D.2C0DF43A@pobox.com>
> "Arie L. Stavchansky" <nat### [at] hotmailcom> wrote
> > I know it is alot to ask, but can you please explain this code and
> > algorithm in English?  I don't have a very strong math background
> > and would like to understand how it is done.  This is amazing stuff!


Bill DeWitt wrote:
> 
> RTFM
> 
>     The short version is this.
> "#declare Cx" means create a variable
> "#while" means start a conditional loop
> "box" means make a box at the location set up by the math
> "#declare Cx = CX + Step" increments the variable
> "#end" sends it back to the #while until the condition is fulfilled
> 
>     Everything else is gravy.

Arie asked for help with the math, not the programming syntax.


-- 
Anton Sherwood


Post a reply to this message

From: Bill DeWitt
Subject: Re: Not a Sphere (91K)
Date: 26 Oct 2001 04:49:01
Message: <3bd9237d@news.povray.org>
"Anton Sherwood" <bro### [at] poboxcom> wrote in message
news:3BD9127D.2C0DF43A@pobox.com...
> > "Arie L. Stavchansky" <nat### [at] hotmailcom> wrote
> > > I know it is alot to ask, but can you please explain this code and
> > > algorithm in English?


> Arie asked for help with the math, not the programming syntax.


    Seems to me he asked for both. But since you went to such great lengths
to provide help for the math, I saw that all that was left needing was help
with the code. Together we made a great team, don't you think.


Post a reply to this message

From: Anton Sherwood
Subject: Re: Not a Sphere (91K)
Date: 27 Oct 2001 00:27:35
Message: <3BDA393A.E098B8EF@pobox.com>
> "Anton Sherwood" <bro### [at] poboxcom> wrote
> > Arie asked for help with the math, not the programming syntax.

Bill DeWitt wrote:
> Seems to me he asked for both. But since you went to such great
> lengths to provide help for the math, . . .

it must be said: that was TOK, not me

-- 
Anton Sherwood


Post a reply to this message

<<< Previous 4 Messages Goto Initial 10 Messages

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