Модуль CastleLine2DMath
Описание
Модуль содержит некоторые математические методы, а также методы для построения некоторых примитивов.
Обзор
Процедуры и функции
function DoFloat(var StringValue:string;const Remain:string=''):single; |
function PSDistanceEx(const P,SP1,SP2:TVector2;var Distance:Single; var PP:TVector2):integer; |
function CrossingSegments(const a1,a2,b1,b2:TVector2; var CrossPoint:TVector2):shortint; |
function IsClockwiseTriangle(A,B,C:TVector2):boolean; |
function AddArcBetweenPoints(var Arc:TVector2List; const Center,O,A,B:TVector2; const EdgesCount:integer):single; |
procedure AddRoundBoxTop(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2; const EdgesCount:integer); |
procedure AddHalfCircle(var Arc:TVector2List; const A,B:TVector2; const EdgesCount:integer; const Opposite:Tvector2); |
procedure AddTriangle(var Arc:TVector2List; const A,B,C:TVector2); |
procedure AddTriangleOpposite(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
procedure AddTriangleTop(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
procedure AddHalfBox(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
procedure AddBox(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
procedure AddRect(var Arc:TVector2List; const A,B:TVector2; width:single); |
function AddCrossSegments(var Arc:TVector2List; const O,A1,A2,B1,B2:TVector2):single; |
function DoGoodTriangle(var Lt:TVector2List; A,B,C:integer; Scale:TVector2):boolean; |
Описание
Процедуры и функции
function DoFloat(var StringValue:string;const Remain:string=''):single; |
Преобразует строку StringValue в число путем удаления лишнего. Remain это неудаляемый остаток в строке (можно использовать для того, чтобы '-' в начале строки не удалялся) |
function PSDistanceEx(const P,SP1,SP2:TVector2;var Distance:Single; var PP:TVector2):integer; |
Минимальное расстояние от точки (P) до отрезка (SP1:SP2) с расчетом точки проекции (PP) на отрезок. |
function CrossingSegments(const a1,a2,b1,b2:TVector2; var CrossPoint:TVector2):shortint; |
Пересечение отрезков A1:A2, B1:B2. |
function IsClockwiseTriangle(A,B,C:TVector2):boolean; |
Если порядок обхода треугольника A,B,C по часовой стрелке, то вернет |
function AddArcBetweenPoints(var Arc:TVector2List; const Center,O,A,B:TVector2; const EdgesCount:integer):single; |
Строит дугу между точками A,B c центром в точке Center |
procedure AddRoundBoxTop(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2; const EdgesCount:integer); |
Строит квадрат у которого скруглен один угол на отрезке А:B в направлении противоположном Opposite. EdgesCount количество сегментов дуги. Result = длинна дуги. |
procedure AddHalfCircle(var Arc:TVector2List; const A,B:TVector2; const EdgesCount:integer; const Opposite:Tvector2); |
Строит полукруг на отрезке А:B в направлении противоположном Opposite |
procedure AddTriangle(var Arc:TVector2List; const A,B,C:TVector2); |
Добавит треугольник в Arc |
procedure AddTriangleOpposite(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
Строит прямоугольный равнобедренный треугольник на отрезке А:B в направлении противоположном Opposite. Гипотенуза - A:B |
procedure AddTriangleTop(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
Строит прямоугольный равнобедренный треугольник на отрезке А:B в направлении противоположном Opposite. Гипотенуза A:NewPoint |
procedure AddHalfBox(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
Строит половину квадрат на отрезке А:B в направлении противоположном Opposite |
procedure AddBox(var Arc:TVector2List; const A,B:TVector2; const Opposite:Tvector2); |
Строит квадрат на отрезке А:B в направлении противоположном Opposite |
procedure AddRect(var Arc:TVector2List; const A,B:TVector2; width:single); |
Строит прямоугольник осью симметрии которого является отрезок A:B. |
function AddCrossSegments(var Arc:TVector2List; const O,A1,A2,B1,B2:TVector2):single; |
Добавит треугольники для соединения двух отрезков в точке пересечения вне этих отрезков. A1:A2 первый отрезок. B1:B2 второй отрезок. O - точка соединения треугольников. |
function DoGoodTriangle(var Lt:TVector2List; A,B,C:integer; Scale:TVector2):boolean; |
Сортирует вершины треугольника в порядок обхода по часовой стрелке в зависимости от Scale (во 2 и 4 четвертях порядок обхода меняется). |
Сгенерировал PasDoc 0.16.0.