From 49cbcca824ec15cfd1c201bfb5321a0008951c46 Mon Sep 17 00:00:00 2001 From: koutrasc Date: Wed, 19 Mar 2025 16:27:54 +0100 Subject: [PATCH 1/7] returning energy to Python from cosserat and bending energies Signed-off-by: koutrasc --- bindings/Mandos/python/Energies/CosseratBendingRod.cpp | 7 +++++++ bindings/Mandos/python/Energies/CosseratRodAlignment.cpp | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/bindings/Mandos/python/Energies/CosseratBendingRod.cpp b/bindings/Mandos/python/Energies/CosseratBendingRod.cpp index 21fbd3e7..9609fcc7 100644 --- a/bindings/Mandos/python/Energies/CosseratBendingRod.cpp +++ b/bindings/Mandos/python/Energies/CosseratBendingRod.cpp @@ -6,6 +6,7 @@ #include #include +#include void mandos::py::energies::wrapCosseratBendingRod(nb::module_ &m) { @@ -40,11 +41,17 @@ void mandos::py::energies::wrapCosseratBendingRod(nb::module_ &m) [](const mandos::core::CosseratBendingRod &massSpring, int elementId) { return massSpring.getParameterSet(elementId); }) + .def("set_parameter_set", [](mandos::core::CosseratBendingRod &massSpring, int elementId, const mandos::core::CosseratBendingRod::ParameterSet ¶meterSet) { massSpring.setParameterSet(elementId, parameterSet); + }) + + .def("compute_bending_energy", + [](const mandos::core::CosseratBendingRod &bendingRod, const mandos::py::RigidBodyCloud3D &rbCloud) { + return bendingRod.computeEnergy(rbCloud.simObject().mstate); }); nb::enum_(cosseratBendingRod, "Parameters") diff --git a/bindings/Mandos/python/Energies/CosseratRodAlignment.cpp b/bindings/Mandos/python/Energies/CosseratRodAlignment.cpp index f1754427..da5733c6 100644 --- a/bindings/Mandos/python/Energies/CosseratRodAlignment.cpp +++ b/bindings/Mandos/python/Energies/CosseratRodAlignment.cpp @@ -6,6 +6,7 @@ #include #include +#include void mandos::py::energies::wrapCosseratRodAlignment(nb::module_ &m) { @@ -42,5 +43,10 @@ void mandos::py::energies::wrapCosseratRodAlignment(nb::module_ &m) int elementId, const mandos::core::CosseratRodAlignment::ParameterSet ¶meterSet) { massSpring.setParameterSet(elementId, parameterSet); + }) + + .def("compute_cosserat_energy", + [](const mandos::core::CosseratRodAlignment &cosseratRod, const mandos::py::RigidBodyCloud3D &rbCloud) { + return cosseratRod.computeEnergy(rbCloud.simObject().mstate); }); } -- GitLab From 680d139e19c8b9f3968494a02fc1a82884bd6e94 Mon Sep 17 00:00:00 2001 From: koutrasc Date: Mon, 31 Mar 2025 12:05:44 +0200 Subject: [PATCH 2/7] Derivatives with respect to stiffness parameters Signed-off-by: koutrasc --- bindings/Mandos/python/Deformable3D.cpp | 25 +++++++++- .../python/Energies/CosseratBendingRod.cpp | 1 + bindings/Mandos/python/Model.cpp | 13 +++++- bindings/Mandos/python/RigidBody.cpp | 46 ++++++++++++++++++- bindings/Mandos/python/RigidBody.hpp | 4 +- src/Mandos/Core/DiffParameters.hpp | 4 +- src/Mandos/Core/Energies/ARAP.cpp | 1 + .../Core/Energies/CosseratBendingRod.cpp | 30 +++++++++++- .../Core/Energies/CosseratBendingRod.hpp | 8 +++- .../Core/Energies/CosseratRodAlignment.cpp | 2 +- src/Mandos/Core/Energies/MassSpring.cpp | 28 +++++++++++ src/Mandos/Core/Energies/MassSpring.hpp | 11 ++++- src/Mandos/Core/SystemMatrix.hpp | 2 +- 13 files changed, 163 insertions(+), 12 deletions(-) diff --git a/bindings/Mandos/python/Deformable3D.cpp b/bindings/Mandos/python/Deformable3D.cpp index 820086fb..24529bb1 100644 --- a/bindings/Mandos/python/Deformable3D.cpp +++ b/bindings/Mandos/python/Deformable3D.cpp @@ -15,6 +15,7 @@ #include #include + NB_MAKE_OPAQUE(mandos::core::DiffParameterHandleV) void mandos::py::wrapDeformable3D(nb::module_ &m) @@ -84,9 +85,31 @@ void mandos::py::wrapDeformable3D(nb::module_ &m) nb::arg("x") = true, nb::arg("y") = true, nb::arg("z") = true) - .def("fixed_dof_vector", &Deformable3D::getFixedDofVector); + .def("fixed_dof_vector", &Deformable3D::getFixedDofVector) + // Differential parameters + //-------------------------- + // Mass Spring + .def("diff", [](const Deformable3D &self, mandos::core::MassSpring::Parameters parameter) { + switch (parameter) { + case mandos::core::MassSpring::Stiffness: { + mandos::core::DiffParameterHandle + paramHandle(self.handle()); + return mandos::core::DiffParameterHandleV(paramHandle); + } + case mandos::core::MassSpring::RestLength: { + mandos::core::DiffParameterHandle + paramHandle(self.handle()); + return mandos::core::DiffParameterHandleV(paramHandle); + } + } + }); } + mandos::core::SimulationObject &mandos::py::Deformable3D::simObject() { return m_handle.simulationObject(); diff --git a/bindings/Mandos/python/Energies/CosseratBendingRod.cpp b/bindings/Mandos/python/Energies/CosseratBendingRod.cpp index 9609fcc7..5b946e17 100644 --- a/bindings/Mandos/python/Energies/CosseratBendingRod.cpp +++ b/bindings/Mandos/python/Energies/CosseratBendingRod.cpp @@ -56,5 +56,6 @@ void mandos::py::energies::wrapCosseratBendingRod(nb::module_ &m) nb::enum_(cosseratBendingRod, "Parameters") .value("intrinsic_darboux", mandos::core::CosseratBendingRod::IntrinsicDarboux) + .value("stiffness_tensor", mandos::core::CosseratBendingRod::StiffnessTensor) .export_values(); } diff --git a/bindings/Mandos/python/Model.cpp b/bindings/Mandos/python/Model.cpp index 224d252c..57381593 100644 --- a/bindings/Mandos/python/Model.cpp +++ b/bindings/Mandos/python/Model.cpp @@ -27,7 +27,7 @@ #include #include - +#include void mandos::py::wrapModel(nb::module_ &m) { const nb::class_ model_(m, "Model_"); @@ -273,6 +273,17 @@ void mandos::py::wrapModel(nb::module_ &m) model.computeEnergyAndGradient(h, g); }) + .def("compute_hessian", + [](Model &model, const mandos::core::Scalar h) { + auto nDof = model.nDof(); + mandos::core::Vec g(nDof); + g.setZero(); + mandos::core::SystemMatrix hessian(nDof, nDof); + // We need to compute advection to ensure inertial forces are correct + model.computeAdvection(h); + + model.computeEnergyGradientAndHessian(h, g, hessian); + }) .def("detect_collisions", [](Model &model) { // Ensure all the graph is updated diff --git a/bindings/Mandos/python/RigidBody.cpp b/bindings/Mandos/python/RigidBody.cpp index 25258bda..c94e2afd 100644 --- a/bindings/Mandos/python/RigidBody.cpp +++ b/bindings/Mandos/python/RigidBody.cpp @@ -75,7 +75,19 @@ void wrapRigidBody(nb::module_ &m) transform.block<3, 1>(0, 3) = self.x().segment<3>(0); // Position transform(3, 3) = 1.0; return transform; - }); + }) + + .def("diff", [](RigidBody3D &self, core::MassSpring::Parameters parameter) { + switch (parameter) { + case core::MassSpring::Stiffness: { + mandos::core::DiffParameterHandle + paramHandle(self.handle()); + return mandos::core::DiffParameterHandleV(paramHandle); + } + } + }); nb::class_>(m, "RigidBodyGlobal3D") .def_prop_rw("x", &RigidBody3D::x, &RigidBody3D::setX) @@ -109,6 +121,7 @@ void wrapRigidBody(nb::module_ &m) .def_prop_rw("v", &RigidBodyCloud3D::v, &RigidBodyCloud3D::setV) .def_prop_ro("grad", &RigidBodyCloud3D::grad) .def_prop_ro("hessian", &RigidBodyCloud3D::hessian) + .def_prop_ro("hessian_dense", &RigidBodyCloud3D::hessianDense, nb::rv_policy::copy) .def_prop_rw("mass", &RigidBodyCloud3D::mass, &RigidBodyCloud3D::setMass) .def_prop_rw("inertiaTensor", &RigidBodyCloud3D::inertiaTensor, &RigidBodyCloud3D::setInertiaTensor) .def("enable_gravity", @@ -135,7 +148,29 @@ void wrapRigidBody(nb::module_ &m) nb::arg("z") = true) .def("fix_rotation", &RigidBodyCloud3D::fixRigidBodyRotation, nb::arg("index")) .def("clear_fixing", &RigidBodyCloud3D::clearFixing) - .def("fixed_dof_vector", &RigidBodyCloud3D::getFixedDofVector); + .def("fixed_dof_vector", &RigidBodyCloud3D::getFixedDofVector) + .def("diff", [](RigidBodyCloud3D &self, core::MassSpring::Parameters parameter) { + switch (parameter) { + case core::MassSpring::Stiffness: { + mandos::core::DiffParameterHandle + paramHandle(self.handle()); + return mandos::core::DiffParameterHandleV(paramHandle); + } + } + }) + .def("diff", [](RigidBodyCloud3D &self, core::CosseratBendingRod::Parameters parameter) { + switch (parameter) { + case core::CosseratBendingRod::StiffnessTensor: { + mandos::core::DiffParameterHandle + paramHandle(self.handle()); + return mandos::core::DiffParameterHandleV(paramHandle); + } + } + }); } template @@ -292,6 +327,13 @@ const mandos::core::SparseMat &RigidBodyCloud3D::hessian() const return simObject().mstate.m_hessian; } +const Eigen::MatrixXd RigidBodyCloud3D::hessianDense() const +{ + mandos::core::SparseMat sparseHessian = simObject().mstate.m_hessian; + Eigen::MatrixXd denseHessian = sparseHessian.toDense(); + return denseHessian; +} + mandos::core::MassSpring &RigidBodyCloud3D::massSpring() { return simObject().template potential(); diff --git a/bindings/Mandos/python/RigidBody.hpp b/bindings/Mandos/python/RigidBody.hpp index 4c55d9b4..dc45b232 100644 --- a/bindings/Mandos/python/RigidBody.hpp +++ b/bindings/Mandos/python/RigidBody.hpp @@ -2,7 +2,7 @@ #define MANDOS_PY_RIGIDBODY_HPP #include - +#include #include #include #include @@ -85,6 +85,8 @@ struct RigidBodyCloud3D { const mandos::core::SparseMat &hessian() const; + const Eigen::MatrixXd hessianDense() const; + mandos::core::MassSpring &massSpring(); mandos::core::CosseratBendingRod &cosseratBendingRod(); mandos::core::CosseratRodAlignment &cosseratRodAlignment(); diff --git a/src/Mandos/Core/DiffParameters.hpp b/src/Mandos/Core/DiffParameters.hpp index 66067ed1..b7e8ef08 100644 --- a/src/Mandos/Core/DiffParameters.hpp +++ b/src/Mandos/Core/DiffParameters.hpp @@ -46,8 +46,10 @@ struct DiffParameterHandle { using DiffParametersList = utilities::typelist, + DiffParameterHandle, DiffParameterHandle, - DiffParameterHandle>; + DiffParameterHandle, + DiffParameterHandle>; using DiffParameterHandleV = DiffParametersList::as; diff --git a/src/Mandos/Core/Energies/ARAP.cpp b/src/Mandos/Core/Energies/ARAP.cpp index cd52fce1..55ec6ea7 100644 --- a/src/Mandos/Core/Energies/ARAP.cpp +++ b/src/Mandos/Core/Energies/ARAP.cpp @@ -19,6 +19,7 @@ #include #include +#include namespace mandos::core { diff --git a/src/Mandos/Core/Energies/CosseratBendingRod.cpp b/src/Mandos/Core/Energies/CosseratBendingRod.cpp index d9ea454a..cf22bce3 100644 --- a/src/Mandos/Core/Energies/CosseratBendingRod.cpp +++ b/src/Mandos/Core/Energies/CosseratBendingRod.cpp @@ -102,7 +102,7 @@ Scalar CosseratBendingRod::computeEnergy(const MechanicalState &ms const Mat3 Ak = 0.5 * (mandos::core::skew(m_intrinsicDarboux[i]) * J + J * mandos::core::skew(m_intrinsicDarboux[i])); const Mat3 JAk = J * mandos::core::Scalar{1.0} / m_restLength[i] + Ak; - energy += -(RB.transpose() * RA * JAk).trace(); // Bending energy + energy += -(RB.transpose() * RA * JAk).trace(); // Bending energy } return energy; } @@ -219,4 +219,32 @@ Vec3 CosseratBendingRod::computeEnergyGradientParameterDerivative(3).transpose() * dgradE_dp + mstate.m_grad[iB].segment<3>(3).transpose() * (-dgradE_dp); } + +template <> +Vec3 CosseratBendingRod::computeEnergyGradientParameterDerivative( + MechanicalState &mstate, + std::size_t index) const +{ + const auto iA = static_cast(m_indices[index][0]); + const auto iB = static_cast(m_indices[index][1]); + + const Mat3 RA = mandos::core::rotationExpMap(mstate.m_x[iA].segment<3>(3)); + const Mat3 RB = mandos::core::rotationExpMap(mstate.m_x[iB].segment<3>(3)); + const auto &stiffnessTensor = m_stiffnessTensor[index]; + + const Mat3 traceRaTRb = RA.transpose() * RB; + const Mat3 dudthita = (0.5 / m_restLength[index]) * (RA.transpose() - traceRaTRb.trace() * RB.transpose()); + const Mat3 B = Vec3(stiffnessTensor(0), stiffnessTensor(1), stiffnessTensor(2)).asDiagonal(); + Vec3 darbouxVector = computeDarbouxVector(m_restLength[index], RA, RB); + + Vec3 grad = m_restLength[index] * dudthita.transpose() * B * (darbouxVector - m_intrinsicDarboux[index]); + + const Mat3 dgradE_dp = + m_restLength[index] * dudthita.transpose() * (darbouxVector - m_intrinsicDarboux[index]).asDiagonal(); + + + return mstate.m_grad[iA].segment<3>(3).transpose() * dgradE_dp + + mstate.m_grad[iB].segment<3>(3).transpose() * (-dgradE_dp); +} + } // namespace mandos::core diff --git a/src/Mandos/Core/Energies/CosseratBendingRod.hpp b/src/Mandos/Core/Energies/CosseratBendingRod.hpp index 24708014..46cd35e7 100644 --- a/src/Mandos/Core/Energies/CosseratBendingRod.hpp +++ b/src/Mandos/Core/Energies/CosseratBendingRod.hpp @@ -25,7 +25,8 @@ public: }; enum Parameters { - IntrinsicDarboux, + IntrinsicDarboux, + StiffnessTensor, }; /** @@ -90,6 +91,11 @@ Vec3 CosseratBendingRod::computeEnergyGradientParameterDerivative &mstate, std::size_t index) const; +template <> +Vec3 CosseratBendingRod::computeEnergyGradientParameterDerivative( + MechanicalState &mstate, + std::size_t index) const; + } // namespace mandos::core #endif // MANDOS_ENERGIES_COSSEATRODBENDING_H diff --git a/src/Mandos/Core/Energies/CosseratRodAlignment.cpp b/src/Mandos/Core/Energies/CosseratRodAlignment.cpp index 7b4fcf61..47669098 100644 --- a/src/Mandos/Core/Energies/CosseratRodAlignment.cpp +++ b/src/Mandos/Core/Energies/CosseratRodAlignment.cpp @@ -54,7 +54,7 @@ Scalar CosseratRodAlignment::computeEnergyAndGradient(MechanicalState(0) += grad; mstate.m_grad[iA].segment<3>(3) += diff --git a/src/Mandos/Core/Energies/MassSpring.cpp b/src/Mandos/Core/Energies/MassSpring.cpp index 0f1f3bd6..b581019b 100644 --- a/src/Mandos/Core/Energies/MassSpring.cpp +++ b/src/Mandos/Core/Energies/MassSpring.cpp @@ -307,4 +307,32 @@ Scalar MassSpring::computeEnergyGradientParameterDerivative +Scalar MassSpring::computeEnergyGradientParameterDerivative( + MechanicalState &mstate, + std::size_t index) const +{ + const auto &indices{m_indices[index]}; + const auto iA = static_cast(indices[0]); + const auto iB = static_cast(indices[1]); + const Vec3 xA = mstate.m_x[iA].segment<3>(0); + const Vec3 xB = mstate.m_x[iB].segment<3>(0); + + const Scalar L = (xA - xB).norm() + std::numeric_limits::epsilon(); + const Vec3 u = (xA - xB) / L; + + const Vec3 dgrad_dK = [&]() -> Vec3 { + if (m_restLength[index] > std::numeric_limits::epsilon()) { // divide by L0 + return (L - m_restLength[index]) / m_restLength[index] * u; + } + return (L - m_restLength[index]) * u; + }(); + + Vec6 grad = Vec6::Zero(); + grad.segment<3>(0) = dgrad_dK; + return mstate.m_grad[iA].dot(grad) + mstate.m_grad[iB].dot(-grad); +} + + } // namespace mandos::core + diff --git a/src/Mandos/Core/Energies/MassSpring.hpp b/src/Mandos/Core/Energies/MassSpring.hpp index 8bb23c75..e628be82 100644 --- a/src/Mandos/Core/Energies/MassSpring.hpp +++ b/src/Mandos/Core/Energies/MassSpring.hpp @@ -61,10 +61,12 @@ public: */ Scalar computeEnergyGradientAndHessian(MechanicalState &mstate) const; Scalar computeEnergyGradientAndHessian(MechanicalState &mstate) const; - + template Scalar computeEnergyGradientParameterDerivative(MechanicalState &mstate, std::size_t index) const; + template + Scalar computeEnergyGradientParameterDerivative(MechanicalState &mstate, std::size_t index) const; /** * @brief Add a new spring element. The rest length of the spring is taken from the current mechanical state * @@ -96,6 +98,11 @@ Scalar MassSpring::computeEnergyGradientParameterDerivative &mstate, std::size_t index) const; +template <> +Scalar MassSpring::computeEnergyGradientParameterDerivative( + MechanicalState &mstate, + std::size_t index) const; + } // namespace mandos::core -#endif // MANDOS_ENERGIES_SPRINGS_H +#endif // MANDOS_ENERGIES_SPRINGS_H \ No newline at end of file diff --git a/src/Mandos/Core/SystemMatrix.hpp b/src/Mandos/Core/SystemMatrix.hpp index c8ac89d2..5becb0b1 100644 --- a/src/Mandos/Core/SystemMatrix.hpp +++ b/src/Mandos/Core/SystemMatrix.hpp @@ -41,7 +41,7 @@ namespace mandos::core * */ -struct SystemMatrix : public Eigen::EigenBase { +struct MANDOS_CORE_EXPORT SystemMatrix : public Eigen::EigenBase { public: using Scalar = mandos::core::Scalar; using RealScalar = mandos::core::Scalar; -- GitLab From be8c70051d7ca34a6270e0f5178ae92e45077ac2 Mon Sep 17 00:00:00 2001 From: koutrasc Date: Tue, 27 May 2025 12:54:33 +0200 Subject: [PATCH 3/7] added rigid colon demo for speed analysis Signed-off-by: koutrasc --- examples/python/ColonExperiments/axis.obj | 2295 +++++++++++++++++ examples/python/ColonExperiments/colon.stl | Bin 0 -> 199384 bytes .../demoJuanjoRigidColonAsDeformble.py | 312 +++ 3 files changed, 2607 insertions(+) create mode 100644 examples/python/ColonExperiments/axis.obj create mode 100644 examples/python/ColonExperiments/colon.stl create mode 100644 examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py diff --git a/examples/python/ColonExperiments/axis.obj b/examples/python/ColonExperiments/axis.obj new file mode 100644 index 00000000..e000459b --- /dev/null +++ b/examples/python/ColonExperiments/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/ColonExperiments/colon.stl b/examples/python/ColonExperiments/colon.stl new file mode 100644 index 0000000000000000000000000000000000000000..14cc1b95aba175de59d44167cd2b4d3ec8913809 GIT binary patch literal 199384 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 _V*pAR9o9~l@{s|N3HxORJALEN5w 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

AoCI$BJg=eRl%)+sSEX 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py b/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py new file mode 100644 index 00000000..b3d67ffe --- /dev/null +++ b/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py @@ -0,0 +1,312 @@ +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 + + +division_Coef = 1000 ### divie by 1000 to make the mm of the colon in meters +endoscopeR = 0.5 * 11.5 / division_Coef#mm radius of endoscope + +tubeL = 1500 / division_Coef +passiveBendingL = 45 / division_Coef #m +activeBendingL = 110 /division_Coef # m +tipL = 20 / division_Coef ##m + + +density_tube = 1700 +density_passiveBending = 800 +density_activeBending = 600 +density_tip = 1000 + + +tubePoints = 100 +passiveBendingPoints = 4 #5 +activeBendingPoints = 10 +tipPoints = 3 + +delta_xTube = tubeL / tubePoints +delta_xPassiveBending = passiveBendingL / passiveBendingPoints +delta_xActiveBending = activeBendingL / activeBendingPoints +delta_xTip = tipL / tipPoints + +total_length = tipL + activeBendingL + passiveBendingL + tubeL +n_points = tipPoints + activeBendingPoints + passiveBendingPoints + tubePoints + +massVector = ( + tubePoints * [density_tube * np.pi * endoscopeR**2 * tubeL / tubePoints] + + passiveBendingPoints * [density_passiveBending * np.pi * endoscopeR**2 * passiveBendingL / passiveBendingPoints] + + activeBendingPoints * [density_activeBending * np.pi * endoscopeR**2 * activeBendingL / activeBendingPoints] + + tipPoints * [density_tip * np.pi * endoscopeR**2 * tipL / tipPoints] +) + +delta_x = total_length / n_points +insertion_speed = 100 /division_Coef +vUnit = np.zeros(3) +m_point = [] +nNodes = 0 +playing = False + +def compute_edges(triangles): + # For each triangle, create its three edges + edges = np.vstack([ + triangles[:, [0, 1]], + triangles[:, [1, 2]], + triangles[:, [2, 0]] + ]) + # Sort each edge so that the order is consistent (smallest index first) + edges = np.sort(edges, axis=1) + # Remove duplicate edges + unique_edges = np.unique(edges, axis=0) + return unique_edges + +def create_model(): + + ## load the colon + mesh = meshio.read("colon.stl") + triangles = mesh.cells_dict["triangle"] + edges = compute_edges(triangles) + x = mesh.points /division_Coef + + # ## find the coordinates to place the endoscope + minZ = np.min(x[:,2]) + + initalIndices = np.where (x[:,2]< minZ + 5 /division_Coef) + 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, if the endoscope goes to the wrong direction,change the sign! + + # ### 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 Date: Tue, 27 May 2025 12:59:04 +0200 Subject: [PATCH 4/7] added tracy tracking in SystemMatrix Signed-off-by: koutrasc --- src/Mandos/Core/SystemMatrix.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Mandos/Core/SystemMatrix.hpp b/src/Mandos/Core/SystemMatrix.hpp index 5becb0b1..39f379b3 100644 --- a/src/Mandos/Core/SystemMatrix.hpp +++ b/src/Mandos/Core/SystemMatrix.hpp @@ -147,6 +147,7 @@ struct generic_product_impl Date: Tue, 27 May 2025 13:22:51 +0200 Subject: [PATCH 5/7] Fixup rigidcolon demo for speed analysis Signed-off-by: koutrasc --- .../ColonExperiments/demoJuanjoRigidColonAsDeformble.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py b/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py index b3d67ffe..2f19ce3a 100644 --- a/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py +++ b/examples/python/ColonExperiments/demoJuanjoRigidColonAsDeformble.py @@ -222,11 +222,6 @@ def create_model(): deformableColon.fix_particle(i) deformableColon.disable_gravity() - # Add Identity mappings to hold the collision object - mapping0 = model.add_identity_mapping(deformableColon, "Colon_surface") - for i in range(nNodes): - mapping0.add_particle(i) - rod_collider = deformable.add_collision_mesh(edges=indices.tolist(), dhat=collision_detection_threshold) colon_collider = deformableColon.add_collision_mesh(edges=edgesColon.tolist(),triangles=colon_mesh.indices.tolist(), dhat=collision_detection_threshold) print("Add collision pair") -- GitLab From 36f766fd8659cb65c2e37cc2b94711dc3705b3df Mon Sep 17 00:00:00 2001 From: koutrasc Date: Mon, 2 Jun 2025 16:31:09 +0200 Subject: [PATCH 6/7] fixup windows compilation Signed-off-by: koutrasc --- bindings/Mandos/python/Differentiable.cpp | 2 +- src/Mandos/Core/CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/Mandos/python/Differentiable.cpp b/bindings/Mandos/python/Differentiable.cpp index 184e88de..10106242 100644 --- a/bindings/Mandos/python/Differentiable.cpp +++ b/bindings/Mandos/python/Differentiable.cpp @@ -4,7 +4,7 @@ #include #include - +#include namespace nb = nanobind; NB_MAKE_OPAQUE(mandos::core::DiffParameterHandleV) diff --git a/src/Mandos/Core/CMakeLists.txt b/src/Mandos/Core/CMakeLists.txt index f84eb9b6..ed2a9ffd 100644 --- a/src/Mandos/Core/CMakeLists.txt +++ b/src/Mandos/Core/CMakeLists.txt @@ -126,8 +126,8 @@ target_link_libraries( project_options project_warnings TinyAD - PRIVATE Mandos::Tracing - spdlog::spdlog + Mandos::Tracing + PRIVATE spdlog::spdlog onetbb::onetbb ) -- GitLab From e895c01112eea81763453b9e9125ff64af5add55 Mon Sep 17 00:00:00 2001 From: koutrasc Date: Thu, 5 Jun 2025 16:36:34 +0200 Subject: [PATCH 7/7] added if h==0 then 1/h=0 for static differentiability Signed-off-by: koutrasc --- src/Mandos/Core/Differentiable.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Mandos/Core/Differentiable.hpp b/src/Mandos/Core/Differentiable.hpp index b680e0a7..b1985042 100644 --- a/src/Mandos/Core/Differentiable.hpp +++ b/src/Mandos/Core/Differentiable.hpp @@ -52,13 +52,16 @@ struct MANDOS_CORE_EXPORT BackwardEngine { , m_oneOverH(1.0 / h) , m_step(m_trajectory.getNSteps()) { + if (h == 0.0) { + m_oneOverH = 0.0; + } } Model &m_model; const Trajectory &m_trajectory; const int m_NDof; const int m_NSteps; const Scalar m_h; - const Scalar m_oneOverH; + Scalar m_oneOverH; int m_step; void backwardStep(Eigen::Ref lossPositionGradient, -- GitLab