API Docs for: 1.0.0
Show:

Site3dMath3D Class

Defined in: modules\math3D.js:6
Module: Site3dMath3D

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

Methods

checkBoxesByPosList

(
  • posList1
  • posList2
)
Object static

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

Parameters:

  • posList1 Number[]

    Координаты вершин первого параллелепипеда

  • posList2 Number[]

    Координаты вершин второго параллелепипеда

Returns:

Object:

Объект результата {minDistance, minPos1, minPos2}:

  • minDistance - минимальное расстояние между гранями двух параллелепипедов (если пересекаются, то -1, если совпадают, то 0)
  • minPos1 - позиция линии минимального расстояния на грани первого параллелепипеда
  • minPos2 - позиция линии минимального расстояния на грани второго параллелепипеда

checkBoxesByObject

(
  • box1
  • box2
)
Object static

Метод возвращает информацию о взаимном расположении двух параллелепипедов (box = {pos: [x, y, z], rot: [x, y, z], size: [x, y, z]})

Parameters:

  • box1 Object

    Первый параллелепипед

  • box2 Object

    Второй параллелепипед

Returns:

Object:

Объект результата {minDistance, minPos1, minPos2}:

  • minDistance - минимальное расстояние между гранями двух параллелепипедов (если пересекаются, то -1, если совпадают, то 0)
  • minPos1 - позиция линии минимального расстояния на грани первого параллелепипеда
  • minPos2 - позиция линии минимального расстояния на грани второго параллелепипеда

checkBoxes

(
  • boxes
)
Object static

Метод возвращает информацию о взаимном расположении двух параллелепипедов (boxes = {box1, box2})

Parameters:

  • boxes Object

    Объект с двумя параллелепипедами

Returns:

Object:

Объект результата {minDistance, minPos1, minPos2}:

  • minDistance - минимальное расстояние между гранями двух параллелепипедов (если пересекаются, то -1, если совпадают, то 0)
  • minPos1 - позиция линии минимального расстояния на грани первого параллелепипеда
  • minPos2 - позиция линии минимального расстояния на грани второго параллелепипеда

isPlanesIntersected

(
  • points1
  • points2
)
Boolean static

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

Parameters:

  • points1 Number[]

    Координаты вершин первой плоскости

  • points2 Number[]

    Координаты вершин второй плоскости

Returns:

Boolean:

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

isPlanesIntersected

(
  • points1
  • points2
)
Boolean static

Метод возвращает истину, если 2 плоскости лежат в одной плоскости

Parameters:

  • points1 Number[]

    Координаты вершин первой плоскости

  • points2 Number[]

    Координаты вершин второй плоскости

Returns:

Boolean:

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

rd

(
  • num
)
Number static

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

Parameters:

  • num Number

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

Returns:

Number:

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

distBetweenPoints

(
  • p1
  • p2
)
Number static

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

Parameters:

  • p1 Number[]

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

  • p2 Number[]

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

Returns:

Number:

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

getNormalVector

(
  • segment1
  • segment2
)
Number[] static

Метод возвращает радиус-вектор, перпендикулярный двум отрезкам (векторное произведение векторов, полученных из этих отрезков)

Parameters:

  • segment1 Number[]

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

  • segment2 Number[]

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

Returns:

Number[]:

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

getPlaneCoefs

(
  • p1
  • p2
  • p3
)
Number[] static

Метод возвращает коэффициенты плоскости, заданной по трем точкам

Parameters:

  • p1 Number[]

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

  • p2 Number[]

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

  • p3 Number[]

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

Returns:

Number[]:

Массив коэффициентов плоскости ([A, B, C, D])

segmentToVector

(
  • segment
)
Number[] static

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

Parameters:

  • segment Number[]

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

Returns:

Number[]:

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

getProjectionOnVector

(
  • p
  • vec
)
Number[] static

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

Parameters:

  • p Number[]

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

  • vec Number[]

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

Returns:

Number[]:

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

getProjectionOnSegment

(
  • p
  • segment
)
Number[] static

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

Parameters:

  • p Number[]

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

  • segment Number[]

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

Returns:

Number[]:

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

getPointOnPlane

(
  • p
  • planeCoefs
)
Number[] static

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

Parameters:

  • p Number[]

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

  • planeCoefs Number[]

    Массив коэффициентов плоскости ([A, B, C, D])

Returns:

Number[]:

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

getIPointLines

(
  • segment1
  • segment2
)
Number[] static

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

Parameters:

  • segment1 Number[]

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

  • segment2 Number[]

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

Returns:

Number[]:

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

getSegmentsIntersect

(
  • segment1
  • segment2
)
Number[] static

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

Parameters:

  • segment1 Number[]

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

  • segment2 Number[]

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

Returns:

Number[]:

Массив точек пересечения ([], [[x, y, z]] или [[x, y, z], [x, y, z]])

getCoordOnVector

(
  • p
  • vec
)
Number static

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

Parameters:

  • p Number[]

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

  • vec Number[]

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

Returns:

Number:

Координата спроецированной точки

areCollinearVectors

(
  • vec1
  • vec2
)
Boolean static

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

Parameters:

  • vec1 Number[]

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

  • vec2 Number[]

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

Returns:

Boolean:

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

distBetweenCoords

(
  • x1
  • x2
)
Number static

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

Parameters:

  • x1 Number

    Первая координата

  • x2 Number

    Вторая координата

Returns:

Number:

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

getMidpoint

(
  • p1
  • p2
)
Number[] static

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

Parameters:

  • p1 Number[]

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

  • p2 Number[]

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

Returns:

Number[]:

Средняя точка ([x, y, z])

areEqualArrays

(
  • arr1
  • arr2
)
Boolean static

Метод проверяет, равны ли одномерные массивы (без учета порядка элементов)

Parameters:

  • arr1 Any

    Первый одномерный массив

  • arr2 Any

    Второй одномерный массив

Returns:

Boolean:

Равенство одномерных массивов (true или false)

firstInSecondArr

(
  • arr1
  • arr2
)
Boolean static

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

Parameters:

  • arr1 Any

    Первый одномерный массив

  • arr2 Any

    Второй одномерный массив

Returns:

Boolean:

Вхождение первого одномерного массива во второй (true или false)

isPointOnSegment

(
  • p
  • segment
  • includeEndpoints
)
Boolean static

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

Parameters:

  • p Number[]

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

  • segment Number[]

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

  • includeEndpoints Boolean

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

Returns:

Boolean:

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

isPointOnPlane

(
  • point
  • planeCoefs
)
Boolean static

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

Parameters:

  • point Number[]

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

  • planeCoefs Number[]

    Массив коэффициентов плоскости ([A, B, C, D])

Returns:

Boolean:

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

isPointOnRect

(
  • p
  • rectPoints
)
Boolean static

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

Parameters:

  • p Number[]

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

  • rectPoints Number[]

    Массив точек прямоугольника ([[x, y, z], [x, y, z], [x, y, z], [x, y, z]])

Returns:

Boolean:

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

isPointOnTriangle

(
  • point
  • triangle
)
Boolean static

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

Parameters:

  • point Number[]

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

  • triangle Number[]

    Треугольник ([[x, y, z], [x, y, z], [x, y, z]])

Returns:

Boolean:

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

areEqualPoints

(
  • p1
  • p2
  • error
)
Boolean static

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

Parameters:

  • p1 Number[]

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

  • p2 Number[]

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

  • error Number

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

Returns:

Boolean:

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

removePointsCopies

(
  • pointsArr
)
Number[] static

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

Parameters:

  • pointsArr Number[]

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

Returns:

Number[]:

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

getGeometricCenter

(
  • points
)
Number[] static

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

Parameters:

  • points Number[]

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

Returns:

Number[]:

Геометрический центр многоугольника ([x, y, z])