如何解决如何确定半球的点x-y-z坐标?
| 我在解决下图所示的问题时遇到了严重问题。 假设我们在3D空间中有3个点(蓝色点),并基于它们有一个三角形的中心(红色点-点P)。我们也有这个三角形的法线,因此我们知道我们在谈论哪个半空间。 我需要确定一个点(红色???点)上取决于两个角度(都在0-180度范围内)的位置是什么。阿尔法= 0和贝塔= 0角如何固定都无关紧要,能够扫描整个半球(半径为r)仅是重要的。 http://i.stack.imgur.com/a1h1B.png 如果有人可以帮助我,我将非常感激。 亲切的问候, 拉夫解决方法
从图中可以看出,该点在球体上的位置似乎是通过球面坐标的形式给出的。设ѭ0为球的半径;设ѭ1相对于x轴;设
beta
为相对于x-y平面的角度。球上点的笛卡尔坐标为:
x = r * cos(beta) * cos(alpha)
y = r * cos(beta) * sin(alpha)
z = r * sin(beta)
编辑
但是,对于以(X,Y,Z)
为中心的轴(L,M,N)
的一般坐标系,坐标为(如dmuir的答案):
(x,y,z) =
(X,Z)
+ r * cos(beta) * cos(alpha) * L
+ r * cos(beta) * sin(alpha) * M
+ r * sin(beta) * N
轴L
和N
必须正交且and9ѭ。相对于L
给出alpha
,相对于L
-M
平面给出beta
。如果您不知道ѭ7与三角形的点之间的关系,则无法回答该问题。
,您需要在三角形平面以及单位法线N中找到两个单位长度的正交向量L,M,例如。
r *cosβ*cosα* L + r *cosβ*sinα* M + r *sinβ* N
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。