123456789101112131415161718192021 |
- {$mode objfpc}
- program bugavx64;
- uses math;
- function EllipseRadialLength(Width, Height:Integer; EccentricAngle : Extended) : Extended;
- var
- a, b, R : Extended;
- begin
- a := Width div 2;
- b := Height div 2;
- R := Sqr(a)*Sqr(b);
- if R <> 0 then begin // tweak
- R := Sqrt(R / ((Sqr(b)*Sqr(Cos(DegToRad(EccentricAngle/16))))) +
- (Sqr(a)*Sqr(Sin(DegToRad(EccentricAngle/16)))));
- end;
- Result := R;
- end;
- begin
- end.
|