|
![](/i/fill.gif) |
Jan Dvorak nous apporta ses lumieres en ce 2008/03/02 19:07:
> Patrick Elliott napsal(a):
>> Decided to rework the design of the octahedron, so that it *should*
>> allow me to do this:
>>
>> #declare octoside = {blah}
>>
>> union {
>> object {octoside
>> rotate <0,90,0>}
>> ...
>> }
>>
>> and get the result I want. The problem is, this is as far as I got:
>>
>> camera{
>> orthographic
>> location <0,sqrt(2)/2,-3> look_at <0,sqrt(2)/2,0> angle 60
>> right x up y
>> }
>>
>> light_source{<5,5,-10>,1.5}
>>
>> //intersection {
>> union {
>> sphere {<-1,0,0>,0.075}
>> sphere {<1,0,0>,0.075}
>> sphere {<0,sqrt(2),0>,0.075}
>> cylinder {<-1,0,0>,<1,0,0>,0.075}
>> cylinder {<0,sqrt(2),0>,<1,0,0>,0.075}
>> cylinder {<-1,0,0>,<0,sqrt(2),0>,0.075}
>> texture {
>> pigment {rgb <1,1,1>}
>> }
>> //triangle {<-1,0,-0.075>,<0,sqrt(2),-0.075>,<1,0,-0.075>}
>> //triangle {<-1,0,0.075>,<0,sqrt(2),0.075>,<1,0,0.075>}
>> //rotate <45,0,0> <- test purposes, move to last statement in final
>> object, with translate.
>> //translate <0,0,-1>
>> }
>> // box {<-1,0,-0.075>,<1,sqrt(2),0.075>}
>> //
>> //}
>>
>> Neeless to say, since the original used intersection, I took a chance
>> on that working. It didn't. The **best** solution would be if I could
>> tie triangles to the center points and weld them to the main object,
>> to produce a solid, or at least one solid enough to cut sections out
>> of and have material left behind, instead of a hollow shell with a
>> hole in it. It only get worse if I want to late make a crystal
>> version, or some other such thing, where the entire inside has to be
>> solid, instead of it being hollow. There has got to be some means I
>> can fill in the sides, like I want, and also the rest of the interior
>> of the final object. I am just not seeing it at the moment. And, if
>> its something blindingly obvious, like using triangles some how, then
>> I can even set the exact points I want, instead of using the 45 degree
>> angle trick and computing the sqrt(2) length for the side being
>> rotated into place. Can't imaging why I didn't try something like this
>> before... lol Might have been easier to model this bloody thing as a
>> patch.
>>
> When I think about it now, wouldn't it be possible to use a superellipsoid?
>
superellipsoid{<2,2>} give you an octaedron. Smaler values make the faces curve
out, while the edges stay sharp. Larger values make the faces cave in.
--
Alain
-------------------------------------------------
You know you've been raytracing too long when you read about an algorithm or
datastructure and your first thought is: "How can I use this to speed up
raytracing?"
Christoph Rieder
Post a reply to this message
|
![](/i/fill.gif) |