Dear Rushabh, Thanks for your interest. Have you researched what kinds of paths are often needed in musculoskeletal models? A starting point would be to see what OpenSim has and what is most commonly used in OpenSim models. If we support the most common types from OpenSim, that would be a good starting point.
Jason moorepants.info +01 530-601-9791 On Tue, Mar 11, 2025 at 6:47 AM Rushabh Mehta <mehtarushabh2...@gmail.com> wrote: > Hello everyone, > > I have been contributing to SymPy and engaging with the community for a > few months now. I’ve fixed bugs, participated in discussions, and opened > issues. Thus I have gained some familiarity with the codebase, also I have > been programming in Python for 2+ years. > > I'm interested in contributing to SymPy Mechanics for GSoC 2025, > specifically under the project *"Classical Mechanics: Implement Wrapping > Geometry and Pathways for Musculoskeletal Modeling" *as listed on the > ideas page. > > I've been exploring and studying the existing WrappingCylinder and > WrappingSphere classes, as well as the LinearPathway and ObstaclePathway. I > believe a valuable addition would be: > > 1. *WrappingEllipsoid* and *WrappingCone*: These can model more > complex muscle wrapping geometries around bones/joints, extending the > current wrapping surfaces. > 2. *GeodesicPathway*: This pathway would compute the shortest path > along a curved surface (any instance of a wrapping geometry) between two > attachment points, capturing more realistic muscle routing in biomechanical > models. > > *Implementation Plan:* > > - *WrappingEllipsoid & WrappingCone:* > - Extend the existing WrappingGeometryBase class, ensuring all the > required methods are implemented. > - Define parametric equations for the surfaces and add methods to > compute geodesic lengths and end vectors. > - *GeodesicPathway:* > - Implement a general GeodesicPathway class that computes the > shortest path along a surface (geometry) given two attachment points. > - Use differential geometry principles to compute geodesic > equations and solve them symbolically using SymPy’s dsolve. > - Integrate force calculation along the geodesic (similar to > LinearPathway.to_loads method) so that it can be used to generate > equations > of motion with Kane/Langrange method. > - Ensure it can interact with any WrappingGeometry object. > > As with any software development endeavor, these additions will be > accompanied by exhaustive tests, documentation and example usage. > > I think these additions could significantly enhance the biomechanics > modeling capabilities of SymPy, especially for musculoskeletal simulations. > > I'd love to hear any feedback, especially on: > > - The feasibility of computing geodesics symbolically especially in > more complicated scenarios using dsolve. > - Anything I may have overlooked. > - Any suggestions on aligning this work with SymPy's current design. > > Would this contribution align well with SymPy's current roadmap? I'm open > to any guidance or suggestions to refine my approach. > > Thanks! > Rushabh Mehta > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/sympy/48b5a2ee-ffe7-4085-811f-0139b583924dn%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/48b5a2ee-ffe7-4085-811f-0139b583924dn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/sympy/CAP7f1AjxDeBg5WfzECQBm3UixERvrXw87wix0PD0%3D5pcyzOAkA%40mail.gmail.com.