The rolling disc examples in the docs make the assumption that the contact point is always located in a plane normal to gravity. If you want to generalize that then you need to remove that assumption. I don't think it is a good idea to have the surface be a function of the rotation angle. It could certainly make for some crazy dynamics, but it doesn't sound realistic. In general, you need the definition of a surface, either a function z=f(x, y) or a look-up table that provides z as a function of x and y. This surface needs to have some orientation relative to gravity defined. Then you must constrain the disc to not penetrate the surface. These kinds of constraints are probably easier by doing "soft" dynamics and are much hairier when you have to work out the non-deformable contact, especially when the disc touches the surface at more than one point. The general problem you describe is not at all trivial. What are you trying to accomplish? If I knew the scope of what you want to know maybe there is an easier path I can suggest.
Jason moorepants.info +01 530-601-9791 On Tue, Dec 9, 2014 at 1:35 PM, aliko <[email protected]> wrote: > Hi! > I'm trying to get into mechanics module of sympy. > Can someone point me on a better way to add uneven terrain to example of > rolling disc with Kanes method ( > http://docs.sympy.org/latest/modules/physics/mechanics/examples/rollingdisc_example_kane.html > )? > For example I could have an inclination of terrain 'alpha' as a smooth > function of q3 (disc angle of rotation). Should I introduce new variable to > equations? Or account for alpha somewhere else? > > Great thanks in advance! > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/2a37e76c-60fa-43a8-a833-c60de823f569%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/2a37e76c-60fa-43a8-a833-c60de823f569%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1Ahad%3D8PM%3DbVNsGJQaX0P5vNxTLOXwCwxPH-oJhyCxjvsQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
