Difference between revisions of "ToPolarOffset"
From SCAR Divi Manual
(Created page with "==Definition== <source lang="scar" lines="false"> function ToPolarOffset(const Point, Offset: TPoint): PPoint; </source> ===Source Code=== <source lang="scar"> function ToPolarO...") |
(→Source Code) |
||
Line 7: | Line 7: | ||
<source lang="scar"> | <source lang="scar"> | ||
function ToPolarOffset(const Point, Offset: TPoint): PPoint; | function ToPolarOffset(const Point, Offset: TPoint): PPoint; | ||
+ | var | ||
+ | p: TPoint; | ||
begin | begin | ||
− | + | p.X := Point.X - Offset.X; | |
− | + | p.Y := Point.Y - Offset.Y; | |
− | Result.R := Sqrt(Sqr( | + | Result.R := Sqrt(Sqr(p.X) + Sqr(p.Y)); |
− | Result.T := ArcTan2( | + | Result.T := ArcTan2(p.Y, p.X); |
Result.T := RadToDeg(Result.T); | Result.T := RadToDeg(Result.T); | ||
end; | end; |
Latest revision as of 22:59, 3 July 2011
Definition
function ToPolarOffset(const Point, Offset: TPoint): PPoint;
Source Code
function ToPolarOffset(const Point, Offset: TPoint): PPoint; var p: TPoint; begin p.X := Point.X - Offset.X; p.Y := Point.Y - Offset.Y; Result.R := Sqrt(Sqr(p.X) + Sqr(p.Y)); Result.T := ArcTan2(p.Y, p.X); Result.T := RadToDeg(Result.T); end;
Availability
SCAR Divi 3.00 > Current
Description
Converts a given cartesian coordinate defined by the TPoint Point with an offset given by Offset to a polar coordinate defined by a PPoint.
Example
var p: PPoint; begin p := ToPolarOffset(Point(3, 4), Point(2, 2)); WriteLn('PPoint(' + FloatToStr(p.R) + ';' + FloatToStr(p.T) + ')'); end.
Output:
PPoint(2,23606797749979;63,434948822922)