【问题标题】:Numpy Line-Plane intersectionNumpy 线平面相交
【发布时间】:2015-05-22 10:20:00
【问题描述】:

我在 3D 空间中有两个平面,如下所示。

plane2 上的点“e”表示从plane1 的点“P”经过的线的交点,方向向量为“S”。设 P 为平面 1 的边。

使用 Numpy,相对于它所属平面 (plane2) 的坐标系,“e”点坐标 (xe,ye, 0) 是什么?

我有以下可用数据:

  1. 每个平面的中心相对于全局坐标系“C”的坐标。

    • x = np.array([x1, x2])

    • y = np.array([y1, y2])

    • z = np.array([z1, z2])

  2. 太阳方向矢量S = np.array([Sz, Sx, Sy])

  3. 点“P”相对于plane1坐标系的位置:P(xp,yp,0)

  4. 每个平面具有相同的宽度和长度尺寸:Hw、Hl

  5. 垂直于平面的单位向量

    • n = np.array([[n1z, n1x, n1y], [n2z, n2x, n2y]])
  6. 两个平面相对于全球坐标系“c”的方位角和仰角也是已知的:

    • alphaH = np.array([alphaH1, alphaH2])

    • aH = np.array([aH1, aH2])

【问题讨论】:

标签: numpy geometry intersection raytracing


【解决方案1】:

您在全局坐标系中拥有 c2 的位置向量和 e 的位置向量,那么您需要做的就是计算 c2-e,这将为您提供 e 相对于 c2 的位置向量。

【讨论】:

  • 如何找到 e 的位置向量?我想在知道方向向量 S 的同时,位置向量 P 和平面法线向量应该足够了。另外让我提醒您,P(​​xp,yp) 是由平面 1 的坐标系定义的。 plane1 的坐标系原点 (0,0) 是由全局坐标系定义的 c1(x1,y1,z1)。点“e”坐标 (xe,ye) 应参考平面 2 的坐标系,原点 (0,0) 在 c2(x2,y2,z2)。
猜你喜欢
  • 2011-08-05
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 2011-06-23
相关资源
最近更新 更多