POV-Ray : Newsgroups : povray.newusers : Merge vs. Union Server Time
6 Sep 2024 02:22:21 EDT (-0400)
  Merge vs. Union (Message 8 to 17 of 27)  
<<< Previous 7 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Ron Parker
Subject: Re: Merge vs. Union
Date: 19 Sep 1999 22:10:20
Message: <37e69793.512083187@news.povray.org>
On Fri, 17 Sep 1999 18:09:32 -0700, Ken <tyl### [at] pacbellnet> wrote:

>
>
>Ian Burgmyer wrote:
>> 
>> What's the difference between merge and union?  I noticed that one (I think
>> it was merge) took quite a bit longer then the other.
>> 
>> Thanks!
>> -Ian
>
>  There is a major difference between the two. The union is really not
>a true CSG operation and could be more accurately described as a group
>container.

Interesting distinction you make there.  I'd say union is the true
CSG operation - since it's what we'd generally consider atomic - and 
merge is the imposter; it's able to be synthesized by clever
combination of intersection and inverse.


Post a reply to this message

From: Ron Parker
Subject: Re: Merge vs. Union
Date: 19 Sep 1999 22:12:12
Message: <37e79852.512273962@news.povray.org>
On 19 Sep 1999 05:17:31 -0400, Nieminen Juha <war### [at] cctutfi> wrote:

>  AFAIK when you shoot a ray, you get _all_ the intersections of that ray
>and every surface it hits.

In most cases, yes.  Not in the case of meshes, though.  It's also
possible that POV automatically ignores objects that are entirely
further away than the closest intersection so far.  If it doesn't,
it should.


Post a reply to this message

From: Ken
Subject: Re: Merge vs. Union
Date: 19 Sep 1999 23:12:43
Message: <37E5A5A9.5D290840@pacbell.net>
Ron Parker wrote:

> >  There is a major difference between the two. The union is really not
> >a true CSG operation and could be more accurately described as a group
> >container.
> 
> Interesting distinction you make there.  I'd say union is the true
> CSG operation - since it's what we'd generally consider atomic - and
> merge is the imposter; it's able to be synthesized by clever
> combination of intersection and inverse.

  Since I was responding to a question in the new users group I defend my
reply as appropriate for conveying a new concept. Had he asked for info
on and, or, and not operations I probably would have remained silent and
would have let you answer it yourself.

  I like to think of CSG operations as to how they perform physically in
an operation. My idea of more better analogies would be:

union        = gluing
intersection = cutting
difference   = scooping
merge        = melting and gluing
clipping     = cutting and hollowing
inverse      = inside outing

There ! That should give you something to cry in despair over for a while :)

-- 
Ken Tyler

See my 1000+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Ian Burgmyer
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 01:08:54
Message: <37e5c166@news.povray.org>
Haha!  This is kinda what I was looking for in the first place!

It sums everything up pretty well ;)

-Ian

>   I like to think of CSG operations as to how they perform physically in
> an operation. My idea of more better analogies would be:
>
> union        = gluing
> intersection = cutting
> difference   = scooping
> merge        = melting and gluing
> clipping     = cutting and hollowing
> inverse      = inside outing
>
> There ! That should give you something to cry in despair over for a while
:)
>
> --
> Ken Tyler
>
> See my 1000+ Povray and 3D Rendering and Raytracing Links at:
> http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Nieminen Juha
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 06:32:51
Message: <37e60d53@news.povray.org>
Ron Parker <par### [at] fwicom> wrote:
: It's also
: possible that POV automatically ignores objects that are entirely
: further away than the closest intersection so far.  If it doesn't,
: it should.

  How can it know if the object is further or not without testing the
ray-object intersection?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Nieminen Juha
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 06:40:03
Message: <37e60f03@news.povray.org>
Ken <tyl### [at] pacbellnet> wrote:
: intersection = cutting
: difference   = scooping

  I have always thought about the difference as cutting parts out from the
main object.

: clipping     = cutting and hollowing

  Is clipping considered CSG? Note that the 'S' stands for 'solid' :)

  I think that it would also be useful if you explained the difference
between intersection and clipping and when it's better to use clipping
instead of intersection.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Ron Parker
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 09:10:26
Message: <37e63242@news.povray.org>
On 20 Sep 1999 06:32:51 -0400, Nieminen Juha wrote:
>Ron Parker <par### [at] fwicom> wrote:
>: It's also
>: possible that POV automatically ignores objects that are entirely
>: further away than the closest intersection so far.  If it doesn't,
>: it should.
>
>  How can it know if the object is further or not without testing the
>ray-object intersection?

By taking the dot product of each of the six bounding box coordinates 
with the ray direction.  If they're all further away, then the object
must be.


Post a reply to this message

From: Ken
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 09:42:35
Message: <37E63949.2EB6142F@pacbell.net>
Nieminen Juha wrote:
> 
> Ken <tyl### [at] pacbellnet> wrote:
> : intersection = cutting
> : difference   = scooping
> 
>   I have always thought about the difference as cutting parts out from the
> main object.

In english the word "scooping" implies that but perhaps not as definitavely as
you have stated it.
 
> : clipping     = cutting and hollowing
> 
>   Is clipping considered CSG? Note that the 'S' stands for 'solid' :)
> 
>   I think that it would also be useful if you explained the difference
> between intersection and clipping and when it's better to use clipping
> instead of intersection.

You might be right here.

Intersections will slice or cut an object and then apply a face where the
slice has been made.

Clipping slices an object but will not leave a face where the slice has
occured. Instead the object that has been sliced will now appear to be
hollowed out since all solid objects in POV-Ray are not truly solid.

-- 
Ken Tyler

See my 1000+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html


Post a reply to this message

From: Nieminen Juha
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 11:15:00
Message: <37e64f74@news.povray.org>
Ron Parker <par### [at] fwicom> wrote:
: By taking the dot product of each of the six bounding box coordinates 
: with the ray direction.  If they're all further away, then the object
: must be.

  You forget that the bounding box is not necesarily around the object...
nor it is a box... :)

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Nieminen Juha
Subject: Re: Merge vs. Union
Date: 20 Sep 1999 11:18:20
Message: <37e6503c@news.povray.org>
clipped_by should be used instead of difference when the new surface is
not seen (for example, if you clip a torus and attach two cylinders to the
ends to form a bended tube, the clipped surfaces are inside the tube and thus
are not seen).
  Why it should be used? Because it's faster to render.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

<<< Previous 7 Messages Goto Latest 10 Messages Next 10 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.