Subject: CGAL users discussion list
List archive
- From: Sebastien Loriot <>
- To:
- Subject: Re: [cgal-discuss] 3D triangulation: absolute minimum of facets
- Date: Tue, 5 Jul 2022 18:40:58 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:CjT+sKNvw2PpkKPvrR2XkcFynXyQoLVcMsEvi/4bfWQNrUp3hWBWy mFMWDqAbPiCazP2edtyPo2z8BhSv8XTmoA1SHM5pCpnJ55ogZqcVI7Bdi8cHAvLc5adFBo/h yk6QoOdRCzhZiaE/n9BCpC48T8kk/vgqoPUUIYoAAgoLeNfYHpn2EgLd9IR2NYy24DmW17V4 7senuWGULOb824sWo4rw/nbwP9flKyaVOQw4zTSzdgS1LPvvyF94KA3fcldHFOkKmVgJdNWc s6YpF2PEsw1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXe345jXMfwZ3u7hB2AgY1W4 t9It6e/blxzJIrjo+JHf0ZXRnQW0a1uoNcrIFC6uM2XilLcKj7in6UoA0YxMokVvO1wBAmi9 9RCcGFLPk3F3bjvhu7rIgVvrpxLwM3DJ4cYoHBn0XfcCd4pRJnCR+PB4towMDIY35AQRKiEO pJxhTxHTR+RZUx2a28sDJMDxuKY3WTjdWAftwfAzUYwyzGLkFYZPKLWGNHac9jPScROlVuDv Urd7mHhC1cbMsaewHyL6BqRavTnmCr6XMcNDuT9+KI6xlKUwWMXBVsdUl7TTeSFZlCWUswCD GYe/ygVoo9prlaMYeL7BTHnryvR1vIDYOZ4H+o/4QCL76Pb5QeFG2QJJgKtjvR25KfaohR6h je0c8PV6S9H6+LKFCrMnluAhXbjZnhPdD5qiTosFFNdu7HeTJcPYgUjp+uP/Yawh9zxXC7qm nWE8Hh4iLIUgsoGka68+DgrYg5ARLCZH2bZBS2NBgpJCz+Vgqb7POREDnCFtp59wH6xFAXpg ZT9s5H2ABoyJZ+MjjeRZ+4GAauk4f2IWBWF3wMxTsRwq2/2oCHyFWy13N2YDBc5WirjUW+5C HI/RSsMjHOuFCD3MvMvON7Z5zoClPG5SY6Nug/ogipmO8AtLmdrDQlhYkmf222FraTfufBXB HtvSu71VSxyIf0/klKeHr5BuZd2mH1W7T6MHfjTkkX/uZLDNSX9YepUYDOmMLplhIva+1692 4gEZ6O3J+B3CrKWjt//qt5Nczjn7BETWfjLliCgXrfTeVs9Qj54Uaa5LHFIU9UNopm5X9zgp hmVMnK0AnKm7ZEeAQnVOH1ldp31WpNz8SAyMSA2bASn3nEiZcCk66JGL8k7erwu9epCy/9oT qldK5/QXKgXEjmXqS4AaZTdrZB5cEv5iA+LOR2jamdtcpNlQTvP5dK5LBDk8zMDD3bsuMZn+ ++g2wrXTIAtXQNnCMqKOvujw0ng73cYkeN2GUDPJ4ALKknr9YFrLQ33j+M2c5lcc0WdmmPC2 l/PUxkCpOTLr4sky/XzhPiJ/9WzDu9zPktGBG2Ev7u7MC/t+GD8k4JNVeC/ey+ECDH59aCkU uViz//mNcoBklsX4ZF3FKxmzP5n6tbi++1awwBjECmZZlinEOk7cHyP3M0KqbcUg7EF6U25X UWA/tQcMrKMYZu3HFkULQsjT+KCyfBExWWIvKpteB33tH1t4b6KcUROJB3Q2iZTG714bdE+y uA7tc9KtgGy1kgwPtCdgnwG/miANCZbAaAut5VfH5WyzwR3mhdNZpvTDiKw65aKMo0ePk4vK z6SpazDm7UMmRaYIiRrTSDAjbhHmJADmBFW11tedV6HrdzI260s1xpL/DVrEwlYw32rCQ6o1 rSH6qG0GUmPw9usrM1KXmTpBBsYQRPFqgr+zFwGkGCfRE6tPoAIwKvRJs7VlH31MUoFFtSYw F1c4GngWDfuOsr220PenGZ7/uf7Q4UZGhLqwaia8gfsI3X+STXgi66qI2EPrnMLxC/3aFLv/ YFXwQq7VUE32eP8bUH250l2GIn8kCy5GVE=
- Ironport-hdrordr: A9a23:ECVr7a6Jfh6A23mICAPXwBHXdLJyesId70hD6qkRc20pTiX8ra uTdZsgtCMc9wxhPk3I9ertBEDCewKkyXcN2/hrAV76ZnidhILKFvAf0WKB+V3d8kTFn4Y26U 4HScdD4bbLYGSS4/yV3OHEe+xQuOVvJJrY59s3sx9WPGZXgtlbnmRE4/GgYylLraB9dP8EKK Y=
- Ironport-phdr: A9a23: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 0xu4uORSeso/TbopVwwIwiTzBY=
- Ironport-sdr: LX+PxY0/1dSkuiHzYxqyy5hn7Q3DnPS0G+sT9FTvPBDDRkLum983LEfWT5M2ahHewkL2lMoP0E WXXA41Cd8RHHpdav8D7TKK+NYtVDz11ZY18mVo+JPdKw9w5Z4T7/Rqucmr4pf3qwr/E1rpd3cF KX4eD4Tg3kSF7o45hfstYxPcHfEk1jNgywZ9MmHJHMx4Qp25uV+VCV3EQ8vjp+8Hoy+8HYKN1b Igj7HEv14HuNVVjItrkwjNtIapH27IQCOI4xfR5LyFq9HzRqE7t9x1pO1YF9CSEZYT41yrDrlZ tgkxtBlZ1xQ82R/+9Wat92Y+
It is still not clear to me what you are looking for.
If you have 3D points, getting all the facets (triangles) will give you
all the facets on the convex hull + some facets internal to the convex hull.
Are you more looking into something like point cloud -> triangle mesh?
In such a case have a look here:
https://doc.cgal.org/latest/Manual/tuto_reconstruction.html
Best,
Sebastien.
On 7/5/22 18:30, KL ( via cgal-discuss Mailing List) wrote:
Well,
I am not even sure about the wording anymore, too complicated.
I don't even understand which API I should use.
The context is 3D triangulation from an array of 3D points.
A high level triangulation function -> inject your points and get the minimum number of triangles from those, would be very handy.
This is the only thing I want.
Iterating over vertices is not good either because you don't have the logic of the triangles.
From there, I may create a 3D object.
Hence the associated constraint to have an optimized number of resulting triangles.
So, Sebastian, where should I look to achieve that ?
I am a lost sailor,
--
MKL
05.07.2022, 17:21, "Sebastien Loriot ( via cgal-discuss Mailing List)" <>:
I'm not sure to understand what is your problem. A minimal self
contained example that we can run and that shows your problem would
be perfect.
What I can tell from the code I see:
You are computing a 3 triangulations that consists of tetrahedra.
`finite_facets()` provides the range of face that are not connected
to the infinite vertex. A facet is given a std::pair of a Cell_handle
(tetrahedron) and the id of the vertex in the cell opposite to the
facet. About the access to the vertices of a facet, the %4 is here so
that the index stays in [0,3] while ignoring pair.second (that might or
might not be infinite).
HTH,
Sebastien.
On 7/5/22 14:46, KL (
<> via cgal-discuss Mailing List)
wrote:
Hi,
The issue: while the code below works, it returns too many
triangles for
a simple shape.
So, for a square, instead of two triangles made by one of the
diagonal
of the square, I get four tris, because the two diagonals are
connecting.
I get my vertices using:
using K = CGAL::Exact_predicates_inexact_constructions_kernel;
using Triangulation = CGAL::Triangulation_3 <K>;
using Cell_handle = Triangulation::Cell_handle;
using Vertex_handle = Triangulation::Vertex_handle;
using Locate_type = Triangulation::Locate_type;
using Point_CGAL = Triangulation::Point;
...
Triangulation tri;
...
// load data
...
//loop
for ( auto &e : tri.finite_facets() ){
auto &vert = *( e.first );
auto starter_id = e.second;
for ( u32 x = 1; x < 4; x += 1 ){
auto &pt = *( vert.vertex( ( starter_id + x )
% 4 )
); // saw that line on the stackoverflow -> 3
finite
vertices and 1 infinite vertice, hence the 4.
// store my result
}
}
I need the triangulation to be the minimum number of tris for
any given
shape. A square should have 2 tris.
I read the doc, but it is not among the easiest to wrap one's
head around.
What should I modify, please?
Thanks
--
MKL
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
<https://sympa.inria.fr/sympa/info/cgal-discuss>
--
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] 3D triangulation: absolute minimum of facets, KL, 07/05/2022
- Re: [cgal-discuss] 3D triangulation: absolute minimum of facets, Sebastien Loriot, 07/05/2022
- Re: [cgal-discuss] 3D triangulation: absolute minimum of facets, KL, 07/05/2022
- Re: [cgal-discuss] 3D triangulation: absolute minimum of facets, Sebastien Loriot, 07/05/2022
- Re: [cgal-discuss] 3D triangulation: absolute minimum of facets, KL, 07/05/2022
- Re: [cgal-discuss] 3D triangulation: absolute minimum of facets, Sebastien Loriot, 07/05/2022
Archive powered by MHonArc 2.6.19+.