From 7634013b75b3fcc0646f67e8053ed055776dbbc7 Mon Sep 17 00:00:00 2001 From: Juan Jose Casafranca Date: Fri, 10 Jan 2025 23:48:43 +0000 Subject: [PATCH] Colon demo Signed-off-by: Juan Jose Casafranca --- examples/python/Colon/axis.obj | 2295 +++++++++++++++++++ examples/python/Colon/colon.stl | Bin 0 -> 100084 bytes examples/python/Colon/demo 1.py | 270 +++ examples/python/Colon/parallel_transport.py | 73 + 4 files changed, 2638 insertions(+) create mode 100644 examples/python/Colon/axis.obj create mode 100644 examples/python/Colon/colon.stl create mode 100644 examples/python/Colon/demo 1.py create mode 100644 examples/python/Colon/parallel_transport.py diff --git a/examples/python/Colon/axis.obj b/examples/python/Colon/axis.obj new file mode 100644 index 00000000..e000459b --- /dev/null +++ b/examples/python/Colon/axis.obj @@ -0,0 +1,2295 @@ +# Blender 4.1.1 +# www.blender.org +o Sphere +v 0.000000 0.083147 -0.055557 +v 0.000000 0.055557 -0.083147 +v 0.000000 0.019509 -0.098079 +v 0.000000 -0.000000 -0.100000 +v 0.000000 -0.019509 -0.098079 +v 0.000000 -0.055557 -0.083147 +v 0.003806 0.098079 -0.019134 +v 0.007466 0.092388 -0.037533 +v 0.010839 0.083147 -0.054490 +v 0.013795 0.070711 -0.069352 +v 0.016221 0.055557 -0.081549 +v 0.018024 0.038268 -0.090613 +v 0.019134 0.019509 -0.096194 +v 0.019509 -0.000000 -0.098079 +v 0.019134 -0.019509 -0.096194 +v 0.018024 -0.038268 -0.090613 +v 0.016221 -0.055557 -0.081549 +v 0.013795 -0.070711 -0.069352 +v 0.010839 -0.083147 -0.054490 +v 0.007466 -0.092388 -0.037533 +v 0.003806 -0.098079 -0.019134 +v 0.007466 0.098079 -0.018024 +v 0.014645 0.092388 -0.035355 +v 0.021261 0.083147 -0.051328 +v 0.027060 0.070711 -0.065328 +v 0.031819 0.055557 -0.076818 +v 0.035355 0.038268 -0.085355 +v 0.037533 0.019509 -0.090613 +v 0.038268 -0.000000 -0.092388 +v 0.037533 -0.019509 -0.090613 +v 0.035355 -0.038268 -0.085355 +v 0.031819 -0.055557 -0.076818 +v 0.027060 -0.070711 -0.065328 +v 0.021261 -0.083147 -0.051328 +v 0.014645 -0.092388 -0.035355 +v 0.007466 -0.098079 -0.018024 +v 0.010839 0.098079 -0.016221 +v 0.021261 0.092388 -0.031819 +v 0.030866 0.083147 -0.046194 +v 0.039285 0.070711 -0.058794 +v 0.046194 0.055557 -0.069134 +v 0.051328 0.038268 -0.076818 +v 0.054490 0.019509 -0.081549 +v 0.055557 -0.000000 -0.083147 +v 0.054490 -0.019509 -0.081549 +v 0.051328 -0.038268 -0.076818 +v 0.046194 -0.055557 -0.069134 +v 0.039285 -0.070711 -0.058794 +v 0.030866 -0.083147 -0.046194 +v 0.021261 -0.092388 -0.031819 +v 0.010839 -0.098079 -0.016221 +v 0.013795 0.098079 -0.013795 +v 0.027060 0.092388 -0.027060 +v 0.039285 0.083147 -0.039285 +v 0.050000 0.070711 -0.050000 +v 0.058794 0.055557 -0.058794 +v 0.065328 0.038268 -0.065328 +v 0.069352 0.019509 -0.069352 +v 0.070711 -0.000000 -0.070711 +v 0.069352 -0.019509 -0.069352 +v 0.065328 -0.038268 -0.065328 +v 0.058794 -0.055557 -0.058794 +v 0.050000 -0.070711 -0.050000 +v 0.039285 -0.083147 -0.039285 +v 0.027060 -0.092388 -0.027060 +v 0.013795 -0.098079 -0.013795 +v 0.016221 0.098079 -0.010839 +v 0.031819 0.092388 -0.021261 +v 0.046194 0.083147 -0.030866 +v 0.058794 0.070711 -0.039285 +v 0.069134 0.055557 -0.046194 +v 0.076818 0.038268 -0.051328 +v 0.081549 0.019509 -0.054490 +v 0.083147 -0.000000 -0.055557 +v 0.081549 -0.019509 -0.054490 +v 0.076818 -0.038268 -0.051328 +v 0.069134 -0.055557 -0.046194 +v 0.058794 -0.070711 -0.039285 +v 0.046194 -0.083147 -0.030866 +v 0.031819 -0.092388 -0.021261 +v 0.016221 -0.098079 -0.010839 +v 0.000000 0.100000 -0.000000 +v 0.018024 0.098079 -0.007466 +v 0.035355 0.092388 -0.014645 +v 0.051328 0.083147 -0.021261 +v 0.065328 0.070711 -0.027060 +v 0.076818 0.055557 -0.031819 +v 0.085355 0.038268 -0.035355 +v 0.090613 0.019509 -0.037533 +v 0.092388 -0.000000 -0.038268 +v 0.090613 -0.019509 -0.037533 +v 0.085355 -0.038268 -0.035355 +v 0.076818 -0.055557 -0.031819 +v 0.065328 -0.070711 -0.027060 +v 0.051328 -0.083147 -0.021261 +v 0.035355 -0.092388 -0.014645 +v 0.018024 -0.098079 -0.007466 +v 0.019134 0.098079 -0.003806 +v 0.037533 0.092388 -0.007466 +v 0.054490 0.083147 -0.010839 +v 0.069352 0.070711 -0.013795 +v 0.081549 0.055557 -0.016221 +v 0.090613 0.038268 -0.018024 +v 0.096194 0.019509 -0.019134 +v 0.098079 -0.000000 -0.019509 +v 0.096194 -0.019509 -0.019134 +v 0.090613 -0.038268 -0.018024 +v 0.081549 -0.055557 -0.016221 +v 0.069352 -0.070711 -0.013795 +v 0.054490 -0.083147 -0.010839 +v 0.037533 -0.092388 -0.007466 +v 0.019134 -0.098079 -0.003806 +v 0.019509 0.098079 -0.000000 +v 0.038268 0.092388 -0.000000 +v 0.055557 0.083147 -0.000000 +v 0.070711 0.070711 -0.000000 +v 0.083147 0.055557 -0.000000 +v 0.092388 0.038268 -0.000000 +v 0.098079 0.019509 -0.000000 +v 0.100000 0.000000 0.000000 +v 0.098079 -0.019509 0.000000 +v 0.092388 -0.038268 0.000000 +v 0.083147 -0.055557 0.000000 +v 0.070711 -0.070711 0.000000 +v 0.055557 -0.083147 0.000000 +v 0.038268 -0.092388 0.000000 +v 0.019509 -0.098079 0.000000 +v 0.019134 0.098079 0.003806 +v 0.037533 0.092388 0.007466 +v 0.054490 0.083147 0.010839 +v 0.069352 0.070711 0.013795 +v 0.081549 0.055557 0.016221 +v 0.090613 0.038268 0.018024 +v 0.096194 0.019509 0.019134 +v 0.098078 0.000000 0.019509 +v 0.096194 -0.019509 0.019134 +v 0.090613 -0.038268 0.018024 +v 0.081549 -0.055557 0.016221 +v 0.069352 -0.070711 0.013795 +v 0.054490 -0.083147 0.010839 +v 0.037533 -0.092388 0.007466 +v 0.019134 -0.098079 0.003806 +v 0.018024 0.098079 0.007466 +v 0.035355 0.092388 0.014645 +v 0.051328 0.083147 0.021261 +v 0.065328 0.070711 0.027060 +v 0.076818 0.055557 0.031819 +v 0.085355 0.038268 0.035355 +v 0.090613 0.019509 0.037533 +v 0.092388 0.000000 0.038268 +v 0.090613 -0.019509 0.037533 +v 0.085355 -0.038268 0.035355 +v 0.076818 -0.055557 0.031819 +v 0.065328 -0.070711 0.027060 +v 0.051328 -0.083147 0.021261 +v 0.035355 -0.092388 0.014645 +v 0.018024 -0.098079 0.007466 +v 0.016221 0.098079 0.010839 +v 0.031819 0.092388 0.021261 +v 0.046194 0.083147 0.030866 +v 0.058794 0.070711 0.039285 +v 0.069134 0.055557 0.046194 +v 0.076818 0.038268 0.051328 +v 0.081549 0.019509 0.054490 +v 0.083147 0.000000 0.055557 +v 0.081549 -0.019509 0.054490 +v 0.076818 -0.038268 0.051328 +v 0.069134 -0.055557 0.046194 +v 0.058794 -0.070711 0.039285 +v 0.046194 -0.083147 0.030866 +v 0.031819 -0.092388 0.021261 +v 0.016221 -0.098079 0.010839 +v 0.013795 0.098079 0.013795 +v 0.027060 0.092388 0.027060 +v 0.039285 0.083147 0.039285 +v 0.050000 0.070711 0.050000 +v 0.058794 0.055557 0.058794 +v 0.065328 0.038268 0.065328 +v 0.069352 0.019509 0.069352 +v 0.070711 0.000000 0.070711 +v 0.069352 -0.019509 0.069352 +v 0.065328 -0.038268 0.065328 +v 0.058794 -0.055557 0.058794 +v 0.050000 -0.070711 0.050000 +v 0.039285 -0.083147 0.039285 +v 0.027060 -0.092388 0.027060 +v 0.013795 -0.098079 0.013795 +v 0.010839 0.098079 0.016221 +v 0.021261 0.092388 0.031819 +v 0.030866 0.083147 0.046194 +v 0.039285 0.070711 0.058794 +v 0.046194 0.055557 0.069134 +v 0.051328 0.038268 0.076818 +v 0.054489 0.019509 0.081549 +v 0.055557 0.000000 0.083147 +v 0.054489 -0.019509 0.081549 +v 0.051328 -0.038268 0.076818 +v 0.046194 -0.055557 0.069134 +v 0.039285 -0.070711 0.058794 +v 0.030866 -0.083147 0.046194 +v 0.021261 -0.092388 0.031819 +v 0.010839 -0.098079 0.016221 +v 0.007466 0.098079 0.018024 +v 0.014645 0.092388 0.035355 +v 0.021261 0.083147 0.051328 +v 0.027060 0.070711 0.065328 +v 0.031819 0.055557 0.076818 +v 0.035355 0.038268 0.085355 +v 0.037533 0.019509 0.090613 +v 0.038268 0.000000 0.092388 +v 0.037533 -0.019509 0.090613 +v 0.035355 -0.038268 0.085355 +v 0.031819 -0.055557 0.076818 +v 0.027060 -0.070711 0.065328 +v 0.021261 -0.083147 0.051328 +v 0.014645 -0.092388 0.035355 +v 0.007466 -0.098079 0.018024 +v 0.003806 0.098079 0.019134 +v 0.007466 0.092388 0.037533 +v 0.010839 0.083147 0.054489 +v 0.013795 0.070711 0.069352 +v 0.016221 0.055557 0.081549 +v 0.018024 0.038268 0.090613 +v 0.019134 0.019509 0.096194 +v 0.019509 0.000000 0.098078 +v 0.019134 -0.019509 0.096194 +v 0.018024 -0.038268 0.090613 +v 0.016221 -0.055557 0.081549 +v 0.013795 -0.070711 0.069352 +v 0.010839 -0.083147 0.054489 +v 0.007466 -0.092388 0.037533 +v 0.003806 -0.098079 0.019134 +v 0.000000 0.098079 0.019509 +v 0.000000 0.092388 0.038268 +v 0.000000 0.083147 0.055557 +v 0.000000 0.070711 0.070711 +v 0.000000 0.055557 0.083147 +v 0.000000 0.038268 0.092388 +v 0.000000 0.019509 0.098078 +v 0.000000 0.000000 0.100000 +v 0.000000 -0.019509 0.098078 +v 0.000000 -0.038268 0.092388 +v 0.000000 -0.055557 0.083147 +v 0.000000 -0.070711 0.070711 +v 0.000000 -0.083147 0.055557 +v 0.000000 -0.092388 0.038268 +v 0.000000 -0.098079 0.019509 +v -0.003806 0.098079 0.019134 +v -0.007466 0.092388 0.037533 +v -0.010839 0.083147 0.054489 +v -0.013795 0.070711 0.069352 +v -0.016221 0.055557 0.081549 +v -0.018024 0.038268 0.090613 +v -0.019134 0.019509 0.096194 +v -0.019509 0.000000 0.098078 +v -0.019134 -0.019509 0.096194 +v -0.018024 -0.038268 0.090613 +v -0.016221 -0.055557 0.081549 +v -0.013795 -0.070711 0.069352 +v -0.010839 -0.083147 0.054489 +v -0.007466 -0.092388 0.037533 +v -0.003806 -0.098079 0.019134 +v -0.007466 0.098079 0.018024 +v -0.014645 0.092388 0.035355 +v -0.021261 0.083147 0.051328 +v -0.027060 0.070711 0.065328 +v -0.031819 0.055557 0.076818 +v -0.035355 0.038268 0.085355 +v -0.037533 0.019509 0.090613 +v -0.038268 0.000000 0.092388 +v -0.037533 -0.019509 0.090613 +v -0.035355 -0.038268 0.085355 +v -0.031819 -0.055557 0.076818 +v -0.027060 -0.070711 0.065328 +v -0.021261 -0.083147 0.051328 +v -0.014645 -0.092388 0.035355 +v -0.007466 -0.098079 0.018024 +v -0.010839 0.098079 0.016221 +v -0.021261 0.092388 0.031819 +v -0.030866 0.083147 0.046194 +v -0.039285 0.070711 0.058794 +v -0.046194 0.055557 0.069134 +v -0.051328 0.038268 0.076818 +v -0.054490 0.019509 0.081549 +v -0.055557 0.000000 0.083147 +v -0.054490 -0.019509 0.081549 +v -0.051328 -0.038268 0.076818 +v -0.046194 -0.055557 0.069134 +v -0.039285 -0.070711 0.058794 +v -0.030866 -0.083147 0.046194 +v -0.021261 -0.092388 0.031819 +v -0.010839 -0.098079 0.016221 +v -0.013795 0.098079 0.013795 +v -0.027060 0.092388 0.027060 +v -0.039285 0.083147 0.039285 +v -0.050000 0.070711 0.050000 +v -0.058794 0.055557 0.058794 +v -0.065328 0.038268 0.065328 +v -0.069352 0.019509 0.069352 +v -0.070711 0.000000 0.070711 +v -0.069352 -0.019509 0.069352 +v -0.065328 -0.038268 0.065328 +v -0.058794 -0.055557 0.058794 +v -0.050000 -0.070711 0.050000 +v -0.039285 -0.083147 0.039285 +v -0.027060 -0.092388 0.027060 +v -0.013795 -0.098079 0.013795 +v 0.000000 -0.100000 0.000000 +v -0.016221 0.098079 0.010839 +v -0.031819 0.092388 0.021261 +v -0.046194 0.083147 0.030866 +v -0.058794 0.070711 0.039285 +v -0.069134 0.055557 0.046194 +v -0.076818 0.038268 0.051328 +v -0.081549 0.019509 0.054489 +v -0.083147 0.000000 0.055557 +v -0.081549 -0.019509 0.054489 +v -0.076818 -0.038268 0.051328 +v -0.069134 -0.055557 0.046194 +v -0.058794 -0.070711 0.039285 +v -0.046194 -0.083147 0.030866 +v -0.031819 -0.092388 0.021261 +v -0.016221 -0.098079 0.010839 +v -0.018024 0.098079 0.007466 +v -0.035355 0.092388 0.014645 +v -0.051328 0.083147 0.021261 +v -0.065328 0.070711 0.027060 +v -0.076818 0.055557 0.031819 +v -0.085355 0.038268 0.035355 +v -0.090613 0.019509 0.037533 +v -0.092388 0.000000 0.038268 +v -0.090613 -0.019509 0.037533 +v -0.085355 -0.038268 0.035355 +v -0.076818 -0.055557 0.031819 +v -0.065328 -0.070711 0.027060 +v -0.051328 -0.083147 0.021261 +v -0.035355 -0.092388 0.014645 +v -0.018024 -0.098079 0.007466 +v -0.019134 0.098079 0.003806 +v -0.037533 0.092388 0.007466 +v -0.054489 0.083147 0.010839 +v -0.069352 0.070711 0.013795 +v -0.081549 0.055557 0.016221 +v -0.090613 0.038268 0.018024 +v -0.096194 0.019509 0.019134 +v -0.098078 0.000000 0.019509 +v -0.096194 -0.019509 0.019134 +v -0.090613 -0.038268 0.018024 +v -0.081549 -0.055557 0.016221 +v -0.069352 -0.070711 0.013795 +v -0.054489 -0.083147 0.010839 +v -0.037533 -0.092388 0.007466 +v -0.019134 -0.098079 0.003806 +v -0.019509 0.098079 -0.000000 +v -0.038268 0.092388 -0.000000 +v -0.055557 0.083147 -0.000000 +v -0.070711 0.070711 -0.000000 +v -0.083147 0.055557 -0.000000 +v -0.092388 0.038268 -0.000000 +v -0.098078 0.019509 -0.000000 +v -0.100000 0.000000 0.000000 +v -0.098078 -0.019509 0.000000 +v -0.092388 -0.038268 0.000000 +v -0.083147 -0.055557 0.000000 +v -0.070711 -0.070711 0.000000 +v -0.055557 -0.083147 0.000000 +v -0.038268 -0.092388 0.000000 +v -0.019509 -0.098079 0.000000 +v -0.019134 0.098079 -0.003806 +v -0.037533 0.092388 -0.007466 +v -0.054489 0.083147 -0.010839 +v -0.069352 0.070711 -0.013795 +v -0.081549 0.055557 -0.016221 +v -0.090613 0.038268 -0.018024 +v -0.096194 0.019509 -0.019134 +v -0.098078 -0.000000 -0.019509 +v -0.096194 -0.019509 -0.019134 +v -0.090613 -0.038268 -0.018024 +v -0.081549 -0.055557 -0.016221 +v -0.069352 -0.070711 -0.013795 +v -0.054489 -0.083147 -0.010839 +v -0.037533 -0.092388 -0.007466 +v -0.019134 -0.098079 -0.003806 +v -0.018024 0.098079 -0.007466 +v -0.035355 0.092388 -0.014645 +v -0.051328 0.083147 -0.021261 +v -0.065328 0.070711 -0.027060 +v -0.076818 0.055557 -0.031819 +v -0.085355 0.038268 -0.035355 +v -0.090613 0.019509 -0.037533 +v -0.092388 -0.000000 -0.038268 +v -0.090613 -0.019509 -0.037533 +v -0.085355 -0.038268 -0.035355 +v -0.076818 -0.055557 -0.031819 +v -0.065328 -0.070711 -0.027060 +v -0.051328 -0.083147 -0.021261 +v -0.035355 -0.092388 -0.014645 +v -0.018024 -0.098079 -0.007466 +v -0.016221 0.098079 -0.010839 +v -0.031819 0.092388 -0.021261 +v -0.046194 0.083147 -0.030866 +v -0.058794 0.070711 -0.039285 +v -0.069134 0.055557 -0.046194 +v -0.076818 0.038268 -0.051328 +v -0.081549 0.019509 -0.054490 +v -0.083147 -0.000000 -0.055557 +v -0.081549 -0.019509 -0.054490 +v -0.076818 -0.038268 -0.051328 +v -0.069134 -0.055557 -0.046194 +v -0.058794 -0.070711 -0.039285 +v -0.046194 -0.083147 -0.030866 +v -0.031819 -0.092388 -0.021261 +v -0.016221 -0.098079 -0.010839 +v -0.013795 0.098079 -0.013795 +v -0.027060 0.092388 -0.027060 +v -0.039285 0.083147 -0.039285 +v -0.050000 0.070711 -0.050000 +v -0.058794 0.055557 -0.058794 +v -0.065328 0.038268 -0.065328 +v -0.069352 0.019509 -0.069352 +v -0.070711 -0.000000 -0.070711 +v -0.069352 -0.019509 -0.069352 +v -0.065328 -0.038268 -0.065328 +v -0.058794 -0.055557 -0.058794 +v -0.050000 -0.070711 -0.050000 +v -0.039285 -0.083147 -0.039285 +v -0.027060 -0.092388 -0.027060 +v -0.013795 -0.098079 -0.013795 +v -0.010839 0.098079 -0.016221 +v -0.021261 0.092388 -0.031819 +v -0.030866 0.083147 -0.046194 +v -0.039285 0.070711 -0.058794 +v -0.046194 0.055557 -0.069134 +v -0.051328 0.038268 -0.076818 +v -0.054489 0.019509 -0.081549 +v -0.055557 -0.000000 -0.083147 +v -0.054489 -0.019509 -0.081549 +v -0.051328 -0.038268 -0.076818 +v -0.046194 -0.055557 -0.069134 +v -0.039285 -0.070711 -0.058794 +v -0.030866 -0.083147 -0.046194 +v -0.021261 -0.092388 -0.031819 +v -0.010839 -0.098079 -0.016221 +v -0.007466 0.098079 -0.018024 +v -0.014645 0.092388 -0.035355 +v -0.021261 0.083147 -0.051328 +v -0.027060 0.070711 -0.065328 +v -0.031819 0.055557 -0.076818 +v -0.035355 0.038268 -0.085355 +v -0.037533 0.019509 -0.090613 +v -0.038268 -0.000000 -0.092388 +v -0.037533 -0.019509 -0.090613 +v -0.035355 -0.038268 -0.085355 +v -0.031819 -0.055557 -0.076818 +v -0.027060 -0.070711 -0.065328 +v -0.021261 -0.083147 -0.051328 +v -0.014645 -0.092388 -0.035355 +v -0.007466 -0.098079 -0.018024 +v -0.003806 0.098079 -0.019134 +v -0.007466 0.092388 -0.037533 +v -0.010839 0.083147 -0.054489 +v -0.013795 0.070711 -0.069352 +v -0.016221 0.055557 -0.081549 +v -0.018024 0.038268 -0.090613 +v -0.019134 0.019509 -0.096194 +v -0.019509 -0.000000 -0.098078 +v -0.019134 -0.019509 -0.096194 +v -0.018024 -0.038268 -0.090613 +v -0.016221 -0.055557 -0.081549 +v -0.013795 -0.070711 -0.069352 +v -0.010839 -0.083147 -0.054489 +v -0.007466 -0.092388 -0.037533 +v -0.003806 -0.098079 -0.019134 +v 0.000000 0.098079 -0.019509 +v 0.000000 0.092388 -0.038268 +v 0.000000 0.070711 -0.070711 +v 0.000000 0.038268 -0.092388 +v 0.000000 -0.038268 -0.092388 +v 0.000000 -0.070711 -0.070711 +v 0.000000 -0.083147 -0.055557 +v 0.000000 -0.092388 -0.038268 +v 0.000000 -0.098079 -0.019509 +v 0.000000 0.156934 1.844222 +v 0.028907 0.153918 1.844222 +v 0.056703 0.144988 1.844222 +v 0.082321 0.130486 1.844222 +v 0.104774 0.110969 1.844222 +v 0.123202 0.087188 1.844222 +v 0.136894 0.060056 1.844222 +v 0.145326 0.030616 1.844222 +v 0.148173 0.000000 1.844222 +v 0.145326 -0.030616 1.844222 +v 0.136894 -0.060056 1.844222 +v 0.123202 -0.087188 1.844222 +v 0.104774 -0.110969 1.844222 +v 0.082321 -0.130486 1.844222 +v 0.056703 -0.144988 1.844222 +v 0.028907 -0.153918 1.844222 +v 0.000000 -0.156934 1.844222 +v -0.028907 -0.153918 1.844222 +v -0.056703 -0.144988 1.844222 +v -0.082321 -0.130486 1.844222 +v -0.104774 -0.110969 1.844222 +v -0.123202 -0.087188 1.844222 +v -0.136894 -0.060056 1.844222 +v -0.145326 -0.030616 1.844222 +v -0.148173 0.000000 1.844222 +v -0.145326 0.030616 1.844222 +v -0.136894 0.060056 1.844222 +v -0.123202 0.087188 1.844222 +v -0.104774 0.110969 1.844222 +v -0.082321 0.130486 1.844222 +v -0.056703 0.144988 1.844222 +v -0.028907 0.153918 1.844222 +v 0.000000 0.000000 2.155777 +v 1.844222 0.156934 -0.000000 +v 1.844222 0.153918 -0.028907 +v 1.844222 0.144988 -0.056703 +v 1.844222 0.130486 -0.082321 +v 1.844222 0.110969 -0.104774 +v 1.844222 0.087188 -0.123202 +v 1.844222 0.060056 -0.136894 +v 1.844222 0.030616 -0.145326 +v 1.844222 -0.000000 -0.148173 +v 1.844222 -0.030616 -0.145326 +v 1.844222 -0.060056 -0.136894 +v 1.844222 -0.087188 -0.123202 +v 1.844222 -0.110969 -0.104774 +v 1.844222 -0.130486 -0.082321 +v 1.844222 -0.144988 -0.056703 +v 1.844222 -0.153918 -0.028907 +v 1.844222 -0.156934 0.000000 +v 1.844222 -0.153918 0.028907 +v 1.844222 -0.144988 0.056703 +v 1.844222 -0.130486 0.082321 +v 1.844222 -0.110969 0.104774 +v 1.844222 -0.087188 0.123202 +v 1.844222 -0.060056 0.136894 +v 1.844222 -0.030616 0.145326 +v 1.844222 0.000000 0.148173 +v 1.844222 0.030616 0.145326 +v 1.844222 0.060056 0.136894 +v 1.844222 0.087188 0.123202 +v 1.844222 0.110969 0.104774 +v 1.844222 0.130486 0.082321 +v 1.844222 0.144988 0.056703 +v 1.844222 0.153918 0.028907 +v 2.155777 0.000000 0.000000 +v 0.000000 1.844222 -0.156934 +v 0.028907 1.844222 -0.153918 +v 0.056703 1.844222 -0.144988 +v 0.082321 1.844222 -0.130486 +v 0.104774 1.844222 -0.110969 +v 0.123202 1.844222 -0.087188 +v 0.136894 1.844222 -0.060056 +v 0.145326 1.844222 -0.030616 +v 0.148173 1.844222 -0.000000 +v 0.145326 1.844222 0.030616 +v 0.136894 1.844222 0.060056 +v 0.123202 1.844222 0.087188 +v 0.104774 1.844222 0.110969 +v 0.082321 1.844222 0.130486 +v 0.056703 1.844222 0.144988 +v 0.028907 1.844222 0.153918 +v 0.000000 1.844222 0.156934 +v -0.028907 1.844222 0.153918 +v -0.056703 1.844222 0.144988 +v -0.082321 1.844222 0.130486 +v -0.104774 1.844222 0.110969 +v -0.123202 1.844222 0.087188 +v -0.136894 1.844222 0.060056 +v -0.145326 1.844222 0.030616 +v -0.148173 1.844222 -0.000000 +v -0.145326 1.844222 -0.030616 +v -0.136894 1.844222 -0.060056 +v -0.123202 1.844222 -0.087188 +v -0.104774 1.844222 -0.110969 +v -0.082321 1.844222 -0.130486 +v -0.056703 1.844222 -0.144988 +v -0.028907 1.844222 -0.153918 +v 0.000000 2.155777 -0.000000 +v 0.000000 0.067331 -0.000000 +v 0.000000 0.067331 2.000000 +v 0.013761 0.066038 -0.000000 +v 0.013761 0.066038 2.000000 +v 0.026992 0.062206 -0.000000 +v 0.026992 0.062206 2.000000 +v 0.039187 0.055984 -0.000000 +v 0.039187 0.055984 2.000000 +v 0.049875 0.047610 -0.000000 +v 0.049875 0.047610 2.000000 +v 0.058647 0.037407 -0.000000 +v 0.058647 0.037407 2.000000 +v 0.065165 0.025767 -0.000000 +v 0.065165 0.025767 2.000000 +v 0.069179 0.013136 -0.000000 +v 0.069179 0.013136 2.000000 +v 0.070534 0.000000 0.000000 +v 0.070534 0.000000 2.000000 +v 0.069179 -0.013136 0.000000 +v 0.069179 -0.013136 2.000000 +v 0.065165 -0.025767 0.000000 +v 0.065165 -0.025767 2.000000 +v 0.058647 -0.037407 0.000000 +v 0.058647 -0.037407 2.000000 +v 0.049875 -0.047610 0.000000 +v 0.049875 -0.047610 2.000000 +v 0.039187 -0.055984 0.000000 +v 0.039187 -0.055984 2.000000 +v 0.026992 -0.062206 0.000000 +v 0.026992 -0.062206 2.000000 +v 0.013761 -0.066038 0.000000 +v 0.013761 -0.066038 2.000000 +v 0.000000 -0.067331 0.000000 +v 0.000000 -0.067331 2.000000 +v -0.013761 -0.066038 0.000000 +v -0.013761 -0.066038 2.000000 +v -0.026992 -0.062206 0.000000 +v -0.026992 -0.062206 2.000000 +v -0.039187 -0.055984 0.000000 +v -0.039187 -0.055984 2.000000 +v -0.049875 -0.047610 0.000000 +v -0.049875 -0.047610 2.000000 +v -0.058647 -0.037407 0.000000 +v -0.058647 -0.037407 2.000000 +v -0.065165 -0.025767 0.000000 +v -0.065165 -0.025767 2.000000 +v -0.069179 -0.013136 0.000000 +v -0.069179 -0.013136 2.000000 +v -0.070534 0.000000 0.000000 +v -0.070534 0.000000 2.000000 +v -0.069179 0.013136 -0.000000 +v -0.069179 0.013136 2.000000 +v -0.065165 0.025767 -0.000000 +v -0.065165 0.025767 2.000000 +v -0.058647 0.037407 -0.000000 +v -0.058647 0.037407 2.000000 +v -0.049875 0.047610 -0.000000 +v -0.049875 0.047610 2.000000 +v -0.039187 0.055984 -0.000000 +v -0.039187 0.055984 2.000000 +v -0.026992 0.062206 -0.000000 +v -0.026992 0.062206 2.000000 +v -0.013761 0.066038 -0.000000 +v -0.013761 0.066038 2.000000 +v 0.000000 0.067331 -0.000000 +v 2.000000 0.067331 -0.000000 +v 0.000000 0.066038 -0.013761 +v 2.000000 0.066038 -0.013761 +v 0.000000 0.062206 -0.026992 +v 2.000000 0.062206 -0.026992 +v 0.000000 0.055984 -0.039187 +v 2.000000 0.055984 -0.039187 +v 0.000000 0.047610 -0.049875 +v 2.000000 0.047610 -0.049875 +v 0.000000 0.037407 -0.058647 +v 2.000000 0.037407 -0.058647 +v 0.000000 0.025767 -0.065165 +v 2.000000 0.025767 -0.065165 +v 0.000000 0.013136 -0.069179 +v 2.000000 0.013136 -0.069179 +v 0.000000 -0.000000 -0.070534 +v 2.000000 -0.000000 -0.070534 +v 0.000000 -0.013136 -0.069179 +v 2.000000 -0.013136 -0.069179 +v 0.000000 -0.025767 -0.065165 +v 2.000000 -0.025767 -0.065165 +v 0.000000 -0.037407 -0.058647 +v 2.000000 -0.037407 -0.058647 +v 0.000000 -0.047610 -0.049875 +v 2.000000 -0.047610 -0.049875 +v 0.000000 -0.055984 -0.039187 +v 2.000000 -0.055984 -0.039187 +v 0.000000 -0.062206 -0.026992 +v 2.000000 -0.062206 -0.026992 +v 0.000000 -0.066038 -0.013761 +v 2.000000 -0.066038 -0.013761 +v 0.000000 -0.067331 0.000000 +v 2.000000 -0.067331 0.000000 +v 0.000000 -0.066038 0.013761 +v 2.000000 -0.066038 0.013761 +v 0.000000 -0.062206 0.026992 +v 2.000000 -0.062206 0.026992 +v 0.000000 -0.055984 0.039187 +v 2.000000 -0.055984 0.039187 +v 0.000000 -0.047610 0.049875 +v 2.000000 -0.047610 0.049875 +v 0.000000 -0.037407 0.058647 +v 2.000000 -0.037407 0.058647 +v 0.000000 -0.025767 0.065165 +v 2.000000 -0.025767 0.065165 +v 0.000000 -0.013136 0.069179 +v 2.000000 -0.013136 0.069179 +v 0.000000 0.000000 0.070534 +v 2.000000 0.000000 0.070534 +v 0.000000 0.013136 0.069179 +v 2.000000 0.013136 0.069179 +v 0.000000 0.025767 0.065165 +v 2.000000 0.025767 0.065165 +v 0.000000 0.037407 0.058647 +v 2.000000 0.037407 0.058647 +v 0.000000 0.047610 0.049875 +v 2.000000 0.047610 0.049875 +v 0.000000 0.055984 0.039187 +v 2.000000 0.055984 0.039187 +v 0.000000 0.062206 0.026992 +v 2.000000 0.062206 0.026992 +v 0.000000 0.066038 0.013761 +v 2.000000 0.066038 0.013761 +v 0.000000 -0.000000 -0.067331 +v 0.000000 2.000000 -0.067331 +v 0.013761 -0.000000 -0.066038 +v 0.013761 2.000000 -0.066038 +v 0.026992 -0.000000 -0.062206 +v 0.026992 2.000000 -0.062206 +v 0.039187 -0.000000 -0.055984 +v 0.039187 2.000000 -0.055984 +v 0.049875 -0.000000 -0.047610 +v 0.049875 2.000000 -0.047611 +v 0.058647 -0.000000 -0.037407 +v 0.058647 2.000000 -0.037407 +v 0.065165 -0.000000 -0.025767 +v 0.065165 2.000000 -0.025767 +v 0.069179 -0.000000 -0.013136 +v 0.069179 2.000000 -0.013136 +v 0.070534 0.000000 0.000000 +v 0.070534 2.000000 -0.000000 +v 0.069179 0.000000 0.013136 +v 0.069179 2.000000 0.013136 +v 0.065165 0.000000 0.025767 +v 0.065165 2.000000 0.025767 +v 0.058647 0.000000 0.037407 +v 0.058647 2.000000 0.037407 +v 0.049875 0.000000 0.047611 +v 0.049875 2.000000 0.047610 +v 0.039187 0.000000 0.055984 +v 0.039187 2.000000 0.055984 +v 0.026992 0.000000 0.062206 +v 0.026992 2.000000 0.062206 +v 0.013761 0.000000 0.066038 +v 0.013761 2.000000 0.066038 +v 0.000000 0.000000 0.067331 +v 0.000000 2.000000 0.067331 +v -0.013761 0.000000 0.066038 +v -0.013761 2.000000 0.066038 +v -0.026992 0.000000 0.062206 +v -0.026992 2.000000 0.062206 +v -0.039187 0.000000 0.055984 +v -0.039187 2.000000 0.055984 +v -0.049875 0.000000 0.047611 +v -0.049875 2.000000 0.047610 +v -0.058647 0.000000 0.037407 +v -0.058647 2.000000 0.037407 +v -0.065165 0.000000 0.025767 +v -0.065165 2.000000 0.025767 +v -0.069179 0.000000 0.013136 +v -0.069179 2.000000 0.013136 +v -0.070534 0.000000 0.000000 +v -0.070534 2.000000 -0.000000 +v -0.069179 -0.000000 -0.013136 +v -0.069179 2.000000 -0.013136 +v -0.065165 -0.000000 -0.025767 +v -0.065165 2.000000 -0.025767 +v -0.058647 -0.000000 -0.037407 +v -0.058647 2.000000 -0.037407 +v -0.049875 -0.000000 -0.047610 +v -0.049875 2.000000 -0.047611 +v -0.039187 -0.000000 -0.055984 +v -0.039187 2.000000 -0.055984 +v -0.026992 -0.000000 -0.062206 +v -0.026992 2.000000 -0.062206 +v -0.013761 -0.000000 -0.066038 +v -0.013761 2.000000 -0.066038 +s 0 +f 477 11 12 +f 480 20 481 +f 477 13 3 +f 481 21 482 +f 4 13 14 +f 474 82 7 +f 308 482 21 +f 4 15 5 +f 475 7 8 +f 478 15 16 +f 1 8 9 +f 478 17 6 +f 1 10 476 +f 479 17 18 +f 476 11 2 +f 480 18 19 +f 17 33 18 +f 11 25 26 +f 19 33 34 +f 11 27 12 +f 20 34 35 +f 12 28 13 +f 20 36 21 +f 13 29 14 +f 7 82 22 +f 308 21 36 +f 15 29 30 +f 8 22 23 +f 16 30 31 +f 8 24 9 +f 17 31 32 +f 9 25 10 +f 308 36 51 +f 30 44 45 +f 23 37 38 +f 30 46 31 +f 24 38 39 +f 32 46 47 +f 25 39 40 +f 33 47 48 +f 25 41 26 +f 33 49 34 +f 26 42 27 +f 34 50 35 +f 28 42 43 +f 35 51 36 +f 28 44 29 +f 22 82 37 +f 49 63 64 +f 41 57 42 +f 49 65 50 +f 43 57 58 +f 51 65 66 +f 43 59 44 +f 37 82 52 +f 308 51 66 +f 45 59 60 +f 37 53 38 +f 45 61 46 +f 39 53 54 +f 47 61 62 +f 39 55 40 +f 47 63 48 +f 41 55 56 +f 53 67 68 +f 61 75 76 +f 53 69 54 +f 61 77 62 +f 55 69 70 +f 63 77 78 +f 55 71 56 +f 63 79 64 +f 57 71 72 +f 65 79 80 +f 57 73 58 +f 65 81 66 +f 59 73 74 +f 52 82 67 +f 308 66 81 +f 59 75 60 +f 72 87 88 +f 80 95 96 +f 72 89 73 +f 81 96 97 +f 74 89 90 +f 67 82 83 +f 308 81 97 +f 74 91 75 +f 67 84 68 +f 76 91 92 +f 68 85 69 +f 76 93 77 +f 69 86 70 +f 77 94 78 +f 71 86 87 +f 79 94 95 +f 91 107 92 +f 85 99 100 +f 92 108 93 +f 86 100 101 +f 94 108 109 +f 86 102 87 +f 94 110 95 +f 88 102 103 +f 95 111 96 +f 89 103 104 +f 97 111 112 +f 90 104 105 +f 83 82 98 +f 308 97 112 +f 90 106 91 +f 83 99 84 +f 111 125 126 +f 104 118 119 +f 112 126 127 +f 104 120 105 +f 98 82 113 +f 308 112 127 +f 106 120 121 +f 98 114 99 +f 106 122 107 +f 99 115 100 +f 108 122 123 +f 101 115 116 +f 108 124 109 +f 102 116 117 +f 109 125 110 +f 102 118 103 +f 115 129 130 +f 122 138 123 +f 115 131 116 +f 124 138 139 +f 116 132 117 +f 125 139 140 +f 118 132 133 +f 125 141 126 +f 118 134 119 +f 126 142 127 +f 120 134 135 +f 113 82 128 +f 308 127 142 +f 120 136 121 +f 114 128 129 +f 122 136 137 +f 133 149 134 +f 141 157 142 +f 135 149 150 +f 128 82 143 +f 308 142 157 +f 135 151 136 +f 129 143 144 +f 137 151 152 +f 129 145 130 +f 138 152 153 +f 130 146 131 +f 138 154 139 +f 132 146 147 +f 140 154 155 +f 132 148 133 +f 141 155 156 +f 153 167 168 +f 146 160 161 +f 154 168 169 +f 146 162 147 +f 154 170 155 +f 147 163 148 +f 155 171 156 +f 149 163 164 +f 156 172 157 +f 149 165 150 +f 143 82 158 +f 308 157 172 +f 151 165 166 +f 144 158 159 +f 151 167 152 +f 145 159 160 +f 172 186 187 +f 164 180 165 +f 158 82 173 +f 308 172 187 +f 166 180 181 +f 158 174 159 +f 166 182 167 +f 160 174 175 +f 168 182 183 +f 160 176 161 +f 168 184 169 +f 162 176 177 +f 170 184 185 +f 162 178 163 +f 170 186 171 +f 164 178 179 +f 184 198 199 +f 176 192 177 +f 184 200 185 +f 178 192 193 +f 186 200 201 +f 178 194 179 +f 186 202 187 +f 179 195 180 +f 173 82 188 +f 308 187 202 +f 181 195 196 +f 174 188 189 +f 182 196 197 +f 174 190 175 +f 182 198 183 +f 176 190 191 +f 188 82 203 +f 308 202 217 +f 196 210 211 +f 188 204 189 +f 196 212 197 +f 189 205 190 +f 197 213 198 +f 190 206 191 +f 198 214 199 +f 192 206 207 +f 200 214 215 +f 193 207 208 +f 201 215 216 +f 194 208 209 +f 202 216 217 +f 194 210 195 +f 206 222 207 +f 214 230 215 +f 208 222 223 +f 216 230 231 +f 209 223 224 +f 217 231 232 +f 209 225 210 +f 203 82 218 +f 308 217 232 +f 211 225 226 +f 203 219 204 +f 211 227 212 +f 204 220 205 +f 212 228 213 +f 206 220 221 +f 214 228 229 +f 226 240 241 +f 218 234 219 +f 227 241 242 +f 220 234 235 +f 228 242 243 +f 221 235 236 +f 228 244 229 +f 222 236 237 +f 229 245 230 +f 222 238 223 +f 230 246 231 +f 223 239 224 +f 232 246 247 +f 224 240 225 +f 218 82 233 +f 308 232 247 +f 245 259 260 +f 238 252 253 +f 246 260 261 +f 239 253 254 +f 246 262 247 +f 240 254 255 +f 233 82 248 +f 308 247 262 +f 240 256 241 +f 234 248 249 +f 241 257 242 +f 234 250 235 +f 242 258 243 +f 235 251 236 +f 244 258 259 +f 236 252 237 +f 249 263 264 +f 257 271 272 +f 250 264 265 +f 258 272 273 +f 250 266 251 +f 258 274 259 +f 252 266 267 +f 260 274 275 +f 252 268 253 +f 260 276 261 +f 253 269 254 +f 261 277 262 +f 255 269 270 +f 248 82 263 +f 308 262 277 +f 255 271 256 +f 267 283 268 +f 275 291 276 +f 269 283 284 +f 276 292 277 +f 269 285 270 +f 263 82 278 +f 308 277 292 +f 271 285 286 +f 264 278 279 +f 271 287 272 +f 265 279 280 +f 273 287 288 +f 266 280 281 +f 274 288 289 +f 266 282 267 +f 274 290 275 +f 286 302 287 +f 280 294 295 +f 288 302 303 +f 280 296 281 +f 288 304 289 +f 282 296 297 +f 290 304 305 +f 282 298 283 +f 290 306 291 +f 284 298 299 +f 292 306 307 +f 284 300 285 +f 278 82 293 +f 308 292 307 +f 286 300 301 +f 278 294 279 +f 306 321 322 +f 298 315 299 +f 306 323 307 +f 299 316 300 +f 293 82 309 +f 308 307 323 +f 301 316 317 +f 294 309 310 +f 302 317 318 +f 294 311 295 +f 302 319 303 +f 296 311 312 +f 304 319 320 +f 296 313 297 +f 304 321 305 +f 298 313 314 +f 318 334 319 +f 311 327 312 +f 319 335 320 +f 313 327 328 +f 321 335 336 +f 314 328 329 +f 322 336 337 +f 315 329 330 +f 323 337 338 +f 315 331 316 +f 309 82 324 +f 308 323 338 +f 317 331 332 +f 309 325 310 +f 317 333 318 +f 310 326 311 +f 338 352 353 +f 330 346 331 +f 324 82 339 +f 308 338 353 +f 332 346 347 +f 324 340 325 +f 332 348 333 +f 325 341 326 +f 333 349 334 +f 327 341 342 +f 335 349 350 +f 327 343 328 +f 335 351 336 +f 329 343 344 +f 337 351 352 +f 330 344 345 +f 342 356 357 +f 349 365 350 +f 343 357 358 +f 350 366 351 +f 343 359 344 +f 351 367 352 +f 344 360 345 +f 353 367 368 +f 345 361 346 +f 339 82 354 +f 308 353 368 +f 347 361 362 +f 339 355 340 +f 348 362 363 +f 341 355 356 +f 349 363 364 +f 361 375 376 +f 354 82 369 +f 308 368 383 +f 361 377 362 +f 355 369 370 +f 362 378 363 +f 355 371 356 +f 363 379 364 +f 356 372 357 +f 365 379 380 +f 357 373 358 +f 366 380 381 +f 359 373 374 +f 367 381 382 +f 360 374 375 +f 367 383 368 +f 379 395 380 +f 373 387 388 +f 381 395 396 +f 373 389 374 +f 381 397 382 +f 374 390 375 +f 382 398 383 +f 376 390 391 +f 369 82 384 +f 308 383 398 +f 376 392 377 +f 370 384 385 +f 378 392 393 +f 371 385 386 +f 379 393 394 +f 371 387 372 +f 384 82 399 +f 308 398 413 +f 392 406 407 +f 385 399 400 +f 392 408 393 +f 386 400 401 +f 394 408 409 +f 387 401 402 +f 395 409 410 +f 387 403 388 +f 395 411 396 +f 388 404 389 +f 396 412 397 +f 390 404 405 +f 397 413 398 +f 390 406 391 +f 403 417 418 +f 411 425 426 +f 403 419 404 +f 411 427 412 +f 405 419 420 +f 413 427 428 +f 405 421 406 +f 399 82 414 +f 308 413 428 +f 407 421 422 +f 399 415 400 +f 407 423 408 +f 401 415 416 +f 409 423 424 +f 401 417 402 +f 409 425 410 +f 422 436 437 +f 415 429 430 +f 423 437 438 +f 415 431 416 +f 423 439 424 +f 417 431 432 +f 425 439 440 +f 417 433 418 +f 425 441 426 +f 419 433 434 +f 427 441 442 +f 419 435 420 +f 427 443 428 +f 420 436 421 +f 414 82 429 +f 308 428 443 +f 441 455 456 +f 434 448 449 +f 442 456 457 +f 435 449 450 +f 443 457 458 +f 435 451 436 +f 429 82 444 +f 308 443 458 +f 437 451 452 +f 429 445 430 +f 437 453 438 +f 430 446 431 +f 438 454 439 +f 431 447 432 +f 439 455 440 +f 433 447 448 +f 452 468 453 +f 445 461 446 +f 453 469 454 +f 447 461 462 +f 455 469 470 +f 447 463 448 +f 455 471 456 +f 449 463 464 +f 457 471 472 +f 450 464 465 +f 458 472 473 +f 450 466 451 +f 444 82 459 +f 308 458 473 +f 452 466 467 +f 444 460 445 +f 471 481 472 +f 465 477 3 +f 473 481 482 +f 465 4 466 +f 459 82 474 +f 308 473 482 +f 467 4 5 +f 459 475 460 +f 467 478 468 +f 461 475 1 +f 469 478 6 +f 462 1 476 +f 469 479 470 +f 463 476 2 +f 470 480 471 +f 463 477 464 +f 477 2 11 +f 480 19 20 +f 477 12 13 +f 481 20 21 +f 4 3 13 +f 4 14 15 +f 475 474 7 +f 478 5 15 +f 1 475 8 +f 478 16 17 +f 1 9 10 +f 479 6 17 +f 476 10 11 +f 480 479 18 +f 17 32 33 +f 11 10 25 +f 19 18 33 +f 11 26 27 +f 20 19 34 +f 12 27 28 +f 20 35 36 +f 13 28 29 +f 15 14 29 +f 8 7 22 +f 16 15 30 +f 8 23 24 +f 17 16 31 +f 9 24 25 +f 30 29 44 +f 23 22 37 +f 30 45 46 +f 24 23 38 +f 32 31 46 +f 25 24 39 +f 33 32 47 +f 25 40 41 +f 33 48 49 +f 26 41 42 +f 34 49 50 +f 28 27 42 +f 35 50 51 +f 28 43 44 +f 49 48 63 +f 41 56 57 +f 49 64 65 +f 43 42 57 +f 51 50 65 +f 43 58 59 +f 45 44 59 +f 37 52 53 +f 45 60 61 +f 39 38 53 +f 47 46 61 +f 39 54 55 +f 47 62 63 +f 41 40 55 +f 53 52 67 +f 61 60 75 +f 53 68 69 +f 61 76 77 +f 55 54 69 +f 63 62 77 +f 55 70 71 +f 63 78 79 +f 57 56 71 +f 65 64 79 +f 57 72 73 +f 65 80 81 +f 59 58 73 +f 59 74 75 +f 72 71 87 +f 80 79 95 +f 72 88 89 +f 81 80 96 +f 74 73 89 +f 74 90 91 +f 67 83 84 +f 76 75 91 +f 68 84 85 +f 76 92 93 +f 69 85 86 +f 77 93 94 +f 71 70 86 +f 79 78 94 +f 91 106 107 +f 85 84 99 +f 92 107 108 +f 86 85 100 +f 94 93 108 +f 86 101 102 +f 94 109 110 +f 88 87 102 +f 95 110 111 +f 89 88 103 +f 97 96 111 +f 90 89 104 +f 90 105 106 +f 83 98 99 +f 111 110 125 +f 104 103 118 +f 112 111 126 +f 104 119 120 +f 106 105 120 +f 98 113 114 +f 106 121 122 +f 99 114 115 +f 108 107 122 +f 101 100 115 +f 108 123 124 +f 102 101 116 +f 109 124 125 +f 102 117 118 +f 115 114 129 +f 122 137 138 +f 115 130 131 +f 124 123 138 +f 116 131 132 +f 125 124 139 +f 118 117 132 +f 125 140 141 +f 118 133 134 +f 126 141 142 +f 120 119 134 +f 120 135 136 +f 114 113 128 +f 122 121 136 +f 133 148 149 +f 141 156 157 +f 135 134 149 +f 135 150 151 +f 129 128 143 +f 137 136 151 +f 129 144 145 +f 138 137 152 +f 130 145 146 +f 138 153 154 +f 132 131 146 +f 140 139 154 +f 132 147 148 +f 141 140 155 +f 153 152 167 +f 146 145 160 +f 154 153 168 +f 146 161 162 +f 154 169 170 +f 147 162 163 +f 155 170 171 +f 149 148 163 +f 156 171 172 +f 149 164 165 +f 151 150 165 +f 144 143 158 +f 151 166 167 +f 145 144 159 +f 172 171 186 +f 164 179 180 +f 166 165 180 +f 158 173 174 +f 166 181 182 +f 160 159 174 +f 168 167 182 +f 160 175 176 +f 168 183 184 +f 162 161 176 +f 170 169 184 +f 162 177 178 +f 170 185 186 +f 164 163 178 +f 184 183 198 +f 176 191 192 +f 184 199 200 +f 178 177 192 +f 186 185 200 +f 178 193 194 +f 186 201 202 +f 179 194 195 +f 181 180 195 +f 174 173 188 +f 182 181 196 +f 174 189 190 +f 182 197 198 +f 176 175 190 +f 196 195 210 +f 188 203 204 +f 196 211 212 +f 189 204 205 +f 197 212 213 +f 190 205 206 +f 198 213 214 +f 192 191 206 +f 200 199 214 +f 193 192 207 +f 201 200 215 +f 194 193 208 +f 202 201 216 +f 194 209 210 +f 206 221 222 +f 214 229 230 +f 208 207 222 +f 216 215 230 +f 209 208 223 +f 217 216 231 +f 209 224 225 +f 211 210 225 +f 203 218 219 +f 211 226 227 +f 204 219 220 +f 212 227 228 +f 206 205 220 +f 214 213 228 +f 226 225 240 +f 218 233 234 +f 227 226 241 +f 220 219 234 +f 228 227 242 +f 221 220 235 +f 228 243 244 +f 222 221 236 +f 229 244 245 +f 222 237 238 +f 230 245 246 +f 223 238 239 +f 232 231 246 +f 224 239 240 +f 245 244 259 +f 238 237 252 +f 246 245 260 +f 239 238 253 +f 246 261 262 +f 240 239 254 +f 240 255 256 +f 234 233 248 +f 241 256 257 +f 234 249 250 +f 242 257 258 +f 235 250 251 +f 244 243 258 +f 236 251 252 +f 249 248 263 +f 257 256 271 +f 250 249 264 +f 258 257 272 +f 250 265 266 +f 258 273 274 +f 252 251 266 +f 260 259 274 +f 252 267 268 +f 260 275 276 +f 253 268 269 +f 261 276 277 +f 255 254 269 +f 255 270 271 +f 267 282 283 +f 275 290 291 +f 269 268 283 +f 276 291 292 +f 269 284 285 +f 271 270 285 +f 264 263 278 +f 271 286 287 +f 265 264 279 +f 273 272 287 +f 266 265 280 +f 274 273 288 +f 266 281 282 +f 274 289 290 +f 286 301 302 +f 280 279 294 +f 288 287 302 +f 280 295 296 +f 288 303 304 +f 282 281 296 +f 290 289 304 +f 282 297 298 +f 290 305 306 +f 284 283 298 +f 292 291 306 +f 284 299 300 +f 286 285 300 +f 278 293 294 +f 306 305 321 +f 298 314 315 +f 306 322 323 +f 299 315 316 +f 301 300 316 +f 294 293 309 +f 302 301 317 +f 294 310 311 +f 302 318 319 +f 296 295 311 +f 304 303 319 +f 296 312 313 +f 304 320 321 +f 298 297 313 +f 318 333 334 +f 311 326 327 +f 319 334 335 +f 313 312 327 +f 321 320 335 +f 314 313 328 +f 322 321 336 +f 315 314 329 +f 323 322 337 +f 315 330 331 +f 317 316 331 +f 309 324 325 +f 317 332 333 +f 310 325 326 +f 338 337 352 +f 330 345 346 +f 332 331 346 +f 324 339 340 +f 332 347 348 +f 325 340 341 +f 333 348 349 +f 327 326 341 +f 335 334 349 +f 327 342 343 +f 335 350 351 +f 329 328 343 +f 337 336 351 +f 330 329 344 +f 342 341 356 +f 349 364 365 +f 343 342 357 +f 350 365 366 +f 343 358 359 +f 351 366 367 +f 344 359 360 +f 353 352 367 +f 345 360 361 +f 347 346 361 +f 339 354 355 +f 348 347 362 +f 341 340 355 +f 349 348 363 +f 361 360 375 +f 361 376 377 +f 355 354 369 +f 362 377 378 +f 355 370 371 +f 363 378 379 +f 356 371 372 +f 365 364 379 +f 357 372 373 +f 366 365 380 +f 359 358 373 +f 367 366 381 +f 360 359 374 +f 367 382 383 +f 379 394 395 +f 373 372 387 +f 381 380 395 +f 373 388 389 +f 381 396 397 +f 374 389 390 +f 382 397 398 +f 376 375 390 +f 376 391 392 +f 370 369 384 +f 378 377 392 +f 371 370 385 +f 379 378 393 +f 371 386 387 +f 392 391 406 +f 385 384 399 +f 392 407 408 +f 386 385 400 +f 394 393 408 +f 387 386 401 +f 395 394 409 +f 387 402 403 +f 395 410 411 +f 388 403 404 +f 396 411 412 +f 390 389 404 +f 397 412 413 +f 390 405 406 +f 403 402 417 +f 411 410 425 +f 403 418 419 +f 411 426 427 +f 405 404 419 +f 413 412 427 +f 405 420 421 +f 407 406 421 +f 399 414 415 +f 407 422 423 +f 401 400 415 +f 409 408 423 +f 401 416 417 +f 409 424 425 +f 422 421 436 +f 415 414 429 +f 423 422 437 +f 415 430 431 +f 423 438 439 +f 417 416 431 +f 425 424 439 +f 417 432 433 +f 425 440 441 +f 419 418 433 +f 427 426 441 +f 419 434 435 +f 427 442 443 +f 420 435 436 +f 441 440 455 +f 434 433 448 +f 442 441 456 +f 435 434 449 +f 443 442 457 +f 435 450 451 +f 437 436 451 +f 429 444 445 +f 437 452 453 +f 430 445 446 +f 438 453 454 +f 431 446 447 +f 439 454 455 +f 433 432 447 +f 452 467 468 +f 445 460 461 +f 453 468 469 +f 447 446 461 +f 455 454 469 +f 447 462 463 +f 455 470 471 +f 449 448 463 +f 457 456 471 +f 450 449 464 +f 458 457 472 +f 450 465 466 +f 452 451 466 +f 444 459 460 +f 471 480 481 +f 465 464 477 +f 473 472 481 +f 465 3 4 +f 467 466 4 +f 459 474 475 +f 467 5 478 +f 461 460 475 +f 469 468 478 +f 462 461 1 +f 469 6 479 +f 463 462 476 +f 470 479 480 +f 463 2 477 +f 483 515 484 +f 484 515 485 +f 485 515 486 +f 486 515 487 +f 487 515 488 +f 488 515 489 +f 489 515 490 +f 490 515 491 +f 491 515 492 +f 492 515 493 +f 493 515 494 +f 494 515 495 +f 495 515 496 +f 496 515 497 +f 497 515 498 +f 498 515 499 +f 499 515 500 +f 500 515 501 +f 501 515 502 +f 502 515 503 +f 503 515 504 +f 504 515 505 +f 505 515 506 +f 506 515 507 +f 507 515 508 +f 508 515 509 +f 509 515 510 +f 510 515 511 +f 511 515 512 +f 512 515 513 +f 512 513 486 +f 513 515 514 +f 514 515 483 +f 514 483 484 +f 484 485 514 +f 485 486 513 +f 514 485 513 +f 486 487 511 +f 487 488 510 +f 488 489 510 +f 489 490 509 +f 510 489 509 +f 490 491 507 +f 491 492 506 +f 492 493 506 +f 493 494 505 +f 506 493 505 +f 494 495 503 +f 495 496 502 +f 496 497 502 +f 497 498 501 +f 502 497 501 +f 498 499 500 +f 500 501 498 +f 502 503 495 +f 503 504 494 +f 504 505 494 +f 506 507 491 +f 507 508 490 +f 508 509 490 +f 510 511 487 +f 511 512 486 +f 516 548 517 +f 517 548 518 +f 518 548 519 +f 519 548 520 +f 520 548 521 +f 521 548 522 +f 522 548 523 +f 523 548 524 +f 524 548 525 +f 525 548 526 +f 526 548 527 +f 527 548 528 +f 528 548 529 +f 529 548 530 +f 530 548 531 +f 531 548 532 +f 532 548 533 +f 533 548 534 +f 534 548 535 +f 535 548 536 +f 536 548 537 +f 537 548 538 +f 538 548 539 +f 539 548 540 +f 540 548 541 +f 541 548 542 +f 542 548 543 +f 543 548 544 +f 544 548 545 +f 545 548 546 +f 545 546 519 +f 546 548 547 +f 547 548 516 +f 547 516 517 +f 517 518 547 +f 518 519 546 +f 547 518 546 +f 519 520 544 +f 520 521 543 +f 521 522 543 +f 522 523 542 +f 543 522 542 +f 523 524 540 +f 524 525 539 +f 525 526 539 +f 526 527 538 +f 539 526 538 +f 527 528 536 +f 528 529 535 +f 529 530 535 +f 530 531 534 +f 535 530 534 +f 531 532 533 +f 533 534 531 +f 535 536 528 +f 536 537 527 +f 537 538 527 +f 539 540 524 +f 540 541 523 +f 541 542 523 +f 543 544 520 +f 544 545 519 +f 549 581 550 +f 550 581 551 +f 551 581 552 +f 552 581 553 +f 553 581 554 +f 554 581 555 +f 555 581 556 +f 556 581 557 +f 557 581 558 +f 558 581 559 +f 559 581 560 +f 560 581 561 +f 561 581 562 +f 562 581 563 +f 563 581 564 +f 564 581 565 +f 565 581 566 +f 566 581 567 +f 567 581 568 +f 568 581 569 +f 569 581 570 +f 570 581 571 +f 571 581 572 +f 572 581 573 +f 573 581 574 +f 574 581 575 +f 575 581 576 +f 576 581 577 +f 577 581 578 +f 578 581 579 +f 578 579 552 +f 579 581 580 +f 580 581 549 +f 580 549 550 +f 550 551 580 +f 551 552 579 +f 580 551 579 +f 552 553 577 +f 553 554 576 +f 554 555 576 +f 555 556 575 +f 576 555 575 +f 556 557 573 +f 557 558 572 +f 558 559 572 +f 559 560 571 +f 572 559 571 +f 560 561 569 +f 561 562 568 +f 562 563 568 +f 563 564 567 +f 568 563 567 +f 564 565 566 +f 566 567 564 +f 568 569 561 +f 569 570 560 +f 570 571 560 +f 572 573 557 +f 573 574 556 +f 574 575 556 +f 576 577 553 +f 577 578 552 +f 583 584 582 +f 585 586 584 +f 587 588 586 +f 589 590 588 +f 591 592 590 +f 593 594 592 +f 595 596 594 +f 597 598 596 +f 599 600 598 +f 601 602 600 +f 603 604 602 +f 605 606 604 +f 607 608 606 +f 609 610 608 +f 611 612 610 +f 613 614 612 +f 615 616 614 +f 617 618 616 +f 619 620 618 +f 621 622 620 +f 623 624 622 +f 625 626 624 +f 627 628 626 +f 629 630 628 +f 631 632 630 +f 633 634 632 +f 635 636 634 +f 637 638 636 +f 639 640 638 +f 641 642 640 +f 591 589 607 +f 643 644 642 +f 645 582 644 +f 640 642 620 +f 583 585 584 +f 585 587 586 +f 587 589 588 +f 589 591 590 +f 591 593 592 +f 593 595 594 +f 595 597 596 +f 597 599 598 +f 599 601 600 +f 601 603 602 +f 603 605 604 +f 605 607 606 +f 607 609 608 +f 609 611 610 +f 611 613 612 +f 613 615 614 +f 615 617 616 +f 617 619 618 +f 619 621 620 +f 621 623 622 +f 623 625 624 +f 625 627 626 +f 627 629 628 +f 629 631 630 +f 631 633 632 +f 633 635 634 +f 635 637 636 +f 637 639 638 +f 639 641 640 +f 641 643 642 +f 587 585 613 +f 585 583 615 +f 583 645 617 +f 645 643 619 +f 643 641 619 +f 641 639 621 +f 619 641 621 +f 639 637 623 +f 637 635 625 +f 623 637 625 +f 635 633 629 +f 633 631 629 +f 629 627 635 +f 627 625 635 +f 623 621 639 +f 619 617 645 +f 617 615 583 +f 615 613 585 +f 613 611 587 +f 611 609 587 +f 609 607 589 +f 587 609 589 +f 607 605 591 +f 605 603 593 +f 591 605 593 +f 603 601 597 +f 601 599 597 +f 597 595 603 +f 595 593 603 +f 643 645 644 +f 645 583 582 +f 644 582 614 +f 582 584 612 +f 584 586 612 +f 586 588 610 +f 612 586 610 +f 588 590 606 +f 590 592 604 +f 592 594 604 +f 594 596 602 +f 604 594 602 +f 596 598 600 +f 600 602 596 +f 604 606 590 +f 606 608 588 +f 608 610 588 +f 612 614 582 +f 614 616 644 +f 616 618 644 +f 618 620 642 +f 644 618 642 +f 620 622 638 +f 622 624 636 +f 624 626 636 +f 626 628 634 +f 636 626 634 +f 628 630 632 +f 632 634 628 +f 636 638 622 +f 638 640 620 +f 647 648 646 +f 649 650 648 +f 651 652 650 +f 653 654 652 +f 655 656 654 +f 657 658 656 +f 659 660 658 +f 661 662 660 +f 663 664 662 +f 665 666 664 +f 667 668 666 +f 669 670 668 +f 671 672 670 +f 673 674 672 +f 675 676 674 +f 677 678 676 +f 679 680 678 +f 681 682 680 +f 683 684 682 +f 685 686 684 +f 687 688 686 +f 689 690 688 +f 691 692 690 +f 693 694 692 +f 695 696 694 +f 697 698 696 +f 699 700 698 +f 701 702 700 +f 703 704 702 +f 705 706 704 +f 655 653 671 +f 707 708 706 +f 709 646 708 +f 704 706 684 +f 647 649 648 +f 649 651 650 +f 651 653 652 +f 653 655 654 +f 655 657 656 +f 657 659 658 +f 659 661 660 +f 661 663 662 +f 663 665 664 +f 665 667 666 +f 667 669 668 +f 669 671 670 +f 671 673 672 +f 673 675 674 +f 675 677 676 +f 677 679 678 +f 679 681 680 +f 681 683 682 +f 683 685 684 +f 685 687 686 +f 687 689 688 +f 689 691 690 +f 691 693 692 +f 693 695 694 +f 695 697 696 +f 697 699 698 +f 699 701 700 +f 701 703 702 +f 703 705 704 +f 705 707 706 +f 651 649 677 +f 649 647 679 +f 647 709 681 +f 709 707 683 +f 707 705 683 +f 705 703 685 +f 683 705 685 +f 703 701 687 +f 701 699 689 +f 687 701 689 +f 699 697 693 +f 697 695 693 +f 693 691 699 +f 691 689 699 +f 687 685 703 +f 683 681 709 +f 681 679 647 +f 679 677 649 +f 677 675 651 +f 675 673 651 +f 673 671 653 +f 651 673 653 +f 671 669 655 +f 669 667 657 +f 655 669 657 +f 667 665 661 +f 665 663 661 +f 661 659 667 +f 659 657 667 +f 707 709 708 +f 709 647 646 +f 708 646 678 +f 646 648 676 +f 648 650 676 +f 650 652 674 +f 676 650 674 +f 652 654 670 +f 654 656 668 +f 656 658 668 +f 658 660 666 +f 668 658 666 +f 660 662 664 +f 664 666 660 +f 668 670 654 +f 670 672 652 +f 672 674 652 +f 676 678 646 +f 678 680 708 +f 680 682 708 +f 682 684 706 +f 708 682 706 +f 684 686 702 +f 686 688 700 +f 688 690 700 +f 690 692 698 +f 700 690 698 +f 692 694 696 +f 696 698 692 +f 700 702 686 +f 702 704 684 +f 711 712 710 +f 713 714 712 +f 715 716 714 +f 717 718 716 +f 719 720 718 +f 721 722 720 +f 723 724 722 +f 725 726 724 +f 727 728 726 +f 729 730 728 +f 731 732 730 +f 733 734 732 +f 735 736 734 +f 737 738 736 +f 739 740 738 +f 741 742 740 +f 743 744 742 +f 745 746 744 +f 747 748 746 +f 749 750 748 +f 751 752 750 +f 753 754 752 +f 755 756 754 +f 757 758 756 +f 759 760 758 +f 761 762 760 +f 763 764 762 +f 765 766 764 +f 767 768 766 +f 769 770 768 +f 719 717 735 +f 771 772 770 +f 773 710 772 +f 768 770 748 +f 711 713 712 +f 713 715 714 +f 715 717 716 +f 717 719 718 +f 719 721 720 +f 721 723 722 +f 723 725 724 +f 725 727 726 +f 727 729 728 +f 729 731 730 +f 731 733 732 +f 733 735 734 +f 735 737 736 +f 737 739 738 +f 739 741 740 +f 741 743 742 +f 743 745 744 +f 745 747 746 +f 747 749 748 +f 749 751 750 +f 751 753 752 +f 753 755 754 +f 755 757 756 +f 757 759 758 +f 759 761 760 +f 761 763 762 +f 763 765 764 +f 765 767 766 +f 767 769 768 +f 769 771 770 +f 715 713 741 +f 713 711 743 +f 711 773 745 +f 773 771 747 +f 771 769 747 +f 769 767 749 +f 747 769 749 +f 767 765 751 +f 765 763 753 +f 751 765 753 +f 763 761 757 +f 761 759 757 +f 757 755 763 +f 755 753 763 +f 751 749 767 +f 747 745 773 +f 745 743 711 +f 743 741 713 +f 741 739 715 +f 739 737 715 +f 737 735 717 +f 715 737 717 +f 735 733 719 +f 733 731 721 +f 719 733 721 +f 731 729 725 +f 729 727 725 +f 725 723 731 +f 723 721 731 +f 771 773 772 +f 773 711 710 +f 772 710 742 +f 710 712 740 +f 712 714 740 +f 714 716 738 +f 740 714 738 +f 716 718 734 +f 718 720 732 +f 720 722 732 +f 722 724 730 +f 732 722 730 +f 724 726 728 +f 728 730 724 +f 732 734 718 +f 734 736 716 +f 736 738 716 +f 740 742 710 +f 742 744 772 +f 744 746 772 +f 746 748 770 +f 772 746 770 +f 748 750 766 +f 750 752 764 +f 752 754 764 +f 754 756 762 +f 764 754 762 +f 756 758 760 +f 760 762 756 +f 764 766 750 +f 766 768 748 diff --git a/examples/python/Colon/colon.stl b/examples/python/Colon/colon.stl new file mode 100644 index 0000000000000000000000000000000000000000..bd9bd64f8b571a92b1897378e944cb3da168afe3 GIT binary patch literal 100084 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

A>ad;=owL`P* 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 KhIH}<0|NkRtaHc! literal 0 HcmV?d00001 diff --git a/examples/python/Colon/demo 1.py b/examples/python/Colon/demo 1.py new file mode 100644 index 00000000..a20f7767 --- /dev/null +++ b/examples/python/Colon/demo 1.py @@ -0,0 +1,270 @@ +""" +Created on Fri Oct 4 16:42:10 2024 + +@author: chris +""" + +import sys +import numpy as np +import meshio +import polyscope as ps + +import os +import pymandos + +from parallel_transport import compute_rotations_parallel_transport +import polyscope.imgui as psim + + +n_points = 160 +total_length = 1000 +delta_x = total_length / n_points +insertion_speed = 100 +total_mass = 1 +vUnit = np.zeros(3) +m_point = [] + +playing = False + +def create_model(): + + ## load the colon + # mesh = meshio.read("14/3D_10mm_3109.msh") + mesh = meshio.read("colon.stl") + x = mesh.points + + # ## find the coordinates to place the endoscope + minZ = np.min(x[:,2]) + + initalIndices = np.where (x[:,2]< minZ + 5) + average = np.average(x[initalIndices], axis=(0)) + print(average) + middlePoint = np.zeros((1,3)) + middlePoint[0,0] = average[0] + middlePoint[0,1] = average[1] + middlePoint[0,2] = average[2] + m_point.extend(middlePoint) + + print(average) + + # ## find a vector, perpendicular to the colons' whole + p = x[initalIndices[0][0]]; q = x[initalIndices[0][1]]; r = x[initalIndices[0][2]] + pq = q-p + pr = r-p + v = np.cross(pq,pr) + global vUnit + vUnit = -v / (v**2).sum()**0.5 ##### carefull with the sign, I am not defining a sign until now! + + # ### Creat the pymandos model + model = pymandos.Model() + # ## create the rod model + endoscope = model.add_rigidbody_cloud(name="endoscope") + + # Set initial conditions + positions = np.zeros((n_points, 6)) + velocities = np.zeros((n_points, 6)) + + startingPos= np.array([middlePoint[0,0], middlePoint[0,1], middlePoint[0,2]]) + for i, position in enumerate(positions): + if i==0: + position[0] = startingPos[0] + position[1] = startingPos[1] + position[2] = startingPos[2] + else: + position[0] = startingPos[0] - delta_x * vUnit[0] + position[1] = startingPos[1] - delta_x * vUnit[1] + position[2] = startingPos[2] - delta_x * vUnit[2] + + startingPos[0] = position[0] + startingPos[1] = position[1] + startingPos[2] = position[2] + + positions = np.flip(positions,0) + lin_pos = np.array([pos[:3] for pos in positions]) + rotvecs = compute_rotations_parallel_transport(lin_pos) + for rotvec, pos in zip(rotvecs, positions): + pos[3:] = rotvec + endoscope.size = n_points + endoscope.x = positions + endoscope.v = velocities + # # Set up rigid body mass and inertia + endoscope.mass = total_mass / n_points * np.ones(n_points) + endoscope.inertiaTensor = [total_mass / n_points *np.diag([1.0, 1.0, 1.0]) for _ in range(n_points)] + endoscope.disable_gravity() + + # # Rod energy + Ks = [5000.0 for _ in range(n_points - 1)] + stiffness_tensor = [20000 * np.ones(3) for _ in range(n_points - 2)] + cosserat_stiffness = [100.0 for _ in range(n_points - 1)] + + mass_spring = endoscope.mass_spring + cosserat_rod = endoscope.cosserat_rod_alignment + for i in range(n_points-1): + mass_spring.add_element([i, i+1], pymandos.energies.MassSpring.ParameterSet(x0 = endoscope.x[[i, i+1], 0:3], stiffness=Ks[i])) + cosserat_rod.add_element([i, i+1], pymandos.energies.CosseratRodAlignment.ParameterSet(x0 = endoscope.x[[i, i+1], :], cosserat_stiffness=cosserat_stiffness[i])) + + bending_rod = endoscope.cosserat_bending_rod + for i in range(n_points-2): + bending_rod.add_element([i, i+1], pymandos.energies.CosseratBendingRod.ParameterSet(x0 = endoscope.x[[i, i+1], :], stiffness_tensor=stiffness_tensor[i])) + + + # ########### Map particles to rigid bodies for contact #### + mapping = model.add_rigidbody_point_mapping(endoscope, to_name="Collider") + + # # The tube entrance has a diameter of 0.014, so dont go too crazy with the size of the collision radius + collision_radius = 0.003 + for i in range(n_points): + mapping.add_particle(0 * np.array([1,0,0]), i) + # mapping.add_particle(collision_radius * np.array([1,0,0]), i) + # mapping.add_particle(collision_radius * np.array([-1,0,0]), i) + # mapping.add_particle(collision_radius * np.array([0,1,0]), i) + # mapping.add_particle(collision_radius * np.array([0,-1,0]), i) + # mapping.add_particle(collision_radius * np.array([0,0,1]), i) + # mapping.add_particle(collision_radius * np.array([0,0,-1]), i) + deformable = mapping.deformable + + collision_radius = 0.1 + rod_collider = deformable.add_sphere_cloud(collision_radius) + ps.register_point_cloud("ColliderSC", deformable.x, radius=0.0) + + ########################## Prepare the rigid body + colon = model.add_rigidbody(name="colon") + # Set initial conditions + x = np.zeros(6) + colon.x = x + vel = np.zeros(6) + colon.v = vel + # Disable gravity + colon.disable_gravity() + + # Set up rigid body mass and inertia + colon.mass = 1 + colon.inertiaTensor = 1*np.diag([2.0, 1.0, 4.0]) + colon.fix() + + ##### Prepare Contact for the rigid body###### + colon_mesh = pymandos.SurfaceMesh() + m = meshio.read("colon.stl") + colon_mesh.x = m.points + colon_mesh.indices = m.cells_dict["triangle"] + colon_sdf = colon.add_sdf(colon_mesh, 0.1*np.max((np.max(colon_mesh.x, axis=0) - np.min(colon_mesh.x, axis=0))/512) , 512) + + # bound_low = np.min(colon_mesh.x, axis=0) + # bound_high = np.max(colon_mesh.x, axis=0) + # print(bound_low) + # print(bound_high) + # dims = (512, 512, 512) + + # def distance(x): + # if len(np.shape(x)) == 2: + # return np.array([colon_sdf.distance(x[i, :]) for i in range(np.shape(x)[0])]) + + # ps.register_volume_grid("SDF", dims, bound_low, bound_high).add_scalar_quantity_from_callable("distance", distance) + + model.add_collision_pair(colon_sdf, rod_collider, stiffness=1000, name="collision_points", threshold=0.1) + model.compute_dag() + + # Render + axis_mesh = meshio.read("axis.obj") + positions = np.array([x[:3] for x in endoscope.x]) + + # for i in range(n_points): + # endoscope_view = ps.register_surface_mesh(f"Endoscope_{i}", axis_mesh.points, axis_mesh.cells_dict["triangle"], transparency=None) + # endoscope_view.set_transform(endoscope.get_transform(i)) + # endoscope_view.add_color_quantity("c", axis_mesh.points, enabled=True) + indices = np.array([(i, i+1) for i in range(n_points -1)]) + endoscope_view = ps.register_curve_network("Endoscope", positions, indices, radius = 0.005) + + ps.register_surface_mesh("Colon", m.points , m.cells_dict["triangle"], transparency=0.3) + ps.get_surface_mesh("Colon").set_transform(colon.get_transform()) + + return model + +def simulate_callback(model): + + step_parameters = pymandos.StepParameters() + step_parameters.h = 0.001 + step_parameters.newton_iterations = 5 + step_parameters.cg_iterations = 250 + step_parameters.cg_error = 1e-8 + step_parameters.grad_norm = 1e-2 + step_parameters.line_search_iterations = 0 + step_parameters.accept_failed_solution = True + global playing + if playing: + if psim.Button("Pause"): + playing = False + elif psim.Button("Simulate"): + playing=True + + doStep = playing + if psim.Button("Step"): + doStep = True + + endoscope = model.get_rigidbody_cloud("endoscope") + + if doStep: + print(pymandos.step(model, step_parameters)) + + dx = np.array([0, 0, step_parameters.h * insertion_speed]) + + pos = endoscope.x.copy() + + # pos[0, 0:3] -= endoscope.get_transform(n_points-2)[0:3, 0:3] @ dx + + # endoscope.x = pos + # index = 0 + # pos[index,2] = pos[index,2] + dx + # endoscope.clear_fixing() + # endoscope.fix_translation(index) + # endoscope.fix_rotation(index) + + A = np.abs(np.asarray(pos[:, 0:3]) - np.asarray(m_point[0])) + index = (A ** 2).sum(1).argmin() -1 + + pos = np.array([x for x in endoscope.x]) + endoscope.clear_fixing() + for i in range(index, -1, -1): + endoscope.fix_translation(i) + pos[i,0:3] = pos[i,0:3] + dx * vUnit + pos[i,0]= m_point[0][0] + pos[i,1]= m_point[0][1] + + endoscope.x = pos + + model.detect_collisions() + model.compute_forces(0) + + collision_points = model.get_collisions_state("collision_points") + collider = model.get_deformable3d("Collider") + + if doStep: + if collision_points.size > 0: + n_collisions = collision_points.size // 2 + x = collision_points.x[n_collisions:2*n_collisions, :] + collisions = ps.register_point_cloud("collision_points", x, radius = 0) + collisions.add_vector_quantity("f", collision_points.f[n_collisions:2*n_collisions, :], enabled=True) + # playing = False + else: + if ps.has_point_cloud("collision_points"): + ps.remove_point_cloud("collision_points") + + # positions = np.array([x[:3] for x in endoscope.x]) + # for i in range(n_points): + # ps.get_surface_mesh(f"Endoscope_{i}").set_transform(endoscope.get_transform(i)) + ps.get_curve_network("Endoscope").update_node_positions(endoscope.x[:,0:3]) + ps.get_point_cloud("ColliderSC").update_point_positions(collider.x) + +if __name__ == "__main__": + ps.init() + ps.set_up_dir("z_up") + # ps.look_at((0.0, 10.0, 2.0), (0.0, 0.0, 0.0)) + ps.set_ground_plane_mode("none") # Disable ground rendering + model = create_model() + ps.set_user_callback(lambda: simulate_callback(model)) + ps.show() + + + + + diff --git a/examples/python/Colon/parallel_transport.py b/examples/python/Colon/parallel_transport.py new file mode 100644 index 00000000..433e2347 --- /dev/null +++ b/examples/python/Colon/parallel_transport.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 + +import numpy as np +from scipy.spatial.transform import Rotation + + +def parallel_transport(v1: np.array, v2: np.array) -> np.array: + """ + Compute the parallel transport rotation matrix + + The parallel transport matrix is the minimum rotation that aligns v1 and v2 + + Parameters: + v1 (np.array): The initial 3d vector + v2 (np.array): The final 3d vector + + Returns: + np.array: The 3x3 parallel transport rotation matrix + """ + cross = np.cross(v1, v2) + cross_norm = np.linalg.norm(cross) + if cross_norm < 1e-7: + return np.identity(3) + axis = cross / cross_norm + angle = np.atan2(cross_norm, np.dot(v1, v2)) + return Rotation.from_rotvec(axis * angle).as_matrix() + + +def normalize(a: np.array) -> np.array: + return a / np.linalg.norm(a) + + +def compute_rotation_matrix_from_direction(direction: np.array) -> np.array: + initial_dir = np.array((0.0, 0.0, 1.0)) + return parallel_transport(initial_dir, normalize(direction)) + + +def compute_rotations_parallel_transport(positions: np.array) -> np.array: + """ + Compute the rotation vectors necessary so that the z director is following the centreline of the curve. + + Parameters: + positions (np.array): An Nx3 shaped array containing the positions of the centreline. + + Returns: + np.array: An array of equal shape as the positions array with the rotation vectors + """ + rotvecs = [(0.0, 0.0, 0.0)] * positions.size + + # Compute first rotation + direction0 = positions[0] - positions[1] + R0 = compute_rotation_matrix_from_direction(direction0) + + rotvecs[0] = Rotation.from_matrix(R0).as_rotvec() + + last_direction = normalize(direction0) + last_rotation = R0 + + for i in range(1, len(positions)): + vA = positions[i - 1] + vB = positions[i] + + AB = vA - vB + + direction = normalize(AB) + rotation = parallel_transport(last_direction, direction) @ last_rotation + + rotvecs[i] = Rotation.from_matrix(rotation).as_rotvec() + + last_rotation = rotation + last_direction = direction + + return np.array(rotvecs) -- GitLab