Difference between revisions of "Math bits"

From LibreCAD wiki
Jump to: navigation, search
(modular function in LibreCAD)
(The nearest point on an ellipse to a given point: typo)
Line 33: Line 33:
 
where <math>\alpha=2 a x</math>, <math> \beta=2 b y</math>, and <math>\gamma=2(a^2-b^2)</math>.
 
where <math>\alpha=2 a x</math>, <math> \beta=2 b y</math>, and <math>\gamma=2(a^2-b^2)</math>.
  
For all solutions from the quartic equation, the minimum distance point is identified the convex condition,
+
For all solutions from the quartic equation, the minimum distance point is identified by the convex condition,
  
 
<math>
 
<math>

Revision as of 12:10, 25 April 2012

The nearest point on an ellipse to a given point

An ellipse in the coordinates orientated alone its major and minor axes is given as,


\begin{cases}
\begin{array}{c}
x=a\cos t\\
y=b\sin t
\end{array} & 0\le t<2\pi\end{cases}

The squared distance from a point on ellipse to a given point(x,y),


\begin{array}{rcl}
s^{2}&=&(x-a\cos t)^{2}+(y-b\sin t)^{2}\\
&=&x^{2}+y^{2}+a^{2}\cos^{2}t+b^{2}\sin^{2}t-2xa\cos t-2yb\sin t
\end{array}

The stationary points at the zero points of its first order derivative of t,


\frac{d(s^{2})}{dt}=-a^{2}\sin2t+b^{2}\sin2t+2xa\sin t-2yb\cos t=0

This stationary condition is a quartic equation of cos t. With variable change u = cos t,

γ2u4 − 2αγu3 + (α2 + β2 − γ2)u2 + 2αγu − α2 = 0

where α = 2ax, β = 2by, and γ = 2(a2b2).

For all solutions from the quartic equation, the minimum distance point is identified by the convex condition,


\frac{d^{2}(s^{2})}{dt^{2}}=\gamma(1-2u^{2})+\alpha u+\frac{\beta^{2}u}{\alpha-\gamma u}>0

modular function in LibreCAD

the standard glibc fmod(x, a) is not convenient here, since we need a modular function work the same way for both positive and negative numbers, instead, we use,


remainder(x - \frac{a}{2},a)+\frac{a}{2}