Three.js 已知平面上原点及沿两轴距离,求平面上第二个点的坐标
平面内基于原点和轴偏移量计算目标点坐标方案
问题描述
我已通过平面与向量的交点计算得到了平面上原点的坐标,目前仅已知第二个点需要沿平面的两个坐标轴偏移的距离,请问如何求出该点在平面上的对应坐标?
参考示例图:
解决步骤
你需要先确认平面两个坐标轴对应的方向基向量,之后按线性叠加计算即可,具体流程如下:
- 先定义已知参数:
- 平面原点的三维坐标记为
O = (Ox, Oy, Oz) - 平面两个坐标轴的正交单位基向量分别记为
u = (ux, uy, uz)(第一轴方向)、v = (vx, vy, vz)(第二轴方向) - 沿两个轴的偏移距离分别记为
a(沿u方向偏移量)、b(沿v方向偏移量)
- 平面原点的三维坐标记为
- 直接代入线性组合公式计算目标点
P的坐标:
按坐标分量展开后为:P = O + a * u + b * vPx = Ox + a * ux + b * vx Py = Oy + a * uy + b * vy Pz = Oz + a * uz + b * vz
注意事项
如果当前你还没有拿到正交的单位基向量,需要先做预处理:
- 若基向量未归一化:先对
u和v做单位化处理,否则实际偏移距离会和输入的a/b数值存在比例差- 若基向量未正交:先通过施密特正交法对两个基向量做正交化处理,否则两个轴的偏移会出现耦合,导致最终点的位置不符合预期
内容的提问来源于stack exchange,提问作者mpistone
相关产品推荐
相关产品推荐

