Базовые типы геометрии

Служат для определения более сложных геометрических примитивов (двумерных и трёхмерных), а также для размещения в локальной системе координат.

Декартова двухмерная точка (класс 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:

Point2D

  • Вернуть значение координаты 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:

Point3D

  • Вернуть значение координаты 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:

Vector3D

  • Вернуть соотношение направления по оси X

:GetX()
  • Вернуть соотношение направления по оси Y

:GetY()
  • Вернуть соотношение направления по оси Z

:GetZ()
  • Изменить направление на противоположное

:Negate()
Returns:

Вектор, обращенный в обратную сторону

Return type:

Vector3D

Операторы

  • Проверить равенство с другим вектором

==
Результат:

Логическое значение

Тип результата:

Boolean

  • Проверить неравенство с другим вектором

~=
Результат:

Логическое значение

Тип результата:

Boolean

Ось (класс Axis3D)

Ось — вектор, привязанный к фиксированной точке.

Конструктор класса:

Axis3D(point, vector)
Parameters:
  • point (Point3D) – Задает точку начала оси.

  • vector (Vector3D) – Задает направление оси.

Альтернативные конструкторы:

CreateXAxis3D()
Returns:

Ось X

Return type:

Axis3D

CreateYAxis3D()
Returns:

Ось Y

Return type:

Axis3D

CreateZAxis3D()
Returns:

Ось Z

Return type:

Axis3D

Методы класса

  • Сместить по осям 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:

Axis3D

  • Вернуть вектор направления оси

:GetDirection()
Return type:

Vector3D

  • Вернуть точку начала оси

:GetOrigin()
Return type:

Point3D

  • Вернуть противоположно направленную ось

:Negate()
Returns:

Ось, обращенная в обратную сторону

Return type:

Axis3D

Операторы

  • Проверить равенство с другой осью

==
Результат:

Логическое значение

Тип результата:

Boolean

  • Проверить неравенство с другой осью

~=
Результат:

Логическое значение

Тип результата:

Boolean

Локальная система координат в трёхмерном пространстве (класс Placement3D)

Конструктор класса:

Placement3D(origin, vectorZ, vectorX)
Parameters:
  • origin (Point3D) – Задает точку начала координат.

  • vectorZ (Vector3D) – Задает направление оси Z.

  • vectorX (Vector3D) – Задает направление оси X.

Методы класса

  • Сместить ЛСК по осям 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:

Placement3D

  • Вернуть начало ЛСК

:GetOrigin()
Returns:

Начало ЛСК

Return type:

Point3D

  • Вернуть ось X

:GetXAxis()
Return type:

Axis3D

  • Вернуть ось Y

:GetYAxis()
Return type:

Axis3D

  • Вернуть ось Z

:GetZAxis()
Return type:

Axis3D

  • Вернуть направление оси X

:GetXAxisDirection()
Return type:

Vector3D

  • Вернуть направление оси Y

:GetYAxisDirection()
Return type:

Vector3D

  • Вернуть направление оси Z

:GetZAxisDirection()
Return type:

Vector3D

  • Вернуть матрицу преобразования из ЛСК

:GetMatrix()
Return type:

Matrix3D

Операторы

  • Проверить равенство с другой ЛСК

==
Результат:

Логическое значение

Тип результата:

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:

Matrix2D

  • Инвертировать матрицу

: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:

Matrix3D

  • Инвертировать матрицу

:Invert()

Операторы

  • Проверить равенство с другой матрицей

==
Результат:

Логическое значение

Тип результата:

Boolean

  • Проверить неравенство с другой матрицей

~=
Результат:

Логическое значение

Тип результата:

Boolean