Skip to content

Commit debcce3

Browse files
committed
add encrusted_cube model
1 parent d5038dd commit debcce3

11 files changed

+129912
-4
lines changed

Diff for: CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1212
- A triangle mesh (.obj), the naive labeling (.txt) and a glTF model are included for all models. The .obj can be downloaded directly from the README.
1313
- Links to visualize the 3D model with [3dviewer.net](https://3dviewer.net/) ([kovacsv/Online3DViewer](https://github.com/kovacsv/Online3DViewer))
1414
- `cuboid_tray_with_step` model
15+
- `encrusted_cube` model
1516

1617
### Changed
1718

Diff for: README.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ For STL files I used the default relative deflection of 0.0001.
2222

2323
Name | Thumbnail | Files | Comments
2424
-----|-----------|-------|---------
25+
`encrusted_cube` | <div align="center"><img src="encrusted_cube/thumbnail.png" width="300"/><br/><a href="https://3dviewer.net/#model=https://github.com/LIHPC-Computational-Geometry/nightmare_of_polycubes/blob/main/encrusted_cube/labeled_mesh.glb" target="_blank" rel="noopener noreferrer">3D viewer ↗</a></div> | [.hdf](encrusted_cube/SALOME_Study.hdf) <br/> [.py](encrusted_cube/SALOME_Shaper.py) <br/> [.step](encrusted_cube/CAD.step) <br/> [.brep](encrusted_cube/CAD.brep) <br/> [.stl](encrusted_cube/CAD.stl) <br/> [.obj](encrusted_cube/triangle_mesh.obj) | The labeling is justly classified as invalid (there are 4-connected corners with incident boundaries of the same axis) according to the "simple orthogonal polyhedra" criteria [^5][^1]. But the issue is that the common processing for invalid corners (local relabeling) will result in a high distorsion, whereas a global operator (retracing of incident boundaries) would be better. Model inspired by ABC n°00001525 [^6].
2526
`cuboid_screw_thread` | <div align="center"><img src="cuboid_screw_thread/thumbnail.png" width="300"/><br/><a href="https://3dviewer.net/#model=https://github.com/LIHPC-Computational-Geometry/nightmare_of_polycubes/blob/main/cuboid_screw_thread/labeled_mesh.glb" target="_blank" rel="noopener noreferrer">3D viewer ↗</a></div> | [.hdf](cuboid_screw_thread/SALOME_Study.hdf) <br/> [.py](cuboid_screw_thread/SALOME_Shaper.py) <br/> [.step](cuboid_screw_thread/CAD.step) <br/> [.brep](cuboid_screw_thread/CAD.brep) <br/> [.stl](cuboid_screw_thread/CAD.stl) <br/> [.obj](cuboid_screw_thread/triangle_mesh.obj) | Introduced in [^2] and mentioned in appendices of [^3]. <br/> Labeling-based approaches [^1][^3] will collapse the two parts of the slope, constrained to the same top and bottom planes.
2627
`cuboid_torus_with_step` | <div align="center"><img src="cuboid_torus_with_step/thumbnail.png" width="300"/><br/><a href="https://3dviewer.net/#model=https://github.com/LIHPC-Computational-Geometry/nightmare_of_polycubes/blob/main/cuboid_torus_with_step/labeled_mesh.glb" target="_blank" rel="noopener noreferrer">3D viewer ↗</a></div> | [.hdf](cuboid_torus_with_step/SALOME_Study.hdf) <br/> [.py](cuboid_torus_with_step/SALOME_Shaper.py) <br/> [.step](cuboid_torus_with_step/CAD.step) <br/> [.brep](cuboid_torus_with_step/CAD.brep) <br/> [.stl](cuboid_torus_with_step/CAD.stl) <br/> [.obj](cuboid_torus_with_step/triangle_mesh.obj) | Introduced in [^2] I believe. <br/> Here too labeling-based approaches [^1][^3] will not detect any invalidity and crush the step into the z-axis plane.
2728
`cuboid_tray_with_step` | <div align="center"><img src="cuboid_tray_with_step/thumbnail.png" width="300"/><br/><a href="https://3dviewer.net/#model=https://github.com/LIHPC-Computational-Geometry/nightmare_of_polycubes/blob/main/cuboid_tray_with_step/labeled_mesh.glb" target="_blank" rel="noopener noreferrer">3D viewer ↗</a></div> | [.hdf](cuboid_tray_with_step/SALOME_Study.hdf) <br/> [.py](cuboid_tray_with_step/SALOME_Shaper.py) <br/> [.step](cuboid_tray_with_step/CAD.step) <br/> [.brep](cuboid_tray_with_step/CAD.brep) <br/> [.stl](cuboid_tray_with_step/CAD.stl) <br/> [.obj](cuboid_tray_with_step/triangle_mesh.obj) | Similar to the previous model (the step will still be crushed), but of genus 0.
@@ -42,10 +43,14 @@ Thanks to François Protais for the ideas and to Christophe Bourcier for the hel
4243
How to give attribution:
4344
> "[Nightmare of polycubes](https://github.com/LIHPC-Computational-Geometry/nightmare_of_polycubes)" by Sébastien Mestrallet and Christophe Bourcier, licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/)
4445
45-
[^1]: Marco Livesu, Nicholas Vining, Alla Sheffer, James Gregson, Riccardo Scateni, "PolyCut: Monotone Graph-Cuts for PolyCube Base-Complex Construction", _Transactions on Graphics_ (Proc. SIGGRAPH ASIA 2013), 2013, [DOI](https://dl.acm.org/doi/10.1145/2508363.2508388), [project page](http://www.cs.ubc.ca/labs/imager/tr/2013/polycut/)
46+
[^1]: Marco Livesu, Nicholas Vining, Alla Sheffer, James Gregson, Riccardo Scateni, "PolyCut: Monotone Graph-Cuts for PolyCube Base-Complex Construction", _Transactions on Graphics_ (Proc. SIGGRAPH ASIA 2013), 2013, DOI: [10.1145/2508363.2508388](https://dl.acm.org/doi/10.1145/2508363.2508388), project page: [www.cs.ubc.ca/labs/imager/tr/2013/polycut/](http://www.cs.ubc.ca/labs/imager/tr/2013/polycut/)
4647

47-
[^2]: Dmitry Sokolov, Nicolas Ray, "Fixing normal constraints for generation of polycubes", research report, LORIA, 2015, [HAL](https://inria.hal.science/hal-01211408)
48+
[^2]: Dmitry Sokolov, Nicolas Ray, "Fixing normal constraints for generation of polycubes", research report, LORIA, 2015, HAL: [hal-01211408](https://inria.hal.science/hal-01211408)
4849

49-
[^3]: Corentin Dumery, François Protais, Sébastien Mestrallet, Christophe Bourcier, Franck Ledoux, "Evocube: a Genetic Labeling Framework for Polycube-Maps", _Computer Graphics Forum_, 2022, [DOI](http://doi.org/10.1111/cgf.14649), [HAL](https://hal-cea.archives-ouvertes.fr/hal-03657779v2), [project page](https://corentindumery.github.io/projects/evocube.html)
50+
[^3]: Corentin Dumery, François Protais, Sébastien Mestrallet, Christophe Bourcier, Franck Ledoux, "Evocube: a Genetic Labeling Framework for Polycube-Maps", _Computer Graphics Forum_, 2022, DOI: [10.1111/cgf.14649](http://doi.org/10.1111/cgf.14649), HAL: [hal-03657779](https://hal-cea.archives-ouvertes.fr/hal-03657779), project page: [corentindumery.github.io/projects/evocube.html](https://corentindumery.github.io/projects/evocube.html)
5051

51-
[^4]: Sébastien Mestrallet, François Protais, Christophe Bourcier, Franck Ledoux, "Limits and prospects of polycube labelings", _SIAM International Meshing Roundtable_ Workshop, March 2023, [HAL](https://cea.hal.science/cea-04169841)
52+
[^4]: Sébastien Mestrallet, François Protais, Christophe Bourcier, Franck Ledoux, "Limits and prospects of polycube labelings", _SIAM International Meshing Roundtable_ Workshop, March 2023, HAL: [cea-04169841](https://cea.hal.science/cea-04169841)
53+
54+
[^5]: David Eppstein, Elena Mumford, "Steinitz Theorems for Orthogonal Polyhedra", _Proceedings of the 26th annual symposium on Computational Geometry_, pp.429–438, 2010, DOI: [10.1145/1810959.1811030](http://doi.org/10.1145/1810959.1811030)
55+
56+
[^6]: Sebastian Koch, Albert Matveev, Zhongshi Jiang, Francis Williams, Alexey Artemov, Evgeny Burnaev, Marc Alexa, Denis Zorin, Daniele Panozzo, "ABC: A Big CAD Model Dataset For Geometric Deep Learning", _Computer Vision and Pattern Recognition_, DOI: [10.1109/CVPR.2019.00983](http://doi.org/10.1109/CVPR.2019.00983), project page: [deep-geometry.github.io/abc-dataset](https://deep-geometry.github.io/abc-dataset/)

0 commit comments

Comments
 (0)