Описание
Представление плоскости в трехмерном пространстве.
Плоскость – это бесконечно большая плоская поверхность, существующая в трехмерном пространстве и делящая пространство на две половины, называемые полупространствами. Легко определить, в каком из двух полупространств находится та или иная точка, а также насколько далеко она удалена от плоскости. Стены, полы и другие плоские поверхности часто встречаются в играх, поэтому плоскость иногда бывает полезна для математических расчетов с этими объектами. Также бывают случаи, когда реальной поверхности не существует, но полезно представить, что она есть. Например, в спорте часто предполагается, что линия ворот или линия аута простираются в воздух, эффективно определяя плоскость.
Когда плоскость проходит через точку <0,0,0> в мировом пространстве, она определяется просто вектором нормали, который определяет, в какую сторону она обращена. Это легко представить, если представить, что вы смотрите на самолет с ребра.
Обратите внимание, что сторона, с которой указывает вектор нормали, важна, поскольку она используется для определения того, в каком полупространстве находится точка (т. е. на положительной или «нормальной» стороне плоскости или на другой стороне). Когда плоскость не проходит через <0,0,0>, она может быть определена вектором нормали вместе с расстоянием от <0,0,0>
Плоскость также может быть определена тремя угловыми точками треугольника, лежащего внутри плоскости. В этом случае вектор нормали указывает на вас, если угловые точки вращаются по часовой стрелке, когда вы смотрите на треугольник лицевой стороной.
Свойства
| distance | Расстояние, измеренное от плоскости до начала координат по нормали к плоскости. |
| flipped | Возвращает копию плоскости, обращенной в противоположном направлении. |
| normal | Вектор нормали плоскости. |
Конструкторы
| Plane | Создает плоскость. |
Публичные Методы
| ClosestPointOnPlane | Для заданной точки возвращается ближайшая точка на плоскости. |
| Flip | Разворачивает плоскость в противоположном направлении. |
| GetDistanceToPoint | Возвращает расстояние со знаком от плоскости до точки. |
| GetSide | Находится ли точка на положительной стороне плоскости? |
| Raycast | Пересекает луч с плоскостью. |
| SameSide | Находятся ли две точки на одной стороне плоскости? |
| Set3Points | Задает плоскость, используя три точки, лежащие внутри нее. Точки перемещаются по часовой стрелке, если смотреть вниз на верхнюю поверхность плоскости. |
| SetNormalAndPosition | Задает плоскость, используя точку, лежащую внутри нее, и нормаль для ориентации. |
| Translate | Возвращает копию данной плоскости, которая перемещается в пространстве в соответствии с заданным переводом. |

