geometry - 如何检查一个点是否在旋转的椭球内?
问题描述
我知道我可以用这个方程检查一个点是否在椭球内:
(x/a)^2 + (y/b)^2 + (z/c)^2 = 1
并且对于椭球不在原点居中而是在点 (xc, yc, zc) 中的情况,它变为
((x-xc)/a)^2 + ((y-yc)/b)^2 + ((z-zc)/c)^2 = 1
但是,我必须另外绕 x 轴或绕 y 轴旋转我的椭球,我不知道如何针对这种情况调整这个方程。
任何帮助都会很棒。
干杯,彼得
解决方案
如果已知旋转,最简单的方法是对该点应用反向旋转并检查它是否位于轴对齐的椭球内。
例如,如果椭球绕 x 轴Fi
绕某个轴旋转角度,然后平移(xc, yc, zc)
,您可以平移点(-xc, -yc, -zc)
并绕-Fi
同一轴旋转,然后检查最简单的
(x/a)^2 + (y/b)^2 + (z/c)^2 <= 1
推荐阅读
- android - 片段布局和操作栏在被选中时重复显示
- karate - 空手道 - 如何匹配字段的部分字符串作为响应?
- c# - 如何检索具有相关实体子集的实体?
- wordpress - 如何在帖子页面中显示分类的自定义字段值?
- android - lib中的Realm db +使用该lib的应用程序中的Realm db相互冲突
- ms-media-foundation - 多个 MediaEngines SetSource 阻止渲染
- c# - 使用 Xml 序列化从类中读取标签内的 xml 值
- php - Docusign SOAP API 为现有 pdf 字段设置必填字段
- c# - 选择不同的标签页时,MessageBox 被隐藏
- c# - Wep API 无法从 HttpClient 调用返回数据