【问题标题】:how to calculate four arbitrary points from a plane equation如何从平面方程计算四个任意点
【发布时间】:2016-04-19 09:20:23
【问题描述】:

我有一个法向量,平面方程(ax+by+cz=d)

如何计算四个任意点来创建一个四边形?我曾想过只使用 x、y 和 z 截距,但这种方法行不通。

我想我将不得不在 numpy http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.linalg.solve.html 中使用方程组

这篇文章概述了 C++ 中的一种方法,但我不确定它是否可行 How do I get three non-colinear points on a plane? - C++

【问题讨论】:

  • 起作用:3个非共线点将在平面内形成一个完整的二维基,平面上的任何点都可以表示为这两个基的线性组合向量
  • 我不能在 python 中实现它,知道我怎么能得到第四点。我宁愿避免使用 x,y,z 平面截距
  • 正如我所说,您可以使用从您想知道的 3 点方法获得的两个向量的线性组合来获得平面上的 任何
  • 平面上有A,B,C非共线点,做第四个点D = B + (C-A)

标签: geometry plane


【解决方案1】:

这就是我会做的:

  1. 求解齐次系统ax + by + cz = 0。该解决方案将为您提供两个线性独立的解决方案A = (x0, y0, z0)B = (x1, y1, z1)

  2. 找到一个特定的解决方案(假设这里是d != 0)。为此,请选择与0 不同的系数abc。例如,如果a != 0 某个特定的解决方案是P = (d/a, 0, 0)

  3. 在齐次平面上选择4个点,例如0ABA + B,并求和它们的特解P

    A + P, B + P, A + B + P, P

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
相关资源
最近更新 更多