Рассказывать горизонталь от вертикальных плоскостей - PullRequest
1 голос
/ 16 марта 2012

У меня есть плоскости в трехмерном пространстве, определяемые вектором нормали и центральной точкой. Я хотел бы определить, горизонтальны ли эти плоскости или перпендикулярны первому этажу, или нет. Как правило, это может быть найдено следующим образом:

a.b = |a||b|cos(t)

, где a и b - два трехмерных вектора.

Если a.b = 0, то они перпендикулярны друг другу; Если a.b равно произведению длин a и b, косинус t равен 1, а t равен 0, поэтому они параллельны

Но у меня нет наземного самолета !!!!

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 16 марта 2012

Если ваша наземная плоскость горизонтальная, то горизонтальная плоскость будет иметь нормаль с x- и y-компонентами, равными нулю, а вертикальная плоскость будет иметь нормаль с z-компонентой, равной нулю.

1 голос
/ 16 марта 2012

Что касается сравнения плоскостей, то «горизонтальная» и «вертикальная» на самом деле не имеют смысла, если у вас нет как минимум 2 плоскостей, контрольного места и плоскости для сравнения.Получив базовую плоскость, вы можете определить «горизонтальный» как «Параллельный базовой плоскости» и «вертикальный» как «Перпендикулярный базовой плоскости».

Но во всех случаях вы нужно опорная плоскость.(и, скорее всего, ваша система координат, вероятно, дает вам внутреннюю, часто встречающуюся в нулях)

0 голосов
/ 16 марта 2012

Вам нужно будет определить, что вы называете наземным самолетом.Существует несколько способов определения этой плоскости:

  1. Выберите базовую плоскость заземления.Например, если вы заинтересованы в том, чтобы использовать плоскость XY в качестве вашей наземной плоскости, вы должны использовать обычную <0, 0, 1>.

  2. Если ваша ситуация не позволяет легко использоватьаксиально выровнена плоскость отсчета, выбрать три, не коллинеарные точки на вашей опорной плоскости земли, T U V.Тогда нормаль к плоскости, содержащей три точки, задается как N = +/-[ (U-T) x (V-T) ], где x - оператор перекрестного произведения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...