|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
I wonder if anyone can help me, I'm trying to create an isosurface which from
above will be shaped as a T. My first idea was to do a rectangle and then cut
off the bits I didn't want with a difference{} but this still calculates the
whole isosurface which seems inefficient. My next plan was to have 2 isosurface
with the same function to create the T shape. The problem is, I need the
isosurface to reflect/refract and allow light to pass through it. My
understanding is that instead of union{}ing the 2 isosurfaces, I simply needed
to merge{} them - but unfortunately, thsi leaves strange artifacts visible
(vertical black lines) I've tried overlapping the 2 isosurfaces in case it was
due to a rounding error on the boundary to no effect. I've increased max_trace
by an order of magnitude which hasn't helped either.
Can someone please point me in the right direction?
Thanks in advance,
Basiclife
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Wasn't it Basiclife who wrote:
>Hi,
>
>I wonder if anyone can help me, I'm trying to create an isosurface which from
>above will be shaped as a T. My first idea was to do a rectangle and then cut
>off the bits I didn't want with a difference{} but this still calculates the
>whole isosurface which seems inefficient. My next plan was to have 2 isosurface
>with the same function to create the T shape. The problem is, I need the
>isosurface to reflect/refract and allow light to pass through it. My
>understanding is that instead of union{}ing the 2 isosurfaces, I simply needed
>to merge{} them - but unfortunately, thsi leaves strange artifacts visible
>(vertical black lines) I've tried overlapping the 2 isosurfaces in case it was
>due to a rounding error on the boundary to no effect. I've increased max_trace
>by an order of magnitude which hasn't helped either.
>
>Can someone please point me in the right direction?
One possible approach is to produce a single isosurface that has the
required shape
global_settings { max_trace_level 10 }
#declare Box = function { max((y*y-1),(x*x-1),(z*z-1)) }
isosurface {
function { min(
Box(x,y*4-4,z*4),
Box(x*4,y,z*4)
)
}
max_gradient 45
contained_by{sphere{0,2}}
pigment {rgbt .9}
interior {ior 1.3}
}
See: http://www.econym.demon.co.uk/isotut/combine.htm
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Mike Williams" <nos### [at] econymdemoncouk> wrote in message
news:Ezw### [at] econymdemoncouk...
> Wasn't it Basiclife who wrote:
>>Hi,
>>
>>I wonder if anyone can help me, I'm trying to create an isosurface which
>>from
>>above will be shaped as a T. My first idea was to do a rectangle and then
>>cut
>>off the bits I didn't want with a difference{} but this still calculates
>>the
>>whole isosurface which seems inefficient. My next plan was to have 2
>>isosurface
>>with the same function to create the T shape. The problem is, I need the
>>isosurface to reflect/refract and allow light to pass through it. My
>>understanding is that instead of union{}ing the 2 isosurfaces, I simply
>>needed
>>to merge{} them - but unfortunately, thsi leaves strange artifacts visible
>>(vertical black lines) I've tried overlapping the 2 isosurfaces in case it
>>was
>>due to a rounding error on the boundary to no effect. I've increased
>>max_trace
>>by an order of magnitude which hasn't helped either.
>>
>>Can someone please point me in the right direction?
>
> One possible approach is to produce a single isosurface that has the
> required shape
>
>
> global_settings { max_trace_level 10 }
>
> #declare Box = function { max((y*y-1),(x*x-1),(z*z-1)) }
>
> isosurface {
> function { min(
> Box(x,y*4-4,z*4),
> Box(x*4,y,z*4)
> )
> }
> max_gradient 45
> contained_by{sphere{0,2}}
> pigment {rgbt .9}
> interior {ior 1.3}
> }
>
> See: http://www.econym.demon.co.uk/isotut/combine.htm
>
> --
> Mike Williams
> Gentleman of Leisure
Many thanks for the response,
that seems like exactly what I need to do. I'm going to try and do as you
suggesed with my formulae and hopefully it should all work. If I have any
issues, I may need to come back and ask some more questions
Many thanks
Basiclife
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|