{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,15]],"date-time":"2025-08-15T01:29:03Z","timestamp":1755221343801,"version":"3.43.0"},"reference-count":39,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Comput. Graph. Interact. Tech."],"published-print":{"date-parts":[[2025,8,31]]},"abstract":"<jats:p>Ball joints are commonly used in graphics and robotics in the simulation of articulated rigid body systems. The ball joint orientation can be decomposed, non-uniquely, into swing and twist components. In modeling with ball joints, it can be advantageous to include limit constraints on the swing, twist, or both. While many physics engines include such limit constraints, we have found that twist limit constraints, when present, are lacking in robustness, typically due to unhandled singularities in commonly employed swing-twist decompositions, where the twist state is undefined. In this paper, we introduce two novel, robust models of the ball joint twist limit constraint. The first utilizes the Euler angle decomposition of the orientation, which has two singularity points. To robustly handle the twist limit constraint, we propose a novel treatment at singularities based on the physical behavior of a three-hinge system. Thus, our model significantly reduces the dramatic motion that can occur around the singularities, eliminating the need to directly avoid them. Second, we introduce an alternative incremental model that avoids singularities altogether during simulations. In this model, the twist is quantified by integrating the instantaneous twist velocity in time, ensuring that the singularity shifts from one time step to the next and remains far from the current state. We investigate the properties of both proposed models. We demonstrate that both models offer robust and practical solutions to common issues encountered in constraining the motion of ball joints.<\/jats:p>","DOI":"10.1145\/3747857","type":"journal-article","created":{"date-parts":[[2025,8,8]],"date-time":"2025-08-08T15:33:31Z","timestamp":1754667211000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Singularity-free Twist Limit Constraints for the Ball Joint 47"],"prefix":"10.1145","volume":"8","author":[{"ORCID":"https:\/\/orcid.org\/0009-0003-7248-1798","authenticated-orcid":false,"given":"Yitong","family":"Dai","sequence":"first","affiliation":[{"name":"Computer Science and Engineering","place":["Riverside, USA"]},{"name":"University of California Riverside","place":["Riverside, USA"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2384-2011","authenticated-orcid":false,"given":"Mykhailo","family":"Potomkin","sequence":"additional","affiliation":[{"name":"Mathematics","place":["Riverside, USA"]},{"name":"University of California Riverside","place":["Riverside, USA"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1383-9636","authenticated-orcid":false,"given":"Tamar","family":"Shinar","sequence":"additional","affiliation":[{"name":"Computer Science and Engineering","place":["Riverside, USA"]},{"name":"University of California Riverside","place":["Riverside, USA"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,8,8]]},"reference":[{"key":"e_1_3_4_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2015.7298751"},{"key":"e_1_3_4_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-0-306-47002-8_16"},{"key":"e_1_3_4_4_1","doi-asserted-by":"crossref","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.","DOI":"10.1016\/0045-7825(72)90018-7"},{"key":"e_1_3_4_5_1","doi-asserted-by":"publisher","DOI":"10.1201\/9781420057539"},{"key":"e_1_3_4_6_1","doi-asserted-by":"crossref","unstructured":"Yunuo Chen Minchen Li Lei Lan Hao Su Yin Yang and Chenfanfu Jiang. 2022. A unified newton barrier method for multibody dynamics. ACM Transactions on Graphics (TOG) 41 4 (2022) 1\u201314.","DOI":"10.1145\/3528223.3530076"},{"key":"e_1_3_4_7_1","unstructured":"Przemys\u0142aw Dobrowolski. 2015. Swing-twist decomposition in clifford algebra. arXiv preprint arXiv:https:\/\/arXiv.org\/abs\/1506.05481 (2015)."},{"key":"e_1_3_4_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2037636.2037646"},{"key":"e_1_3_4_9_1","unstructured":"Morten Engell-Norregaard and Kenny Erleben. 2009. Estimation of Joint Types and Joint Limits from Motion Capture Data. Proceedings of the International Conference in Central Europe on Computer Graphics Visualization and Computer Vision (WSCG) (2009)."},{"key":"e_1_3_4_10_1","volume-title":"Computer graphics international","author":"Engell-Norregaard Morten","year":"2010","unstructured":"Morten Engell-Norregaard, Sarah Niebe, and Kenny Erleben. 2010. Local jointlimits using distance field cones in euler angle space. In Computer graphics international."},{"key":"e_1_3_4_11_1","doi-asserted-by":"crossref","unstructured":"Ali\u00a0Erkan Engin and Sami\u00a0Turgut T\u00fcmer. 1989. Three-dimensional kinematic modelling of the human shoulder complex\u2014part I: physical model and determination of joint sinus cones. Journal of Biomechanical Engineering (1989).","DOI":"10.1115\/1.3168351"},{"key":"e_1_3_4_12_1","volume-title":"Unreal Engine","author":"Games Epic","year":"2024","unstructured":"Epic Games. 2024. Unreal Engine. Epic Games. https:\/\/www.unrealengine.com\/"},{"key":"e_1_3_4_13_1","doi-asserted-by":"crossref","unstructured":"Paulo Flores Margarida Machado Eurico Seabra and Miguel Tavares\u00a0da Silva. 2011. A parametric study on the Baumgarte stabilization method for forward dynamics of constrained multibody systems. (2011).","DOI":"10.1115\/1.4002338"},{"key":"e_1_3_4_14_1","doi-asserted-by":"crossref","unstructured":"F\u00a0Sebastian Grassia. 1998. Practical parameterization of rotations using the exponential map. Journal of graphics tools 3 3 (1998) 29\u201348.","DOI":"10.1080\/10867651.1998.10487493"},{"key":"e_1_3_4_15_1","doi-asserted-by":"crossref","unstructured":"Eva\u00a0C Herbst Enrico\u00a0A Eberhard John\u00a0R Hutchinson and Christopher\u00a0T Richards. 2022. Spherical frame projections for visualising joint range of motion and a complementary method to capture mobility data. Journal of Anatomy 241 4 (2022) 1054\u20131065.","DOI":"10.1111\/joa.13717"},{"key":"e_1_3_4_16_1","doi-asserted-by":"crossref","unstructured":"Lorna Herda Raquel Urtasun and Pascal Fua. 2005. Hierarchical implicit surface joint limits for human body tracking. Computer Vision and Image Understanding 99 2 (2005) 189\u2013209.","DOI":"10.1016\/j.cviu.2005.01.005"},{"key":"e_1_3_4_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/874061.875444"},{"key":"e_1_3_4_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICRA.2018.8461010"},{"key":"e_1_3_4_19_1","unstructured":"Riichiro\u00a0Tadakuma Kazuki\u00a0Abe Kenjiro\u00a0Tadakuma. 2021. ABENICS: Active Ball Joint Mechanism With Three-DoF Based on Spherical Gear Meshings. IEEE Transactions on Robotics (2021)."},{"key":"e_1_3_4_20_1","doi-asserted-by":"crossref","unstructured":"Ben Kenwright. 2012. Inverse kinematics\u2013cyclic coordinate descent (ccd). Journal of Graphics Tools 16 4 (2012) 177\u2013217.","DOI":"10.1080\/2165347X.2013.823362"},{"key":"e_1_3_4_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/Humanoids57100.2023.10375147"},{"key":"e_1_3_4_22_1","doi-asserted-by":"crossref","unstructured":"Jinwook Kim Sung-Hee Lee and Frank\u00a0C Park. 2014. Kinematic and dynamic modeling of spherical joints using exponential coordinates. Proceedings of the Institution of Mechanical Engineers Part C: Journal of Mechanical Engineering Science 228 10 (2014) 1777\u20131785.","DOI":"10.1177\/0954406213511365"},{"key":"e_1_3_4_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/6647"},{"key":"e_1_3_4_24_1","doi-asserted-by":"crossref","unstructured":"Jeongseok Lee Michael X.\u00a0Grey Sehoon Ha Tobias Kunz Sumit Jain Yuting Ye Siddhartha S.\u00a0Srinivasa Mike Stilman and C Karen\u00a0Liu. 2018. Dart: Dynamic animation and robotics toolkit. The Journal of Open Source Software 3 22 (2018) 500.","DOI":"10.21105\/joss.00500"},{"key":"e_1_3_4_25_1","doi-asserted-by":"publisher","DOI":"10.1111\/cgf.14105"},{"key":"e_1_3_4_26_1","doi-asserted-by":"crossref","unstructured":"Pramod Murthy Hammad\u00a0T Butt Sandesh Hiremath Alireza Khoshhal and Didier Stricker. 2019. Learning 3D joint constraints from vision-based motion capture datasets. IPSJ Transactions on Computer Vision and Applications 11 (2019) 1\u20139.","DOI":"10.1186\/s41074-019-0057-z"},{"key":"e_1_3_4_27_1","unstructured":"NVIDIA. 2020. Nvidia PhysX. (2020). https:\/\/developer.nvidia.com\/physx-sdk"},{"key":"e_1_3_4_28_1","unstructured":"Jorrit Rouwe. 2024. Jolt Physics. https:\/\/jrouwe.github.io\/JoltPhysics\/."},{"key":"e_1_3_4_29_1","volume-title":"Computational dynamics","author":"Shabana Ahmed\u00a0A","year":"2009","unstructured":"Ahmed\u00a0A Shabana. 2009. Computational dynamics. John Wiley & Sons."},{"key":"e_1_3_4_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/641480.641486"},{"key":"e_1_3_4_31_1","doi-asserted-by":"crossref","unstructured":"Shinar T. and Bargteil A.2018. An Introduction to Physics-based Animation. SIGGRAPH 2018 (2018).","DOI":"10.1145\/3214834.3214849"},{"key":"e_1_3_4_32_1","unstructured":"Paul\u00a0MA Slaats. 1991. Recursive formulations in multibody dynamics. (1991)."},{"key":"e_1_3_4_33_1","unstructured":"Russell Smith et\u00a0al. 2005. Open dynamics engine. (2005)."},{"key":"e_1_3_4_34_1","volume-title":"Linear algebra and learning from data","author":"Strang Gilbert","year":"2019","unstructured":"Gilbert Strang. 2019. Linear algebra and learning from data. SIAM."},{"key":"e_1_3_4_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/IROS.2012.6386109"},{"key":"e_1_3_4_36_1","doi-asserted-by":"crossref","unstructured":"Sami\u00a0Turgut T\u00fcmer and Ali\u00a0Erka Engin. 1989. Three-dimensional kinematic modelling of the human shoulder complex\u2014part II: mathematical modelling and solution via optimization. Journal of Biomechanical Engineering (1989).","DOI":"10.1115\/1.3118775"},{"key":"e_1_3_4_37_1","unstructured":"Unity Technologies. 2025. Unity Real-Time Development Platform. Version 2022.3 LTS. Available at: https:\/\/unity.com\/."},{"key":"e_1_3_4_38_1","doi-asserted-by":"crossref","unstructured":"Xuguang Wang Michel Maurin Fr\u00e9d\u00e9ric Mazet Nilo De\u00a0Castro Maia Karine Voinot Jean\u00a0Pierre Verriest and Michel Fayet. 1998. Three-dimensional modelling of the motion range of axial rotation of the upper arm. Journal of biomechanics 31 10 (1998) 899\u2013908.","DOI":"10.1016\/S0021-9290(98)00098-0"},{"key":"e_1_3_4_39_1","doi-asserted-by":"crossref","unstructured":"Rachel Weinstein Joseph Teran and Ronald Fedkiw. 2006. Dynamic simulation of articulated rigid bodies with contact and collision. IEEE Transactions on Visualization and Computer Graphics 12 3 (2006) 365\u2013374.","DOI":"10.1109\/TVCG.2006.48"},{"key":"e_1_3_4_40_1","doi-asserted-by":"crossref","unstructured":"Jane Wilhelms and Allen\u00a0Van Gelder. 2001. Fast and easy reach-cone joint limits. Journal of graphics tools 6 2 (2001) 27\u201341.","DOI":"10.1080\/10867651.2001.10487539"}],"container-title":["Proceedings of the ACM on Computer Graphics and Interactive Techniques"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3747857","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,8]],"date-time":"2025-08-08T16:25:58Z","timestamp":1754670358000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3747857"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,8,8]]},"references-count":39,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2025,8,31]]}},"alternative-id":["10.1145\/3747857"],"URL":"https:\/\/doi.org\/10.1145\/3747857","relation":{},"ISSN":["2577-6193"],"issn-type":[{"value":"2577-6193","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,8,8]]},"assertion":[{"value":"2025-08-08","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}