Menu

zgl_collision_2d.pas

Serge
zglTRect2D = record
    X, Y, W, H: Single;
  end;

Rus: структура прямоугольника, где X, Y - координаты, а W, H - ширина и высота прямоугольника.
Eng: the structure of a rectangle, where X, Y are the coordinates, and W, H are the width and height of the rectangle.


zglTRectBPEP2D = record
    X1, Y1, X2, Y2: Single;
  end;

Rus: структура прямоугольника, где X1, Y1 - начальные координаты, а X2, Y2 - конечные. Прямоугольник задан двумя координатами.
Eng: rectangle structure, where X1, Y1 are the initial coordinates, and X2, Y2 are the final ones. A rectangle is defined by two coordinates.


zglTCircle2D = record
    cX, cY: Single;
    Radius: Single;
  end;

Rus: структура окружности, где cX, cY - координаты центра окружности, Radius - её радиус.
Eng: structure of a circle, where cX, cY are the coordinates of the center of the circle, Radius is its radius.


zglTRectPoints2D = record
    x1, y1: Single;
    x2, y2: Single;
    x3, y3: Single;
    x4, y4: Single;
  end;

Rus: структура произвольного четырёхугольника. У данного четырёхугольника произвольные координаты. Будьте внимательны с объявлением координат данного четырёхугольника иначе вы можете получить "8", а не четырёхугольник. Хотя может "8" вам больше подходит. )))
Eng: structure of an arbitrary quadrilateral. This quadrilateral has arbitrary coordinates. Be careful when declaring the coordinates of a given quadrilateral, otherwise you may end up with "8" rather than a quadrilateral. Although maybe "8" suits you better. )))


point/точка

function col2d_PointInRect(X, Y: Single; const Rect: zglTRect2D): Boolean;
Rus: пересечение точки и квадрата. Край учитывается.
Eng: intersection of a point and a square. The edge is taken into account.

function col2d_PointInTriangle(X, Y: Single; const P1, P2, P3: zglTPoint2D): Boolean;
Rus: пересечение точки и треугольника. Край учитывается.
Eng: intersection of a point and a triangle. The edge is taken into account.

function col2d_PointInCircle(X, Y: Single; const Circle: zglTCircle2D): Boolean;
Rus: пересечение точки и круга. Край учитывается.
Eng: intersection of a point and a circle. The edge is taken into account.

function col2d_PointInQuad(X, Y: Single; Quad: zglTRectPoints2D): Boolean;
Rus: пересечение точки и произвольного четырёхугольника. Проверить работу!!!
Eng: intersection of a point and an arbitrary quadrilateral.


line/линия

function col2d_Line(const A, B: zglTLine2D; ColPoint: zglPPoint2D): Boolean;
Rus: пересечение линий. ColPoint вернёт точку пересечения.
Eng: line intersection. ColPoint will return the intersection point.

function col2d_Lines(const A, B: zglTLine2D): Boolean;
Rus: пересечение линий, без вычисления точки пересечения.
Eng: line intersection, without calculating the intersection point.

function col2d_LineVsRect(const Line: zglTLine2D; const Rect: zglTRect2D): Boolean;
Rus: пересечение линии с прямоугольником.
Eng: intersection of a line with a rectangle.

function col2d_LineVsCircle(const Line: zglTLine2D; const Circle: zglTCircle2D): Boolean;
Rus: пересечение линии с кругом.
Eng: intersection of a line with a circle.


rect/прямоугольник

function col2d_Rect(const Rect1, Rect2: zglTRect2D): Boolean;
Rus: пересечение прямоугольников.
Eng: intersection of rectangles.

function col2d_RectBPEP(const Rect1, Rect2: zglTRectBPEP2D): Boolean;
Rus: пересечение прямоугольников. У квадратов заданы начальные и конечные координаты.
Eng: intersection of rectangles. The squares have start and end coordinates.

function col2d_ClipRect(const Rect1, Rect2: zglTRect2D): zglTRect2D;
Rus: обрезание первого прямоугольника относительно координат второго прямоугольника.
Eng: cropping the first rectangle relative to the coordinates of the second rectangle.

function col2d_RectInRect(const Rect1, Rect2: zglTRect2D): Boolean;
Rus: прямоугольник точно внутри прямоугольника.
Eng: rectangle exactly inside the rectangle.

function col2d_RectInCircle(const Rect: zglTRect2D; const Circle: zglTCircle2D): Boolean;
Rus: прямоугольник точно внутри круга.
Eng: rectangle exactly inside the circle.

function col2d_RectVsCircle(const Rect: zglTRect2D; const Circle: zglTCircle2D): Boolean;
Rus: пересечение прямоугольника с кругом.
Eng: intersection of a rectangle with a circle.


circle/окружность

function col2d_Circle(const Circle1, Circle2: zglTCircle2D): Boolean;
Rus: пересечение кругов.
Eng: circle intersection.

function col2d_CircleInCircle(const Circle1, Circle2: zglTCircle2D): Boolean;
Rus: круг точно внутри круга.
Eng: the circle is exactly inside the circle.

function col2d_CircleInRect(const Circle: zglTCircle2D; const Rect: zglTRect2D): Boolean;
Rus: круг точно внутри прямоугольника.
Eng: the circle is exactly inside the rectangle.


MongoDB Logo MongoDB