API Docs for:
Show:

Site3dMath2D Class

Defined in: modules\math2D.js:47
Module: Site3dMath2D

Класс математических методов в 2D пространстве

Item Index

Methods

rd

(
  • num
)
Number static

Метод округляет число до указанного числа знаков после запятой

Parameters:

  • num Number

    Округляемое число

Returns:

Number:

Округленное число

isPointsEqual

(
  • point1
  • point2
  • error
)
Boolean static

Метод возвращает истину, если 2D точки совпадают

Parameters:

  • point1 Site3dPoint2D

    Массив координат точки

  • point2 Site3dPoint2D

    Массив координат точки

  • error Number

    Точность сравнения (по умолчанию 0.01)

Returns:

Boolean:

Результат сравнения

distBetweenPoints

(
  • point1
  • point2
)
Number static

Метод возвращает расстояние между двумя точками

Parameters:

  • point1 Site3dPoint2D

    Координаты первой точки ([x, y])

  • point2 Site3dPoint2D

    Координаты второй точки ([x, y], по умолчанию [0, 0])

Returns:

Number:

Расстояние между двумя точками

getRotatedPoint

(
  • point
  • angle
  • centerPoint
)
Site3dPoint2D static

Метод поворачивает точку вокруг другой против часовой стрелки

Parameters:

  • point Site3dPoint2D

    Исходная точка ([x, y])

  • angle Number

    Угол поворота (в градусах)

  • centerPoint Site3dPoint2D

    Точка, вокруг которой производится поворот ([x, y], по умолчанию [0, 0])

Returns:

Site3dPoint2D:

Повернутая точка ([x, y])

getNormalVector

(
  • segment
  • clockwise
)
Site3dPoint2D static

Метод возвращает радиус-вектор, перпендикулярный к отрезку

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

  • clockwise Boolean

    Перпендикуляр получен поворотом отрезка по часовой стрелке (по умолчанию true)

Returns:

Site3dPoint2D:

Радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

getPointOnSegment

(
  • segment
  • length
)
Site3dPoint2D static

Метод возвращает точку на отрезке на заданном расстоянии от его начала

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

  • length Number

    Расстояние от начала отрезка

Returns:

Site3dPoint2D:

Точка на отрезке

getNormalPointFromSegment

(
  • segment
  • direction
  • }
)
Site3dPoint2D static

Метод возвращает точку конца отрезка, перпендикулярного заданному отрезку и начинающегося с его конца

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

  • direction Number

    Расстояние от конца отрезка

  • } fromStart?: boolean

    [options] Если fromStart === false — смещение от segment[1], иначе (и при отсутствии options) от segment[0]

Returns:

Site3dPoint2D:

Точка конца нового отрезка

segmentToVector

(
  • segment
)
Site3dPoint2D static

Метод возвращает радиус-вектор, полученный из отрезка

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

Returns:

Site3dPoint2D:

Радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

getProjectionOnSegment

(
  • p
  • segment
)
Site3dPoint2D static

Метод возвращает проекцию точки на прямую, образованную отрезком

Parameters:

  • p Site3dPoint2D

    Проецируемая точка ([x, y])

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

Returns:

Site3dPoint2D:

Спроецированная точка ([x, y])

getIPointLines

(
  • segment1
  • segment2
)
Site3dPoint2D static

Метод возвращает точку пересечения двух непараллельных прямых, образованных отрезками

Parameters:

  • segment1 Site3dPoint2D

    Первый отрезок ([[x, y], [x, y]])

  • segment2 Site3dPoint2D

    Второй отрезок ([[x, y], [x, y]])

Returns:

Site3dPoint2D:

Точка пересечения ([x, y])

areCollinearVectors

(
  • vec1
  • vec2
)
Boolean static

Метод проверяет коллинеарность двух ненулевых радиус-векторов

Parameters:

  • vec1 Site3dPoint2D

    Первый радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

  • vec2 Site3dPoint2D

    Второй радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

Returns:

Boolean:

Коллинеарность радиус-векторов (true или false)

areCodirectionalVectors

(
  • vec1
  • vec2
)
Boolean static

Метод проверяет сонаправленность двух ненулевых радиус-векторов

Parameters:

  • vec1 Site3dPoint2D

    Первый радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

  • vec2 Site3dPoint2D

    Второй радиус-вектор (точка конца вектора, идущего из начала координат) ([x, y])

Returns:

Boolean:

Сонаправленность радиус-векторов (true или false)

isPointOnSegment

(
  • p
  • segment
  • includeEndpoints
)
Boolean static

Метод проверяет, лежит ли точка на отрезке

Parameters:

  • p Site3dPoint2D

    Точка ([x, y])

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

  • includeEndpoints Boolean

    Включение в проверку крайних точек отрезка (по умолчанию false)

Returns:

Boolean:

Нахождение точки на отрезке (true или false)

areLinePoints

(
  • pointsArr
)
Boolean static

Метод проверяет, лежат ли точки на одной прямой

Parameters:

  • pointsArr Site3dPoint2D

    Массив точек ([[x, y], ...])

Returns:

Boolean:

Нахождение точек на одной прямой (true или false)

areEqualPoints

(
  • p1
  • p2
  • error
)
Boolean static

Метод проверяет равенство двух точек

Parameters:

  • p1 Site3dPoint2D

    Первая точка ([x, y])

  • p2 Site3dPoint2D

    Вторая точка ([x, y], по умолчанию [0, 0])

  • error Number

    Допустимая погрешность

Returns:

Boolean:

Равенство двух точек (true или false)

removePointsCopies

(
  • pointsArr
)
Site3dPoint2D static

Метод удаляет копии точек из массива

Parameters:

  • pointsArr Site3dPoint2D

    Массив точек ([[x, y], ...])

Returns:

Site3dPoint2D:

Массив уникальных точек ([[x, y], ...])

getCosByPoints

(
  • p1
  • p2
  • p3
)
Number static

Метод возвращает косинус угла по трем точкам

Parameters:

  • p1 Site3dPoint2D

    Первая точка ([x, y])

  • p2 Site3dPoint2D

    Вторая точка ([x, y])

  • p3 Site3dPoint2D

    Третья точка ([x, y])

Returns:

Number:

Косинус угла

isClockwiseBypassDirection

(
  • pointsArr
)
Boolean static

Метод проверяет, является ли направление обхода указанных точек по часовой стрелке

Parameters:

  • pointsArr Site3dPoint2D

    Массив точек ([[x, y], ...])

Returns:

Boolean:

Направление обхода по часовой стрелке (true или false)

isPointInPolygon

(
  • p
  • pointsArr
)
Boolean static

Метод проверяет, находится ли точка внутри полигона, включая границы

Parameters:

  • p Site3dPoint2D

    Точка ([x, y])

  • pointsArr Site3dPoint2D

    Массив точек ([[x, y], ...])

Returns:

Boolean:

Нахождение точки внутри полигона (true или false)

sumPoints

() Site3dPoint2D static

Метод возвращает сумму координат любого числа 2D точек, передаваемых в качестве аргументов в виде массивов координат

Returns:

Site3dPoint2D:

Массив координат точки

diffPoints

(
  • point1
  • point2
)
Site3dPoint2D static

Метод возвращает разницу в координатах двух точек

Parameters:

  • point1 Site3dPoint2D

    Массив координат точки

  • point2 Site3dPoint2D

    Массив координат точки

Returns:

Site3dPoint2D:

Массив координат точки

isPointsNear

(
  • point1
  • point2
  • interval
)
Boolean static

Метод возвращает истину, если 2D точки находятся рядом

Parameters:

  • point1 Site3dPoint2D

    Массив координат точки

  • point2 Site3dPoint2D

    Массив координат точки

  • interval Number

    Максимальное расстояние между точками (по умолчанию 0.5)

Returns:

Boolean:

Результат

isPointsEndLine

(
  • point
  • line
)
Boolean static

Метод возвращает истину, если точка является началом или концом отрезка

Parameters:

  • point Site3dPoint2D

    Массив координат точки

  • line Site3dPoint2D

    Двумерный массив координат отрезка

Returns:

Boolean:

Результат

isPointOnLine

(
  • point
  • line
)
Boolean static

Метод возвращает истину, если точка находится на линии

Parameters:

  • point Site3dPoint2D

    Массив координат точки

  • line Site3dPoint2D

    Двумерный массив координат отрезка

Returns:

Boolean:

Результат

getPointsDirection

(
  • point1
  • point2
  • point3
)
Number static

Метод возвращает 1, если 3 точки соединяются по часовой стрелке, -1 - против, 0 - лежат в одной плоскости

Parameters:

  • point1 Site3dPoint2D

    Точка 1

  • point2 Site3dPoint2D

    Точка 2

  • point3 Site3dPoint2D

    Точка 3

Returns:

Number:

Результат

linesIntersect

(
  • line1
  • line2
  • [options]
)
Site3dPoint2D | null static

Метод возвращает точку пересечения двух отрезков или null

Parameters:

  • line1 Site3dPoint2D

    Двумерный массив координат отрезка

  • line2 Site3dPoint2D

    Двумерный массив координат отрезка

  • [options] Site3dMath2DLinesIntersectOptions optional

    Дополнительные параметры

Returns:

Site3dPoint2D | null:

Точка пересечения или null

getPointsByCircle

(
  • points
)
Site3dPoint2D static

Метод возвращает копию массива точек с добавлением в конце начальной точки

Parameters:

  • points Site3dPoint2D

    Массив точек

Returns:

Site3dPoint2D:

Новый массив точек

getSegmentLength

(
  • segment
)
Number static

Метод возвращает длину отрезка

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

Returns:

Number:

Длина отрезка

getLineCenter

(
  • segment
)
Site3dPoint2D static

Метод возвращает центр отрезка

Parameters:

  • segment Site3dPoint2D

    Отрезок ([[x, y], [x, y]])

Returns:

Site3dPoint2D:

Центр отрезка

getSegmentsMult

(
  • segment1
  • segment2
)
Number static

Метод возвращает скалярное произведение между отрезками

Parameters:

  • segment1 Site3dPoint2D

    Отрезок 1 ([[x, y], [x, y]])

  • segment2 Site3dPoint2D

    Отрезок 2 ([[x, y], [x, y]])

Returns:

Number:

Угол между отрезками

getAngleBetweenSegments

(
  • segment1
  • segment2
)
Number static

Метод возвращает угол между отрезками

Parameters:

  • segment1 Site3dPoint2D

    Отрезок 1 ([[x, y], [x, y]])

  • segment2 Site3dPoint2D

    Отрезок 2 ([[x, y], [x, y]])

Returns:

Number:

Угол между отрезками

isPolygonSimple

(
  • points
)
Boolean static

Метод возвращает истину, если многоугольник без пересечений сторон (простой)

Parameters:

  • points Site3dPoint2D

    Координаты точек многоугольника

Returns:

Boolean:

Результат

getPolygonBound

(
  • points
)
Min: Site3dPoint2D, max: Site3dPoint2D static

Метод возвращает прямоугольник, обрамляющий многоугольник

Parameters:

  • points Site3dPoint2D

    Координаты вершин многоугольника

Returns:

Min: Site3dPoint2D, max: Site3dPoint2D:

} Результат

getLineCenter

(
  • points
  • }
)
Site3dPoint2D static

Метод возвращает центр прямоугольника, обрамляющего многоугольник

Parameters:

  • points Site3dPoint2D

    Координаты вершин многоугольника

  • } Min: Site3dPoint2D, max: Site3dPoint2D

    bound Обрамляющий прямоугольник

Returns:

Site3dPoint2D:

Центр полигона

getPolygonMassCenter

(
  • points
)
Site3dPoint2D static

Метод возвращает центр масс многоугольник

Parameters:

  • points Site3dPoint2D

    Координаты точек многоугольника

Returns:

Site3dPoint2D:

Центр полигона

getSegmentInsidePolygon

(
  • points
  • holes
)
Site3dPoint2D | null static

Метод возвращает отрезок внутри многоугольника, проходящий вдоль оси X через заданный центр

Parameters:

  • points Site3dPoint2D

    Координаты вершин многоугольника

  • holes Site3dPoint2D[]

    Координаты вершин дырок в многоугольнике

Returns:

Site3dPoint2D | null:

Координаты отрезка

isPolygonsIntersected

(
  • points1
  • points2
)
Boolean static

Метод возвращает истину, если 2 многоугольника пересекаются

Parameters:

  • points1 Site3dPoint2D

    Координаты вершин первого многоугольника

  • points2 Site3dPoint2D

    Координаты вершин второго многоугольника

Returns:

Boolean:

Результат пересечения

isPointInsidePolygon

(
  • point
  • points
)
Boolean static

Метод возвращает истину, если точка находится внутри многоугольника

Parameters:

  • point Site3dPoint2D

    Координаты точки

  • points Site3dPoint2D

    Координаты точек многоугольника

Returns:

Boolean:

Результат

isSegmentIntersectPolygon

(
  • segment
  • points
)
Boolean static

Метод возвращает истину, если 2 отрезок пересекает многоугольник

Parameters:

  • segment Site3dPoint2D

    Двумерный массив координат отрезка

  • points Site3dPoint2D

    Координаты точек многоугольника

Returns:

Boolean:

Результат пересечения

isSegmentInsidePolygon

(
  • segment
  • points
)
Boolean static

Метод возвращает истину, если отрезок находится внутри многоугольника

Parameters:

  • segment Site3dPoint2D

    Двумерный массив координат отрезка

  • points Site3dPoint2D

    Координаты точек многоугольника

Returns:

Boolean:

Результат

isPolygonInsideOther

(
  • points1
  • points2
)
Boolean static

Метод возвращает истину, если многоугольник находится внутри другого многоугольника

Parameters:

  • points1 Site3dPoint2D

    Координаты точек первого многоугольника

  • points2 Site3dPoint2D

    Координаты точек второго многоугольника

Returns:

Boolean:

Результат

getPolygonFromPoints

(
  • points
)
Site3dPoint2D static

Метод возвращает многоугольник из набора точек

Parameters:

  • points Site3dPoint2D

    Координаты точек

Returns:

Site3dPoint2D:

Координаты точек многоугольника

getRotInfo

(
  • value
)
Site3dMath2DRotInfo static

Метод возвращает информацию о повороте

Parameters:

  • value Number

    Угол поворота

Returns:

Site3dMath2DRotInfo:

Результат

getScaledRightRectangle

(
  • points
  • point
  • [options]
)
Site3dMath2DScaledRightRectangleResult | false static

Метод возвращает информацию о новом прямоугольнике, полученном при его масштабировании

Parameters:

  • points Site3dPoint2D

    Координаты вершин прямоугольника

  • point Site3dPoint2D

    Координаты точки масштабирования

  • [options] Site3dMath2DScaledRightRectangleOptions optional

    Дополнительные параметры

Returns:

Site3dMath2DScaledRightRectangleResult | false:

Информация о новом прямоугольнике

getPolylineLength

(
  • polyline
  • partsLength
)
Number static

Метод возвращает длину поли-линии

Parameters:

  • polyline Site3dPoint2D

    Координаты поли-линии

  • partsLength Number

    Массив для сохранения длин отрезков поли-линии

Returns:

Number:

Длина поли-линии

getPolylineShapeData

(
  • polyline
  • width
  • [options]
)
Site3dMath2DPolylineShapeDataResult static

Метод возвращает форму поли-линии

Parameters:

  • polyline Site3dPoint2D

    Координаты поли-линии

  • width Number

    Ширина поли-линии

  • [options] Site3dMath2DPolylineShapeDataOptions optional

    Дополнительные параметры

Returns:

Site3dMath2DPolylineShapeDataResult:

Результат

Properties

[isSegments=true] Учитывать только пересечение в пределах отрезков

Boolean

Defined in modules\math2D.js:6

Дополнительные параметры для пересечения отрезков.

{boolean} simpleRot Поворот кратен 90 градусам

Boolean

Информация о типе поворота.

[rot=0] Угол поворота прямоугольника

Number

Дополнительные параметры масштабирования прямоугольника.

{Site3dPoint2D} center Координаты центра

Number

Результат масштабирования прямоугольника.

{Site3dPoint2D[]} uv UV-развертка

Site3dPoint2D

Результат построения формы поли-линии.