определение плоскости в R3 всего тремя числами

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

может быть, я что-то упускаю, но разве нельзя определить плоскость только с тремя числами (nx, ny, nz), используя направление вектора как нормаль плоскости и величину вектора как расстояние от Происхождение?

Я пытаюсь написать игру, которая генерирует миллиарды самолетов, и сокращение моей структуры самолета на 25% действительно помогло бы.


person Community    schedule 07.06.2014    source источник
comment
Когда плоскость проходит через начало координат, вектор не имеет информации о направлении.   -  person Yves Daoust    schedule 09.06.2014


Ответы (2)


Это возможно за счет пересчета расстояния до начала координат каждый раз, когда вам это нужно.

person anon    schedule 07.06.2014

Если вам нужно решение, использующее 3 параметра и не имеющее вырожденного случая, используйте два направляющих угла (U, V) и расстояние до начала координат D.

Уравнение плоскости: cos(U).X + sin(U).cos(V).Y + sin(U).sin(V).Z = D.

Если высокая точность не требуется, вы можете хранить углы как короткие, с подходящим масштабированием, достигая разрешения 0°00'20". С плавающей запятой D это упаковывается в 8 байтов на плоскость.

person Yves Daoust    schedule 09.06.2014