Subject: CGAL users discussion list
List archive
- From: "Samrat Goswami" <>
- To:
- Subject: Re: [cgal-discuss] Intersection between Delaunay facet and its dual edge
- Date: Tue, 22 May 2007 10:57:39 -0500
Hi Angelo
Here is what I think you may consider.
The finite Voronoi edge segment may not intersect the affine hull of the Delaunay triangle at all .. If it does, the intersection point will be the circumcenter of the Delaunay facet that you are considering .. now in case of acute angled triangle, it will be inside the triangle and if there is any obtuse angle it will be outside the triangle ..
However if you consider the infinite line containing the Voronoi edge that will always intersect the Delaunay facet in its circumcenter.
Hope it helps
Samrat
On 5/22/07, Tardugno, Angelo <> wrote:
Well, since I'm considering only the acute triangles of the Delaunay triangulation I would expect the intersection to exist.
Regards
Angelo
-----Original Message-----
From: Yajun Wang [mailto: ]
Sent: 22 May 2007 11:40
To:
Subject: Re: [cgal-discuss] Intersection between Delaunay facet and its dual edge
FYI: The Voronoi edge does not necessarily intersect its dual.
regards,
yalding
Tardugno, Angelo 写道:
> Hi CGAL experts,
>
> I've been trying to compute the intersection between a Delaunay facet
> and ist dual (Voronoi Edge). This operation should result in a point,
> but, surprisingly sometimes (actually very frequently) it returns
> something different.
> Here's part of my code:
>
> Finite_cells_iterator ci=T.finite_cells_begin();
> out_stream.open("Vvertex");
> o_stream.open("s3points");
> o1stream.open("triangle");
> o2stream.open ("segment");
>
> for (;ci !=T.finite_cells_end(); ++ci)
> {
> voronoi_vertices = (T.dual(ci));
> out_stream << 4 << " " << voronoi_vertices << "\n";
>
> // Finding the dual of each facet of the delaunay triangulation
> (Voronoi edge)
> // and compute its intersection with the facet in case the triangle
> // is acute
>
>
>
> for (int i=0; i<4; i++)
> {
> CGAL::Object o = T.dual(ci,i);
> K::Triangle_3 t = T.triangle(ci,i);
> CGAL::Object o2;
> K::Segment_3 s,s2;
> K::Ray_3 r;
> K::Plane_3 plane;
> K::Point_3 point;
>
>
> K::Construct_supporting_plane_3 construct_plane;
>
>
>
> if (is_acute(t))
> {
> if (CGAL::assign(s,o))
> {
> //cout << i << "\n";
> o1stream << t << "\n";
> o2stream << s << "\n";
> plane = construct_plane(t); // Building the supporting
> plane for the triangle
> o2 = intersection(s,plane); // Evaluating intersection
> between voronoi edge and plane
> if (assign(point,o2)) // Assigning object intersection to
> point
> {
> xx = (point.x());
> yy = (point.y());
> zz = (point.z());
> out_stream << 3 << " " << xx << " " << yy << " " << zz << "\n";
>
> n_of_s3_points++;
> } else
> {
> cout << "Something different\n";
> }
> }
> if (CGAL::assign(r,o))
> {
> //cout << i << "\n";
> plane = construct_plane(t); // Building the supporting
> plane for the triangle
> o2 = intersection(s,plane); // Evaluating intersection
> between voronoi edge and plane
> if (assign(point,o2)) // Assigning object intersection to
> point
> {
> xx = (point.x());
> yy = (point.y());
> zz = (point.z());
> o_stream << 3 << " " << xx << " " << yy << " " << zz << "\n";
>
> n_of_s3_points++;
> } else
> {
> cout << "Something different\n";
> }
>
> }
> }
> else cout << "\nObtuse Angle\n";
>
>
> }
>
> }
>
> o1stream.close();
> o2stream.close();
> o_stream.close();
> out_stream.close();
>
> After running this program, I checked the files triangle and segment but
> when I check for the first triangle and the first segment it seems like
> the segment isn't the actual dual of the Delaunay facet, since there is
> no intersection between the two. Maybe I've made a mistake when I
> created the dual of the facet or the triangle describing the facet.
> Anyway, I've tried my best to understand what's happening but I have no
> clue.
>
> Anybody can help?
>
> Thanks
>
> Angelo Tardugno
>
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://lists-sop.inria.fr/wws/info/cgal-discuss
- Intersection between Delaunay facet and its dual edge, Tardugno, Angelo, 05/22/2007
- Re: [cgal-discuss] Intersection between Delaunay facet and its dual edge, Yajun Wang, 05/22/2007
- RE: [cgal-discuss] Intersection between Delaunay facet and its dual edge, Tardugno, Angelo, 05/22/2007
- Re: [cgal-discuss] Intersection between Delaunay facet and its dual edge, Samrat Goswami, 05/22/2007
- RE: [cgal-discuss] Intersection between Delaunay facet and its dual edge, Tardugno, Angelo, 05/22/2007
- Re: [cgal-discuss] Intersection between Delaunay facet and its dual edge, Yajun Wang, 05/22/2007
Archive powered by MHonArc 2.6.16.