{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,5]],"date-time":"2026-06-05T03:31:18Z","timestamp":1780630278074,"version":"3.54.1"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2025,8,1]]},"abstract":"<jats:p>We present a constrained Rigid Body Dynamics (RBD) that guarantees satisfaction of kinematic constraints, enabling direct simulation of complex mechanical systems with arbitrary kinematic structures. To ensure constraint satisfaction, we use an implicit integration scheme. For this purpose, we derive compatible dynamic equations expressed through the quaternion time derivative, adopting an additive approach to quaternion updates instead of a multiplicative one, while enforcing quaternion unit-length as a constraint. We support all joints between rigid bodies that restrict subsets of the three translational or three rotational degrees of freedom, including position- and force-based actuation. Their constraints are formulated such that Lagrange multipliers are interpretable as joint forces and torques. We discuss a unified solution strategy for systems with redundant constraints, overactuation, and passive degrees of freedom, by eliminating redundant constraints and navigating the subspaces spanned by multipliers. As our method uses a standard additive update, we can interface with unconditionally-stable implicit integrators. Moreover, the simulation can readily be made differentiable as we show with examples.<\/jats:p>","DOI":"10.1145\/3730872","type":"journal-article","created":{"date-parts":[[2025,7,27]],"date-time":"2025-07-27T04:02:22Z","timestamp":1753588942000},"page":"1-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["A Versatile Quaternion-Based Constrained Rigid Body Dynamics"],"prefix":"10.1145","volume":"44","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3554-422X","authenticated-orcid":false,"given":"Guirec","family":"Maloisel","sequence":"first","affiliation":[{"name":"Disney Research, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8971-6843","authenticated-orcid":false,"given":"Ruben","family":"Grandia","sequence":"additional","affiliation":[{"name":"Disney Research, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7975-1680","authenticated-orcid":false,"given":"Christian","family":"Schumacher","sequence":"additional","affiliation":[{"name":"Disney Research, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7440-5655","authenticated-orcid":false,"given":"Espen","family":"Knoop","sequence":"additional","affiliation":[{"name":"Disney Research, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1952-1266","authenticated-orcid":false,"given":"Moritz","family":"B\u00e4cher","sequence":"additional","affiliation":[{"name":"Disney Research, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,7,27]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1137\/0714068"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01732606"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1080\/08905459508905232"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2766985"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/54852.378509"},{"key":"e_1_2_2_6_1","volume-title":"Stabilization of constraints and integrals of motion in dynamical systems. Computer methods in applied mechanics and engineering 1, 1","author":"Baumgarte Joachim","year":"1972","unstructured":"Joachim Baumgarte. 1972. Stabilization of constraints and integrals of motion in dynamical systems. Computer methods in applied mechanics and engineering 1, 1 (1972), 1\u201316."},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.12272"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1002\/nme.2586"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11044-007-9051-9"},{"key":"e_1_2_2_10_1","unstructured":"Kathryn Eleda Brenan Stephen L Campbell and Linda Ruth Petzold. 1995. Numerical solution of initial-value problems in differential-algebraic equations. SIAM."},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0377-0427(02)00528-9"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2461912.2461953"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICRA.2015.7139807"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3099564.3099575"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459802"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417766"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1080\/10867651.1998.10487493"},{"key":"e_1_2_2_18_1","volume-title":"Computer aided kinematics and dynamics of mechanical systems","author":"Haug Edward J","unstructured":"Edward J Haug. 1989. Computer aided kinematics and dynamics of mechanical systems. Vol. 1. Allyn and Bacon Boston."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3306346.3323034"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1073204.1073295"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1409060.1409117"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1516522.1516527"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3528223.3530064"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3386569.3392425"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/LRA.2021.3095043"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3618404"},{"key":"e_1_2_2_27_1","volume-title":"Rigid body dynamics with a scalable body, quaternions and perfect constraints. Multibody System Dynamics 27 (04","author":"M\u00f6ller Michael","year":"2012","unstructured":"Michael M\u00f6ller and Christoph Glocker. 2012. Rigid body dynamics with a scalable body, quaternions and perfect constraints. Multibody System Dynamics 27 (04 2012)."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1002\/nme.4363"},{"key":"e_1_2_2_29_1","article-title":"Euler Parameters in Computational Kinematics and Dynamics. Part 2","volume":"107","author":"Nikravesh P. E.","year":"1985","unstructured":"P. E. Nikravesh, O. K. Kwon, and R. A. Wehage. 1985a. Euler Parameters in Computational Kinematics and Dynamics. Part 2. Journal of Mechanisms, Transmissions, and Automation in Design 107, 3 (09 1985), 366\u2013369.","journal-title":"Journal of Mechanisms, Transmissions, and Automation in Design"},{"key":"e_1_2_2_30_1","article-title":"Euler Parameters in Computational Kinematics and Dynamics. Part 1","volume":"107","author":"Nikravesh P. E.","year":"1985","unstructured":"P. E. Nikravesh, R. A. Wehage, and O. K. Kwon. 1985b. Euler Parameters in Computational Kinematics and Dynamics. Part 1. Journal of Mechanisms, Transmissions, and Automation in Design 107, 3 (09 1985), 358\u2013365.","journal-title":"Journal of Mechanisms, Transmissions, and Automation in Design"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jcp.2019.04.070"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/b98874"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10915-004-4636-4"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijsolstr.2007.02.023"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/LRA.2018.2849557"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/LRA.2021.3056030"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1002\/nme.1620310103"},{"key":"e_1_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185602"},{"key":"e_1_2_2_39_1","volume-title":"Lisboa","author":"Tasora Alessandro","year":"1999","unstructured":"Alessandro Tasora and Paolo Righettini. 1999. Application of quaternion algebra to the efficient computation of jacobians for holonomic-rheonomic constraints. EUROMECH 404, Lisboa (1999)."},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601143"},{"key":"e_1_2_2_41_1","volume-title":"Efficient enforcement of hard articulation constraints in the presence of closed loops and contacts. Computer Graphics Forum 33, 2","author":"Tomcin Robin","year":"2014","unstructured":"Robin Tomcin, Dominik Sibbing, and Leif Kobbelt. 2014. Efficient enforcement of hard articulation constraints in the presence of closed loops and contacts. Computer Graphics Forum 33, 2 (2014)."},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2766969"},{"key":"e_1_2_2_43_1","volume-title":"An Alternative Derivation of the Quaternion Equations of Motion for Rigid-Body Rotational Dynamics. Journal of Applied Mechanics-transactions of The Asme - J APPL MECH 77 (07","author":"Udwadia Firdaus","year":"2010","unstructured":"Firdaus Udwadia and Aaron Schutte. 2010. An Alternative Derivation of the Quaternion Equations of Motion for Rigid-Body Rotational Dynamics. Journal of Applied Mechanics-transactions of The Asme - J APPL MECH 77 (07 2010)."},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3306346.3322952"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cam.2019.112517"},{"key":"e_1_2_2_46_1","volume-title":"Physically Based Modeling: Principles and Practice Differential Equation Basics. Course Note A SIGGRAPH 97","author":"Witkin Andrew","year":"1997","unstructured":"Andrew Witkin and David Baraff. 1997. Physically Based Modeling: Principles and Practice Differential Equation Basics. Course Note A SIGGRAPH 97 (1997)."},{"key":"e_1_2_2_47_1","volume-title":"The numerical influence of additional parameters of inertia representations for quaternion-based rigid body dynamics. Multibody System Dynamics 49 (07","author":"Xu Xiaoming","year":"2020","unstructured":"Xiaoming Xu, Jiahui Luo, and Zhigang Wu. 2020. The numerical influence of additional parameters of inertia representations for quaternion-based rigid body dynamics. Multibody System Dynamics 49 (07 2020)."}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3730872","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,27]],"date-time":"2026-03-27T17:54:01Z","timestamp":1774634041000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3730872"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,7,27]]},"references-count":47,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2025,8,1]]}},"alternative-id":["10.1145\/3730872"],"URL":"https:\/\/doi.org\/10.1145\/3730872","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,7,27]]},"assertion":[{"value":"2025-01-23","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-03-29","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-07-27","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}