![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hello
Can anyone point me in the right direction for creating a kalediescope
effect in povray?
Any macros or incs or advice much appreciated.
Thanks
darrenf (zippy666)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Hughes, B
Subject: Re: help in creating a kaleidescope effect
Date: 27 Jul 2003 15:22:26
Message: <3f242672@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"darrenf" <dar### [at] ukonline net> wrote in message
news:web.3f23c4db18cccb436549b3060@news.povray.org...
>
> Can anyone point me in the right direction for creating a kalediescope
> effect in povray?
>
> Any macros or incs or advice much appreciated.
Nothing I know of offhand but it can be done by using intersecting planes
having mirrored surfaces which form a multi-sided tube that the camera looks
through. Same as a real life kaleidoscope does. If there's a macro or other
script showing this it could probably be found in a search of the text or
binaries scene groups. Let me see if I can find one... No, not an example of
script anyway, although I should have a scene file I did long ago someplace
here.
Bob H.
You wouldn't need to see that, really. It's about as simple as:
intersection {
plane {x,1 rotate 120*z} // sides
plane {x,1 rotate 240*z}
plane {x,1 rotate 360*z}
clipped_by {cylinder {0,7*z,2}} // remove excess tubing
texture {pigment {rgb 0} finish {reflection {1,1}}}
rotate 360*clock*z // make it animatable too?
}
// and something to kaleid
sphere {9*z,3 pigment {radial frequency 9} finish {ambient 1}}
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
// What about the following kaleidoscope, using a prism?
// An arbitrary number of mirrors are possible.
//
// Sputnik
global_settings { max_trace_level 10 }
#declare N = 6; // number of mirrors
// kaleidoscope
prism { linear_spline linear_sweep 0, -6, (N+1)*2
#declare I = 0;
#while (I<=N)
, <cos(I/N*2*pi), sin(I/N*2*pi)>*1.06
#declare I = I+1;
#end//while I
#declare I = 0;
#while (I<=N)
, <cos(I/N*2*pi), sin(I/N*2*pi)>
#declare I = I+1;
#end//while I
texture {
pigment { color rgb 1 }
finish { reflection 1 }
}
}
// wooden disc to look at
cylinder { 0, -y, 1
pigment { wood scale .15 rotate 5*x translate 0.5 }
finish { ambient 1 }
translate -6*y
}
// camera, light
camera { location <0, 2, -0.25> look_at 0 }
light_source { <-4, 3, 2>*1000, rgb 1 }
// END
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks for all the input - will try it out.
darrenf
INVALID_ADDRESS wrote:
>// What about the following kaleidoscope, using a prism?
>// An arbitrary number of mirrors are possible.
>//
>// Sputnik
>
>
>global_settings { max_trace_level 10 }
>
>#declare N = 6; // number of mirrors
>
>// kaleidoscope
>prism { linear_spline linear_sweep 0, -6, (N+1)*2
> #declare I = 0;
> #while (I<=N)
> , <cos(I/N*2*pi), sin(I/N*2*pi)>*1.06
> #declare I = I+1;
> #end//while I
> #declare I = 0;
> #while (I<=N)
> , <cos(I/N*2*pi), sin(I/N*2*pi)>
> #declare I = I+1;
> #end//while I
> texture {
> pigment { color rgb 1 }
> finish { reflection 1 }
> }
> }
>
>// wooden disc to look at
>cylinder { 0, -y, 1
> pigment { wood scale .15 rotate 5*x translate 0.5 }
> finish { ambient 1 }
> translate -6*y
> }
>
>// camera, light
>camera { location <0, 2, -0.25> look_at 0 }
>light_source { <-4, 3, 2>*1000, rgb 1 }
>
>// END
>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |