Subject: CGAL users discussion list
List archive
- From: Sebastian Bachmann <>
- To:
- Subject: Re: [cgal-discuss] Smooth surfaces at image boundary
- Date: Mon, 9 May 2022 17:04:07 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:l/2nUKizSx+2AGUSOjAD1msDX161CRYKZh0ujC45NGQN5FlHY01je htvCjzUPKuLYmvwfox3aY+39x8G68DcyYc3QVBkrX81RStjpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UKieUsxIbVcMpB0J0HqPoMZkxN8x6TSFK1nV4 4mq/pWOYAbNNwNcawr41YrT8HuDg9yp4Fv0jnRmDRyclAK2e9E9VfrzFInpR5fKatE88t2SG 44v+IqEElbxpH/BPD8KfoHTKSXmSpaKVeSHZ+E/t6KK2nCurQRquko32WZ1hUp/0120c95NJ Npl7K6hUV85G6/2ksMjdUAEAxxXOYhdweqSSZS/mZT7I0zudnrgzPx0AAcsMIoIvO9raY1M3 aVHdnZcKE/TwbvtmNpXScE07ignBMnmOIcYkmttyiGfBOpOrZXrGPiRtIEGhG1YasZmF/TfR pVGdShTcj/9WiRfCnMHCq0nk7L97pX4W2YB9Q3O/vFfD3Lo5Ad+2byoPNvOccGRXu1Oj0OAr yTH+X74C1cULrSiJSGt93OgiebVkWXhVYUCUrSknhJ3vLGN7jUhGQVORX65m/OetGjnB8JiA kgx4RN7+MDe63eXZtX6WhS5pluNsRgdR8dcHoUGBOelmvO8D+GxVjJsc9JRVDA1nJJvH217j Tdli/u4WW026NV5XFrHru/8kN+kBcQCBUMvDRLooCMA4tXsqZs/yAjCScYlGbLdYjzJ9dPYn 2niQMsW3uV7YSs3O0KTpwmvvt5UjsKVJjPZHDn/UGO/9R9eb4W4fYGu4lWzxa8ecdzBEwDR5 ilbxpn2AAUy4XelxHXlrAIlTOvB2hp5GGGM6bKSN8N6rW/xpyDLkX54sWAlfxwB3jk4lc/BO xaO5lgKv/e/zVOqYLNlZY+rQ8MsyanmGJzqU/rUBueikbAhHDJrCBpGOxTMt13FilY3q6gjN P+zKYD0UyxHYUiR5GfuH791PH5C7ntW+F4/srimkUT6iebOOC/9pHVsGALmU93VJZis+G39m +uz/ePTo/mGeOGhMCTR76AJKlUGcSoyCZzs9J5Ne+mTZAN6QTlzB/jUyLInWopkg6UMyraWp C7gABcAxQqtn2DDJCWLdmtnNOHlU6F5oC9pJicrJ1uphyUubN/3vqcSfpc6Z5c98+lnwaImR vUJYZrSGPlIWnLO521FP5X6qYVjcjWthB6PZnb0PmJgIsQ4HwGQo43qZAri8iUKHxGbj8pmr u3yzB7fTLoCWx9mUJTcZsWpwg7jpnMagu9zAxbFL9QPKkXh9I9md374gvMtepxeLBTPyTKA2 0CMDBAI4+DR+tdn/N7MjKGCjoGoD+onQhsERTaGt+7uOHmI5HenzK9BTP2MI2LXWlT0z7r+N +9b+Pfxba8cl1FQvoshTbsylfAi58HirqNxxxh/GCmZdEyiD75tfiuc0c9UuvEfz7NVo1LrC EeO9tZTI7nPIs7iABgYOFN9POiE0PgVnBjU7Og0eRmrunUooeDfCUgCbQORjCF9LaduNN13y +kWuPkJt161hC0sP4vUlStT7WmNcyINCv11qpEADYb3oQM30VUeM4fEAyr77Zznhw+g6aX2z ut4RZYuhoiwAmLHcnY8HGLBm/BQgoRIsQwiIJru4biWsoKtuxP19EQ5HfcLosB91BhAw6R6J gCH8mVrcL6W8W4AaNdrBgiR9sIoOPFd0lb8zEtPnXGxo4xEkIDSBDVVBNthN3z1P46Rkva3M V1YJKvYve7WQfzM
- Ironport-hdrordr: A9a23:D2UaH6pERhu0eJGgdpFtTZ8aV5o8eYIsimQD101hICG9Afb2qy nIpoV+6faUskd1ZJhOo7290cW7IU80sKQFg7X5Xo3PYOCFggGVxehZhOOI/9SjIUzDH4VmpM RdmsZFZuHNMQ==
- Ironport-phdr: A9a23:LNyAaxzyXP+22WDXCzLkwVBlVkEcU1XcAAcZ59Idhq5Udez7ptK+Z heZvqQm3AaBHd2Cra4e0ayO6+GocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wE ZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmjSwbal8I RiyognctdQaipZmJqot1xfFuHRFd/pIyW9yOV6fgxPw7dqs8ZB+9Chdp+gv/NNaX6XgeKQ4Q 71YDDA4PG0w+cbmqxrNQxaR63UFSmkZnQZGDAbD7BHhQ5f+qTD6ufZn2CmbJsL5U7Y5Uim/4 qhxSR/ojCAHNyMl8GzSl8d9gr5XrA6nqhdixIHafp+aNfVifq3Ee9MaQWpAUt9IWyFdDI6xb YUCA/MdMetXsoLxo1sDoQe7CQSqGejhyCJHhmXu0KM53eouHh/I3AIgEdwTsnvbsNr7ObwOU e231qTE0SnPY+9U1Dr79YPGcgohofaJXb9obMTe11IgGBnejlWMqIzqJTWV3fkQvmeB8+VgV eevhHQhqwF3vzOiwccshZfNhoIRzVDJ7j95z5gyJdy3UkJ0e8KkHYJWuiqHOIR4XtksTHt0u CYm1LIGo5i7cTAUxJg5xxDSd/yJf5WH7B/iSuufITN1iXF5dL+hhhu//lSsxO3yWMSpzFtHr SVLn9rDuH0P1RHe9NWKR/9y80qj3zuEyg7d6uZBIU8ulKrbLYYswrExlpoPsUTDAzT5lF/qg 6+Rc0Uo4vSn6+v9bbXivJOcMJV0ig74P68zmcK/Gfw1PhUMUmWa4+ix0Kfv8E/6TblQk/E7n LXVvZbHLsoBvKG5GRVa0oM75ha/ETim1NMYkGECLFJEZR2HgJLmO0vTL/ziF/ewnVOskThxy //cIr3tGpTNLn7dn7f9Zbtx9kxRxQspwd1b/Z5ZCLIMLOjuVkL/qNDUFho5PBa1w+bjBtV9z IQeWWeXD6+ZLqzStVuI5uU0LumWeoAVvzn8J+I/6P7ylXM5n0QScrGz3ZQLcHC4AuhmI0KBb HbxmtsBC3sFvhIiTOz2j12PSSJcZ3moUKI4/z00FYOmDZzfSYCwm7yBxzy2HoZWZ2BDElCDC 23kd4SCW/cWaSKdONVtkjIeVevpd4h03h6nsEr2yqFsM/HP0iwer5PqktZvtMPJkhRnzjF+B t+B0miLB0t9lWMNTjkwlPR/rEh5zX+Z3K9oxfVEQ48Ar8hVWxs3YMaPh9dxDMr/D1+ZFj/oY FOvQ9H8RCo0Usp02dgFJUB0B9SliBnHmSusGb4c0bKRV9Qv6qyJ+X/3Ko5mzmrekrE7hgwmT 89LMkW8i6lvsQHPVMbSi0vMr6+xbuwH2TLVsmKKzG6ApkZdBQ59VaHCdWoSYVuQpMiqrljaQ eqIDrIqehBE1dbEKqZObYjxik5aQf74JNnES2ewl2i5HxrO3L6LfMzjZw3xxQ37D04J20AW9 HeCb00lAzu55njZB3poHE7uZEXl9a9/rmm6Rwk61VPCaUopzLez9hMP4J7UA/oOwrIJvjsgo DRoDR682dzREd+Juwtmeu1Vf9o85F5N0W+RuRZ6O9SsKKVrh1hWdAoS3Qum1xhzDoJoi8Utv DUj0Es6KK6V1k9AayLNxYr5afXcLmj/+gzqaraDgw6AlofQpfdJsa9g+DCB9EmzG0Ev8mtqy YxQ2nqYvNDRCRYKFIj2WQAx/gR7oLfTZm884ZnV3DtiK/rR0HeK1tQ3Ce8i0hvlcc1YNfbOF AL2F8oyHcWpOKojhxL6JgJBJ+1U+KMuaommev+C34axMeFw2ju6xzcigsg1wgeH8CxyTfTN1 pAOzqSD3weJYDz7iU+orsH9nY0siSg6JmOk0mCkAYdQYvc3ZoMXESK0JMbxwNxihpnrUnoe9 Vi5BlpA1tX7MRaValX820VX2yF16TSnlC+8yBRunjY56KODlCDD2OXtchMbN3UDHTY8ywaqf tjy1otCFEGzJxAkjh6k+Vr3y+BAqaJzInOSJCUANyn6Imd+U7eh47+LYspB8pQt4m1cVOWxZ 0zfS6ao+kRElXKlQDsYnWtjJFTI8t3jkhd3iXyQNiN2pXvdI4RrwAvHocbbTrhX1yYHQy9xj X/WAEK9Np+n54bx9d+Lv+agWmamTpAWfzPsyNbKtCa/4WpCGxC4j7a6hpe0WRh/yiL929RwA G/IoRL4ZaHx2qOqd+t7NBoNZhe0+49xHYdwlZE1jZcb1C0Bh5mbynEAlH/6LdRR3a+tJGpIX zMAxMTZpRT0wEA2ZGzc3Jr3Dz/Op6kpL8n/eG4d3TgxqtxHGLvBpqIRhjN7+xL7pEqSZOg12 z4ZzbFGBGcypeYPtUJtyyycBupXBkxEJWn2kB/O6dmiraJRbWLpcL6q1UM4k8rzRLeF6hpRX nr0YPJAVWd589l/PVTQ0Xby9pCsed/easgWvwGVlBGIhvZcKZY4nP4HzSR9Pme1sXogwu89x RtguPPy9JCAMHlo9bmlDwRwMzz5aMoJ9nf3gKFO2M+KnsiuEphnBjQXTc7oQPavQ1dw/bzsM weDFiF5q2/OQOWBW17Ztxcg9imXQPXJfzmNKXIUzMtvXkyYLU1b2kUPWSki24Q+HUaszdDgd 0Fw4nYQ4ET5o11C0LENVVG3X2HBqQOvcjpxRoKYKU8c7gxG40D9K8GZ/qR6A2sLm//p5BzIM WGdawlSWCsRXVeYAln4IrS0zdzB/+eRHOb4NfbJcfOHtaYNMpXAjYLq2Yxg8TGWM8yJNXQ3F Pw31H1IWnVhEtjYkTECI8TyvzjAaN7drQvuokWfT+i68fjkURjjo5GCDKsUOMk9o3hebo+ZO umAwi9le28w6w==
- Ironport-sdr: x7LkikDvCHMdOR21pV1dODBIadxzBrwouJIou5slqIlnvCpX0VhWZM61ODxou/a0Xv2uzlFHQT sMjtC2zDRxVKXxldTCGHvq1SnmvtLUgvdSDD0p3enhjBuTZ4wuX41uRr7ExVOcxsaS4DaEIkzF qDMACvAdWYdMMjOYbjnWEoYzXq56pMbvRgznHj7OKxjTikpHj2vqqonGl/YhuPIecIP9t8vrkg AxjI0y6MzyrNydBSj+GjmjZNhLJ3c5/g6Qp1BnLd0ovUhcujFBl4x0YKeYGgK11anLl8UVqfxX WQVMlU6/EObpBYSJWysmsTLh
On 09.05.2022 16:13, Sebastien Loriot ( via cgal-discuss Mailing List) wrote:
On the attached screenshot, you'll see in read the intersection of
the output mesh with the cube (0 0 0 -> 100 100 100).
So clearly, the mesh is not exactly on the cube.
The initialization (intersection of the image with the cube) is
done with points exactly on the cube. But then, intersection points
are computed by bisection (it is handled as an image).
okay I see. but in that case I should see some points directly on the image boundary? Or does this not apply to the mesh vertices itself?
Snapping could be done by using a dedicated oracle using a different
intersection computation function when the segment intersect the
boundary cube.
Do I understand it correctly, that the bisection is handled here: https://github.com/CGAL/cgal/blob/acbd1ee182211c6309f355925927802f036fbe13/Mesh_3/include/CGAL/Labeled_mesh_domain_3.h#L713
?
I.e. I would have to change that, such that in the case of the image boundary, not `mid` is returned but a point exactly on that surface?
Best,
Sebastian
Best,
Sebastien.
On 5/9/22 10:43, hello ( via cgal-discuss Mailing List) wrote:
Hello,
sure! Attached is an example source code and the resulting file for the 420 example.
I would have expected, that all nodes on the bounding surfaces are either at x/y/z 0 or 100 (as it is for the edges) but instead they appear roughly at 0 or 100 +-0.05.
It seems to correlate with the relative_error_bound, however I can only make the error smaller but not go away completely. (The attached file is generated with 1e-3)
Best,
Sebastian
On 09.05.22 09:23, Sebastien Loriot ( via cgal-discuss Mailing List) wrote:Hello,
could you share a minimal example showing the problem?
Thanks,
Sebastien.
On 5/7/22 13:37, Sebastian Bachmann ( via cgal-discuss Mailing List) wrote:Hello,
No one has an idea? Is it not somehow possible to restrict nodes onto a surface? I.e. if I have the polyline of the surface's boundary, can I specify that all nodes must be on that surface?
For now I have written a function to go over all nodes and check if they are near such a boundary face and then "pull" the nodes onto that surface. However, there are certain edge cases were this then yields collapsed triangles etc. Thus, solving this during meshing would be a great enhancement.
Best,
Sebastian
On 25.04.2022 07:16, Sebastian Bachmann ( via cgal-discuss Mailing List) wrote:Hello,
I created an image meshing tool, similar to the one given here in this example code: https://doc.cgal.org/latest/Mesh_3/Mesh_3_2mesh_3D_image_with_features_8cpp-example.html with the only difference, that I extract the surface elements and not write the full 3D mesh.
I noticed, that on the image boundary, the vertices would be not exactly on the face but roughly +- the relative error bound given in create_labeled_image_mesh_domain. For examples, nodes on the xy plane at z=0 are not on z=0 but for example -0.01 to 0.01. While the protected polylines are exact and have always z=0.
I created for example a mesh from the 420.inr example with the same meshing criteria as given in the example and can see that behaviour there.
While you can control the maximal deviation using the relative error bound, there will always be some deviation. And if I set the relative error bound too low, it seems the meshing never finishes.
I wonder now, if it is possible to constraint the mesh (similar to the 1d polylines), such that the vertices for facets on the image boundary, are always exactly on the image boundary?
Best,
Sebastian
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastian Bachmann, 05/07/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, hello, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastian Bachmann, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/10/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastian Bachmann, 05/10/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/10/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastian Bachmann, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, hello, 05/09/2022
- Re: [cgal-discuss] Smooth surfaces at image boundary, Sebastien Loriot, 05/09/2022
Archive powered by MHonArc 2.6.19+.