我有一个点:
x1 = 100;
z1 = 100;
y1 = 100;
和2个方向:
xDir = Math.PI;
yDir = 0.11;
和一个范围:
range = 100;
从此信息构造光线时,如何计算终点。我尝试了以下内容:
x2 = x1 + (range * Math.cos(xDir))
z2 = z1 + (range * Math.sin(xDir))
y2 = y1 + (range * Math.cos(yDir))
但是,当射线指向任何地方,而是朝着完美的水平方向指向时,这是行不通的。因为我不在前2行中考虑YDIR。我如何找到正确的终点?
似乎您想在球形坐标系(特定系统 - 带OXZ赤道平面(中与方位角/倾斜角一起工作。
在这种情况下,您需要考虑使用X/z时y:
x2 = x1 + (range * Math.cos(xDir) * Math.sin(yDir))
z2 = z1 + (range * Math.sin(xDir) * Math.sin(yDir))
y2 = y1 + (range * Math.cos(yDir))