|
![](/i/fill.gif) |
On Thu, 25 May 2000 00:51:27 +0300, Peter Popov wrote:
>On 23 May 2000 22:01:44 -0400, ron### [at] povray org (Ron Parker)
>wrote:
>
>>>Merge is internally represented as a complex CSG. It takes more memory
>>>and generally takes longer to render than the equivalent union. This
>>>is not true in some special cases but this shouldn't be one of them.
>>
>>Actually, it is internally represented as a merge. Difference is the
>>operation you're thinking of.
>
>I know a difference is an intersection with the inverse. What I meant
>was that merge { object { A } object { B } } is equivalent to
>
>union
>{ intersection { object { A } object { B inverse } }
> intersection { object { B } object { A inverse } }
>}
This is the symmetric difference, equivalent to
difference {
union {object {A} object {B}}
intersection {object {A} object {B}}
}
(except for the coincident surface problems the latter causes) and
logically similar to exclusive-or.
I think merge is actually equivalent to
intersection {
object { A inverse }
object { B inverse }
inverse
}
but it's not represented that way internally. The code actually has
special cases for merge, unlike for difference.
--
Ron Parker http://www2.fwi.com/~parkerr/traces.html
These are my opinions. I do NOT speak for the POV-Team.
Post a reply to this message
|
![](/i/fill.gif) |