![](/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) |
Render time - 57mins
90% rad lighting, 1 4x4 area light, hq AA, and focal blur
oh, and the twist object is a mesh, modelled in rhino
(rendered at a size for my desktop wallpaper)
--
Rick
Kitty5 WebDesign - http://Kitty5.com
Hi-Impact database driven web site design & e-commerce
TEL : +44 (01625) 266358 - FAX : +44 (01625) 611913 - ICQ : 15776037
POV-Ray News & Resources - http://Povray.co.uk
PGP Public Key
http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x231E1CEA
Post a reply to this message
Attachments:
Download 'lightflow-twist.jpg' (84 KB)
Preview of image 'lightflow-twist.jpg'
![lightflow-twist.jpg](/povray.binaries.images/attachment/%3C3ae969cb%40news.povray.org%3E/lightflow-twist.jpg?ttop=443840&toff=10950&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Impressive example. I'm more impressed with the fact that is actually a
mesh though.
Bob H.
"Rick [Kitty5]" <ric### [at] kitty5 com> wrote in message
news:3ae969cb@news.povray.org...
> Render time - 57mins
> 90% rad lighting, 1 4x4 area light, hq AA, and focal blur
>
> oh, and the twist object is a mesh, modelled in rhino
>
> (rendered at a size for my desktop wallpaper)
> --
> Rick
>
> Kitty5 WebDesign - http://Kitty5.com
> Hi-Impact database driven web site design & e-commerce
> TEL : +44 (01625) 266358 - FAX : +44 (01625) 611913 - ICQ : 15776037
> POV-Ray News & Resources - http://Povray.co.uk
>
> PGP Public Key
> http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x231E1CEA
>
>
>
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) |
> Impressive example. I'm more impressed with the fact that is actually a
> mesh though.
all ~50mb of it as exported from rhino :)
takes about 1min to parse, and is much faster then using an iso surface,
anybody wants the rhino 1.1 file email me.
--
Rick
Kitty5 WebDesign - http://Kitty5.com
Hi-Impact database driven web site design & e-commerce
TEL : +44 (01625) 266358 - FAX : +44 (01625) 611913 - ICQ : 15776037
POV-Ray News & Resources - http://Povray.co.uk
PGP Public Key
http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search=0x231E1CEA
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) |
Rick [Kitty5] <ric### [at] kitty5 com> wrote:
: all ~50mb of it as exported from rhino :)
: takes about 1min to parse, and is much faster then using an iso surface,
: anybody wants the rhino 1.1 file email me.
I made a mesh-version of that object created with #while-loops. The source
takes less than 1kb and parsing takes less than 30 seconds (in an average
computer). And you can easily control the resolution of the mesh by modifying
one single value at the beginning of the source.
However, I got a problem which was too difficult. Although the vertices
were exactly where they should (according to the surface function), I
couldn't get the normals working. I didn't realize how to take into
account the twisting of the "sine-wave-radius cylinder" when calculating
the normal vectors. They were too steep in the inner side of the "torus"
and too wide in the outer side. The error was too visible in order for it
to be usable.
Of course the correct normals can be calculated, but I got tired.
Perhaps someone else wants to to think about this?
--
#local D=array[6]{11117333955,7382340,3358,3900569407,970,4254934330}
#local I=0;#macro M()<mod(D[I],13)-6,mod(div(D[I],13),8)-3,10>#end
#while(I<6)cylinder{M()#local D[I]=div(D[I],104);M().1
pigment{rgb M()}}#local I=(D[I]>99?I:I+1);#end /*- Warp -*/
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) |
> Perhaps someone else wants to to think about this?
>
I don't know if this can be usefull, but this is the original lightflow code
(b-spline):
p = vector3array()
N = 50
M = 10
R = 1.0
r = 0.2
#alloc arrays
p.setSize( N * M )
for i in range( 0, N ) :
u = 2.0 * pi * i / N
for j in range( 0, M ) :
v = 2.0 * pi * j / M
index = i + j*N
p.set( index, vector3( cos(u) * (R + cos(v)*r * (1.0 + cos(u*8.0)*0.8)),
sin(u) * (R + cos(v)*r * (1.0 + cos(u*8.0)*0.8)),
sin(v)*r * (1.0 + cos(u*8.0)*0.8) + r*(1.8) ) )
if not (i % 10) :
sys.stdout.write("\rallocating vertices %d %%" % ((i * 100) / N) )
sys.stdout.flush()
print
s.addObject( s.newObject( "bspline",
[ "size", N, M,
"wrap", 1, 1,
"step", BSplineStep(), BSplineStep(),
"basis", BSplineBasis(), BSplineBasis(),
"points", p,
"tolerance", 0.02, 0.1, 0.05 ] ) )
# destroy arrays
del p
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) |