Базовые типы геометрии#
Служат для определения более сложных геометрических примитивов (двумерных и трёхмерных), а также для размещения в локальной системе координат.
Декартова двухмерная точка (класс Point2D)#
Конструктор класса:
- Point2D(x, y)#
- Parameters:
x (
Number
) – Задает координату по оси X.y (
Number
) – Задает координату по оси Y.
Методы класса#
Сместить по осям X, Y
- :Shift(dX, dY)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.
Повернуть на угол
- :Rotate(point, angle)
- Parameters:
point (Point2D) – Задает точку центра вращения.
angle (
Number
) – Задает угол поворота в радианах.
Масштабировать относительно точки
- :Scale(point, xScale, yScale)
- Parameters:
point (Point2D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix2D) – Задает матрицу преобразования в двумерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Двухмерная точка
- Return type:
Вернуть значение координаты X точки
- :GetX()
Вернуть значение координаты Y точки
- :GetY()
Операторы#
Проверить равенство с другой точкой
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой точкой
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Точка в трёхмерном пространстве (класс Point3D)#
Конструктор класса:
- Point3D(x, y, z)#
- Parameters:
x (
Number
) – Задает координату по оси X.y (
Number
) – Задает координату по оси Y.z (
Number
) – Задает координату по оси Z.
Методы класса#
Сместить по осям X, Y, Z
- :Shift(dX, dY, dZ)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.dZ (
Number
) – Задает смещение по оси Z.
Повернуть на угол
- :Rotate(axis, angle)
- Parameters:
axis (Axis3D) – Задает ось вращения.
angle (
Number
) – Задает угол поворота в радианах.
Масштабировать относительно точки
- :Scale(point, xScale, yScale, zScale)
- Parameters:
point (Point3D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.yScale – Задает коэффициент масштабирования по оси Z.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix3D) – Задает матрицу преобразования в трёхмерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Копия точки
- Return type:
Вернуть значение координаты X точки
- :GetX()
Вернуть значение координаты Y точки
- :GetY()
Вернуть значение координаты Z точки
- :GetZ()
Операторы#
Проверить равенство с другой точкой
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой точкой
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Вектор в трёхмерном пространстве (класс Vector3D)#
Вектор — элемент геометрического пространства, характеризующийся направлением. Направление вектора задаётся набором коэффициентов (соотношение направления) по координатным осям. Как правило, коэффициенты указываются от -1 до 1. Поскольку вектор указывает только направление, соотношение направлений не обязательно нормализовывать.
Конструктор класса:
- Vector3D(x, y, z)#
- Parameters:
x (
Number
) – Задает соотношение направления по оси X.y (
Number
) – Задает соотношение направления по оси Y.z (
Number
) – Задает соотношение направления по оси Z.
Методы класса#
Вернуть копию объекта
- :Clone()
- Returns:
Копия точки
- Return type:
Вернуть соотношение направления по оси X
- :GetX()
Вернуть соотношение направления по оси Y
- :GetY()
Вернуть соотношение направления по оси Z
- :GetZ()
Изменить направление на противоположное
- :Negate()
- Returns:
Вектор, обращенный в обратную сторону
- Return type:
Операторы#
Проверить равенство с другим вектором
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другим вектором
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Ось (класс Axis3D)#
Ось — вектор, привязанный к фиксированной точке.
Конструктор класса:
- Axis3D(point, vector)#
Альтернативные конструкторы:
Методы класса#
Сместить по осям X, Y, Z
- :Shift(dX, dY, dZ)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.dZ (
Number
) – Задает смещение по оси Z.
Повернуть на угол
- :Rotate(axis, angle)
- Parameters:
axis (Axis3D) – Задает ось вращения.
angle (
Number
) – Задает угол поворота в радианах.
Масштабировать относительно точки
- :Scale(point, xScale, yScale,zScale)
- Parameters:
point (Point3D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.yScale – Задает коэффициент масштабирования по оси Z.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix3D) – Задает матрицу преобразования в трёхмерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Копия оси
- Return type:
Вернуть вектор направления оси
- :GetDirection()
- Return type:
Вернуть точку начала оси
- :GetOrigin()
- Return type:
Вернуть противоположно направленную ось
- :Negate()
- Returns:
Ось, обращенная в обратную сторону
- Return type:
Операторы#
Проверить равенство с другой осью
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой осью
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Локальная система координат в трёхмерном пространстве (класс Placement3D)#
Конструктор класса:
- Placement3D(origin, vectorZ, vectorX)#
Методы класса#
Сместить ЛСК по осям X, Y, Z
- :Shift(dX, dY, dZ)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.dZ (
Number
) – Задает смещение по оси Z.
Повернуть ЛСК относительно заданной оси
- :Rotate(axis, angle)
- Parameters:
axis (Axis3D) – Задает ось вращения.
angle (
Number
) – Задает угол вращения.
Масштабировать относительно точки
- :Scale(point, xScale, yScale,zScale)
- Parameters:
point (Point3D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.yScale – Задает коэффициент масштабирования по оси Z.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix3D) – Задает матрицу преобразования в трёхмерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Копия ЛСК
- Return type:
Вернуть начало ЛСК
- :GetOrigin()
- Returns:
Начало ЛСК
- Return type:
Вернуть ось X
- :GetXAxis()
- Return type:
Вернуть ось Y
- :GetYAxis()
- Return type:
Вернуть ось Z
- :GetZAxis()
- Return type:
Вернуть направление оси X
- :GetXAxisDirection()
- Return type:
Вернуть направление оси Y
- :GetYAxisDirection()
- Return type:
Вернуть направление оси Z
- :GetZAxisDirection()
- Return type:
Вернуть матрицу преобразования из ЛСК
- :GetMatrix()
- Return type:
Операторы#
Проверить равенство с другой ЛСК
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой ЛСК
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Матрица преобразования в двумерном пространстве (класс Matrix2D)#
Конструктор класса:
- Matrix2D()#
Методы класса#
Сместить по осям X, Y
- :Shift(dX, dY)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.
Повернуть на угол
- :Rotate(point, angle)
- Parameters:
point (Point2D) – Задает точку центра вращения.
angle (
Number
) – Задает угол поворота в радианах.
Масштабировать относительно точки
- :Scale(point, xScale, yScale)
- Parameters:
point (Point2D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix2D) – Задает матрицу преобразования в двумерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Матрица преобразования в двумерном пространстве
- Return type:
Инвертировать матрицу
- :Invert()
Операторы#
Проверить равенство с другой матрицей
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой матрицей
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean
Матрица преобразования в трёхмерном пространстве (класс Matrix3D)#
Конструктор класса:
- Matrix3D()#
Методы класса#
Сместить по осям X, Y
- :Shift(dX, dY, dZ)
- Parameters:
dX (
Number
) – Задает смещение по оси X.dY (
Number
) – Задает смещение по оси Y.dY – Задает смещение по оси Z.
Повернуть на угол
- :Rotate(point, angle)
- Parameters:
point (Point3D) – Задает точку центра вращения.
angle (
Number
) – Задает угол поворота в радианах.
Масштабировать относительно точки
- :Scale(point, xScale, yScale)
- Parameters:
point (Point3D) – Задает точку центра масштабирования.
xScale (
Number
) – Задает коэффициент масштабирования по оси X.yScale (
Number
) – Задает коэффициент масштабирования по оси Y.
Преобразовать согласно матрице
- :Transform(matrix)
- Parameters:
matrix (Matrix3D) – Задает матрицу преобразования в трёхмерном пространстве.
Вернуть копию объекта
- :Clone()
- Returns:
Матрица преобразования в трёхмерном пространстве
- Return type:
Инвертировать матрицу
- :Invert()
Операторы#
Проверить равенство с другой матрицей
- ==
- Результат:
Логическое значение
- Тип результата:
Boolean
Проверить неравенство с другой матрицей
- ~=
- Результат:
Логическое значение
- Тип результата:
Boolean