我想模拟一个连接到球形关节的身体,该关节只能在特定角度范围内自由移动,例如,每个自由度,在 +/- 45 度之间。
我想尝试模拟一个身体的影响(比如说像块站在它的边缘或角落)然后它掉到地板上。身体不应该滑动,但我希望它在球形关节的受限弧线上“反弹”,
我在系统建模师教育示例中找到了这个弹跳球示例
equation
impact = h <= 0.0;
der(v) = if flying then -g else 0;
der(h) = v;
when {h <= 0.0 and v <= 0.0, impact} then
v_new = if edge(impact) then -e * pre(v) else 0;
flying = v_new > 0;
reinit(v, v_new);
n_bounce = pre(n_bounce) + 1;
end when;
但是我不适合将其修改为代码,或者我可以找出为此创建块的最佳方法。最后,我想要一个地平面,因为事实证明 systemmodeler 中的地面只是为了外观。
那么问题是如何模拟这个箱体与地平面的坠落和撞击?如果这超出了复杂性,如何将所有自由度的球形关节的角度限制为任意 +/- 角度?

