Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] CGAL Booleans in K-3D

Subject: CGAL users discussion list

List archive

[cgal-discuss] CGAL Booleans in K-3D


Chronological Thread 
  • From: Bart Janssens <>
  • To: cgal-discuss <>
  • Subject: [cgal-discuss] CGAL Booleans in K-3D
  • Date: Tue, 24 Mar 2009 12:13:06 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; b=bauACSsYTDJs5zmeL6GfqG9bvVwAeL7YEYSmIS9yDk8KSNHcv1vgNxSlNTJXb12x43 daozXqZlfWGTnAv1vzdS1yn35a3YRzt44Ds5GahUKorrQURjMF7f5/GMWXZZMN6FzNiQ VXNRUjA4k8Bngmr+0GZyr9knwInxrMpMAVpHg=

Dear CGAL users,

Recently, the K-3D 0.7.11.0 development snapshot was released. See
http://www.k-3d.org/wiki/Download for downloads.

Among the changes, the way we use CGAL for booleans has been updated.
The previous approach, which used a custom number type to round off
doubles up to a threshold, proved to be unstable, so we now use Gmpz
and a homogeneous kernel. Inputs are triangulated so all faces are
coplanar, and excess triangles are simplified away again after the
boolean operation. See
http://www.k-3d.org/wiki/CGAL_Boolean_Operations for details.

So far, I've had some feedback from the K-3D community, where the main
complaint was that the booleans are too slow. A quick comparison with
i.e. Softimage XSI MOD tool does show that K-3D is much slower (by a
factor of about 20). A breakdown of the timings (in s) for the
intersection between a 32x16 faces PolySphere and PolyTorus can be
seen on our dashboard at i.e.
http://www.k-3d.org/cdash/testDetails.php?test=167532&build=1798
This leads me to ask the following questions:

- Are there advantages to having exact booleans in a 3D animation
package, where the input is inexact anyway? i.e. are there cases where
something presumably more naive like XSI will fail, but CGAL will be
correct?
- Are there much faster arbitrary-length integer number types than Gmpz?
- Would it be worthwhile to try and implement a number type that uses
64 bit integers as base, and only switches to an exact type when an
overflow occurs? Could changes be made to the boolean code to minimize
the risk of overflow in this case?

Cheers,

--
Bart


  • [cgal-discuss] CGAL Booleans in K-3D, Bart Janssens, 03/24/2009

Archive powered by MHonArc 2.6.16.

Top of Page