Subject: CGAL users discussion list
List archive
- From: Stefan Witzel <>
- To:
- Subject: Re: [cgal-discuss] Iteration over Voronoi faces
- Date: Fri, 14 Jun 2019 15:10:59 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:jLOdehyiO5tiDTPXCy+O+j09IxM/srCxBDY+r6Qd2+8TIJqq85mqBkHD//Il1AaPAdyCrasa0qGL7ujJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglVmTaxe65+IRSroQnetsQbgZZpJ7osxBfOvnZGYfldy3lyJVKUkRb858Ow84Bm/i9Npf8v9NNOXLvjcaggQrNWEDopM2Yu5M32rhbDVheA5mEdUmoNjBVFBRXO4QzgUZfwtiv6sfd92DWfMMbrQ704RSiu4qF2QxLulSwJNSM28HvPh8N/gqJUogihqRxxzYDXfY+bKuZxc7jBfd8GX2dNQtpdWzBDD466coABD/ABPeFdr4TlulUOsQWxBQe2C+Pp1zRHhn723bE70us/FQHNwQstH8kSsHXardX1KKYTXv6xzKTTwjXDaulZ2Tb56ITSbh8hpvSMUKt2fMHMx0cvEAbFgU+RqYzjJz6V1+INs3Ka7+V6T+6vhXQnpxltrTig3MgsjpPFhoUPylDL8yhy3YU7JcWgRUJlfdKpFIFcuiKaOodsXM8uXXxktDw1x7EYv5OwYTIEx449xxHFbvyKa4iI7QznVOaWOTp4gWhqeLO7hxqr/0mg0PDwWtC60FtFsCZJiNbMtncK1xzc7siIVOFx8Vum2TaKzwzT6+dELl4olafDNZIt3ro9moAQvEnDBCP6hlv6gLKMekgr5OSk8+Hnba/npp+YOY90kAb+MqE2l8ykHeQ5PAkOX3Sa+Oui0L3u5kL5QLBQgf03lqnVqozVJcMepqKhGQ9azp4j6wqjDzehyNkXgXYHI0hBeB6ekofpOkrOL+zlDfekmFShiyxrxvDDPr35GJrBNHnDkLH7fbZ88UFQ0gQzzcoMr69SEawLdfLvRlfq5pufFQ48KwXywuD9Cdw72JlZQnOKGqbeMaXcthiD6esrZuWNf4QIoy2uF/9w7PHniTo1mEQWYLKy9ZoRcnGxWPp8cH+UeX79vtBUCngLohgzSMTvgUGCFyNVZjO4Xq846z82DI7gAYqQaJqqhem6wCq1F5seWWFaGF2IWSPza5qFR+UBbAqdJ8ZglnoPUr33GNxp7g2nqAKvk+kvFeHT4CBN7cuyhugw3PXakFQJzRIxCs2c12+XSGQtxzEHQjY32OZ0pkkvkw7fg5g9uORREJlo390MSh0zbMeOwOlzCtS0UQXELI/QFQSWB+6+CDR0deofht8DZ0EnRoenhxHHmjWwWvoby+bNC5sz/abRmXP2IpQlxg==
Hi again,
If I understand correctly in lines 135-136 of
Hyperbolic_triangulation_2/include/CGAL/internal/Hyperbolic_Delaunay_triangulation_traits_2_functions.h
the orientation of hyperbolic segments is chosen so that circular arcs
are always (counter-?)clockwise, discarding potential combinatorial
information. That is, a hyperbolic segment from p to q may end up
going from q to p. Is this correct and is there a good reason for it?
Best,
Stefan
Am Fr., 14. Juni 2019 um 14:13 Uhr schrieb Stefan Witzel
<>:
>
> Hello again,
>
> I have the following piece of code where dt is a hyperbolic Delaunay
> triangulation, and vt is a vertex handle.
>
> ecr = vt->incident_edges();
> do
> {
> if (!dt.is_Delaunay_hyperbolic(*ecr)) {
> break;
> }
> process(dt.dual(*ecr));
> } while (++ecr != vt->incident_edges());
>
> Now I would like that the ecr->target() in one iteration is
> ecr->source() of the next iteration (I'm sweeping casting of ecr to a
> Euclidean_segment_2 respectively Circular_arc_2 under the rug). Now my
> problem is that not only is this not the case but neither does there
> seem to be any kind of pattern. So my question is: is there any way to
> predict the orientation of the dual segment of a (hyperbolic) Delaunay
> triangulation? Thanks in advance!
>
> Best,
> Stefan
>
> Am Fr., 14. Juni 2019 um 11:20 Uhr schrieb Stefan Witzel
> <>:
> >
> > Dear Mael,
> >
> > Thank you for this nice explanation! I have in fact run into issues
> > with non-hyperbolic faces which I had understood mathematically and
> > thanks to you now understand also on the software level.
> >
> > Best,
> > Stefan
> >
> > Am Fr., 14. Juni 2019 um 08:12 Uhr schrieb Mael
> > <>:
> > >
> > > Hello,
> > >
> > > This is usually the case, if you look at the documentation page of e.g.
> > > Regular_triangulation_2, you'll see a section "Additional Inherited
> > > Members", which contains exactly what you have in mind (typedefs and
> > > functions from Triangulation_2).
> > >
> > > Hyperbolic_Delaunay_triangulation_2 (HDT2) is a little bit different
> > > because it inherits Delaunay_triangulation_2 (DT2), but in a private
> > > way. This is done exactly so that not everything from DT2 is shown in
> > > the documentation. This is because the simplicies in a HDT2 form only a
> > > subset of the simplices of a DT2. Thus, we are internally building a DT2
> > > and the class HDT2 is just a filter on top of the DT2.
> > >
> > > You can use the functions from DT2 (or even T2, which DT2 inherits), but
> > > be careful that you will then be working with the full DT2 structure and
> > > not the HDT2. You can apply hyperbolic filtering manually via the
> > > "is_hyperbolic()" family of functions to bring things back to HDT2.
> > >
> > > Best,
> > > Mael
> > >
> > > On 13/06/2019 22:15, Stefan Witzel wrote:
> > > > Hi,
> > > >
> > > > Sorry about my last question! In case someone is actually wondering:
> > > > the answer are face circulators [1]. The documentation would be much
> > > > more accessible if one could see all the inherited methods somewhere.
> > > > I was looking at the documentation for
> > > > Hyperbolic_Delaunay_triangulation_2 and from there it's a bit of a way
> > > > down to Triangulation_2, especially when you are wondering about the
> > > > traits and data structures along the way.
> > > >
> > > > Best,
> > > > Stefan
> > > >
> > > > [1]
> > > > https://doc.cgal.org/latest/Triangulation_2/classCGAL_1_1Triangulation__2.html#a1bda2ab92ccf638bb22fc223ae281b96
> > > >
> > > > Am Do., 13. Juni 2019 um 16:32 Uhr schrieb Stefan Witzel
> > > > <>:
> > > >> Hello,
> > > >>
> > > >> I do not have any previous experience with cgal and my question is a
> > > >> rather conceptual one without much technical insight: I would like to
> > > >> iterate over the faces of a Voronoi diagram and then over the edges
> > > >> of
> > > >> each face (to obtain a closed polygon); in other words this means to
> > > >> iterate over the vertices of a Delaunay triangulation and then over
> > > >> the edges incident with this vertex. Am I right to assume that this
> > > >> is
> > > >> fundamentally problematic with the default parameters for
> > > >> Delaunay_triangulation_2 (Triangulation_vertex_base_2,
> > > >> Triangulation_face_base_2) as a vertex does not ``know'' the edges it
> > > >> is incident with? Is there a kind of dual assignment that I could use
> > > >> (like ``(Tessellation_face_base, Tessellation_vertex_base)'')?
> > > >>
> > > >> Since tessellations into non-triangles may be more complicated, would
> > > >> it be a possibility to first produce the (common) barycentric
> > > >> subdivision?
> > > >>
> > > >> Best,
> > > >> Stefan
> > >
> > > --
> > > You are currently subscribed to cgal-discuss.
> > > To unsubscribe or access the archives, go to
> > > https://sympa.inria.fr/sympa/info/cgal-discuss
> > >
> > >
- [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/13/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/13/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Mael, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Mael, 06/17/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Monique Teillaud, 06/17/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/17/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Mael, 06/18/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/18/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Monique Teillaud, 06/18/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/18/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Monique Teillaud, 06/18/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/19/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Monique Teillaud, 06/19/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Mael, 06/14/2019
- Re: [cgal-discuss] Iteration over Voronoi faces, Stefan Witzel, 06/13/2019
Archive powered by MHonArc 2.6.18.