Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Coplanar Points in a 3D Triangulation

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Coplanar Points in a 3D Triangulation


Chronological Thread 
  • From: "Sebastien Loriot (GeometryFactory)" <>
  • To:
  • Subject: Re: [cgal-discuss] Coplanar Points in a 3D Triangulation
  • Date: Thu, 19 Jan 2012 15:18:59 +0100

On 01/19/2012 03:12 PM, Juan Carlos Lopez Alfonso wrote:
Hi Sebastien:

To detect that points are coplanar, I have computed the jacobian of each
thetraedra:

//for each thetraedra !!!
........
Tetrahedron t = T[i];

Vertex p1 = cit->vertex(0);
Vertex p2 = cit->vertex(1);
Vertex p3 = cit->vertex(2);
Vertex p4 = cit->vertex(3);


Can you try with this test instead:
CGAL::orientation(p1,p2,p3,p4)==CGAL::COPLANAR

and CGAL::Exact_predicates_inexact_constructions_kernel as Kernel for the triangulation.

Sebastien.

double Jacobian =
(p2.x - p1.x) * (p3.y - p1.y) * (p4.z - p1.z) + (p3.x - p1.x) * (p4.y -
p1.y) * (p2.z - p1.z) + (p4.x - p1.x) * (p2.y - p1.y) * (p3.z - p1.z)
- (p4.x - p1.x) * (p3.y - p1.y) * (p2.z - p1.z) - (p3.x - p1.x) *
(p2.y - p1.y) * (p4.z - p1.z) - (p2.x - p1.x) * (p4.y - p1.y) * (p3.z -
p1.z);
........

where p1, p2, p3 and p4 are the 4 points of each thetraedra, and when
Jacobian is equal to 0 the thetraedra has its 4 points in the same plane.
Could you help me to solve this problem? I need a triangulation
where all tetrahedra has no its 4 points in the same plane.

Thank you in advance
Juan Carlos

On Thu, Jan 19, 2012 at 3:04 PM, Sebastien Loriot (GeometryFactory)
<

<mailto:>>
wrote:

On 01/19/2012 03:01 PM, Juan Carlos Lopez Alfonso wrote:

Hi there:

I have a problem with a 3D triangulation. I have the following code:

#include <CGAL/Delaunay_triangulation___3.h>
typedef CGAL::Delaunay_triangulation___3<K, Tds> Delaunay;
typedef Delaunay::Cell_handle Cell_handle;
typedef Delaunay::Vertex_handle Vertex_handle;
typedef Delaunay::Locate_type Locate_type;
typedef Delaunay::Point Point;
typedef Delaunay::size_type size_type;
typedef Delaunay::Finite_vertices___iterator
Finite_vertices_iterator;
typedef Delaunay::Finite_cells___iterator Finite_cells_iterator;

...

Delaunay T;
T.insert(L.begin(), L.end());

for(Finite_cells_iterator cit = T.finite_cells_begin(), end =
T.finite_cells_end(); cit != end; ++cit)
{


How do you detect that points are coplanar?

Sebastien.


... coplanar points ...
}

...

where L is a list of 3D points. When I run my code, I have
detected that
there are several tetrahedra which its 4 points are coplanar.
Could anyone help me to solve this problem? I need a
triangulation where
all tetrahedra has no its 4 points in the same plane.

Thank you in advance and waiting for a suggestion
Juan Carlos



--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/__wws/info/cgal-discuss
<https://lists-sop.inria.fr/wws/info/cgal-discuss>






Archive powered by MHonArc 2.6.16.

Top of Page