Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.


  • The total length of ad + dc
  • The lengths of each ab, bc and ca
  • That angle adb = angle cdb

How can I work out lengths ad and cd


If you can't see the image above, click here

share|improve this question
Can you either give a drawing or a description of it? Here we don't know what a, b, c, d are expected to be. –  Jean-Claude Arbaut Jun 28 '13 at 7:23
There should be an image in the question. I can see it, can anyone else? Try this link –  Jake Jun 28 '13 at 7:45
Ok, I can see it now. –  Jean-Claude Arbaut Jun 28 '13 at 10:07

1 Answer 1

up vote 0 down vote accepted

Geometric Solution:

Let $h=\dfrac{|\overline{bc}|}2$ and $k=\dfrac{|\overline{bd}|+|\overline{cd}|}2$.

Place $c$ at $(-h,0)$ and $b$ at $(+h,0)$. $a$ would then be at the intersection of the circle of radius $|\overline{ac}|$ centered at $c$ and the circle of radius $|\overline{ab}|$ centered at $b$.

Since $|\overline{bd}|+|\overline{cd}|=2k$ (i.e. a constant), $d$ lies on the ellipse $$ \frac{x^2}{k^2}+\frac{y^2}{k^2-h^2}=1\tag{1} $$ Graphically,

$\hspace{3.2cm}$enter image description here

Because of the reflection property of ellipses, $\angle adc=\angle adb$ when $\overline{ad}$ is normal to the ellipse (then $\angle adc$ and $\angle adb$ are supplementary to the angle of incidence). That is, $d$ is the point on the ellipse given in $(1)$ closest to (or furthest from) $a$.

The slope of the normal to the ellipse at $d=(x,y)$ is $$ \frac yx\frac{k^2}{k^2-h^2}\tag{2} $$ Therefore, we need $$ \frac{y-a_y}{x-a_x}=\frac yx\frac{k^2}{k^2-h^2}\tag{3} $$ which becomes the right hyperbola $$ \left(x-\frac{k^2}{h^2}a_x\right)\left(y+\frac{k^2-h^2}{h^2}a_y\right) =-\frac{k^2}{h^2}\frac{k^2-h^2}{h^2}a_xa_y\tag{4} $$ Thus, we can find $d$ at the intersection of the ellipse in $(1)$ and the right hyperbola in $(4)$.

For computation of $d$, it is probably easiest to use $$ u=x-\frac{k^2}{h^2}a_x\quad\text{and}\quad v=y+\frac{k^2-h^2}{h^2}a_y\tag{5} $$ Then, we have from $(1)$ and $(4)$, $$ \frac{\left(u+\frac{k^2}{h^2}a_x\right)^2}{k^2}+\frac{\left(v-\frac{k^2-h^2}{h^2}a_y\right)^2}{k^2-h^2}=1\tag{6} $$ and $$ uv=-\frac{k^2}{h^2}\frac{k^2-h^2}{h^2}a_xa_y\tag{7} $$ Using $(7)$ in $(6)$ yields a fourth degree equation to solve.

share|improve this answer
Looks like you've put me on the right track. With h=3, k=4, ax=-2, ay=6 I get this graphically Now I just need to solve for the intersection. –  Jake Jun 30 '13 at 3:57
Thanks for your help! I follow what you've done so far but I'm still unsure how to proceed. I've tried rearranging (7) for u and substituting the result into (6) but from there I struggle to rearrange to solve for v. I'm sure it would be simple if I could plug in k,h and a but I need to be able to use this for any (reasonable) values of those variables. –  Jake Jul 1 '13 at 10:19
With the values you gave in your previous comment, $(7)$ becomes $$uv=\frac{448}{27}$$ and $(6)$ becomes $$\frac{\left(u-\frac{32}{9}\right)^2}{16}+\frac{\left(v-\frac{42}{9}\right)^2}{‌​7}=1$$ Combining these gives $$\frac{\left(u-\frac{32}{9}\right)^2}{16} +\frac{\left(\frac{448}{27u}-\frac{42}{9}\right)^2}{7}=1$$ which gives a quartic equation to solve for $u$. –  robjohn Jul 1 '13 at 12:31
Sorry to keep pestering you, but I can't work this out. I need to be able write some code to solve for any values of k, h, and ax,ay (in response to a user dragging point a). Could you explain how to solve the equation above for u? The only methods I know for dealing with quadratics don't seem to be possible with this. –  Jake Jul 3 '13 at 7:22
@Jake: If you multiply the last equation by $u^2$ and subtract off the $u^2$ on the right, you get a quartic equation: $f(u)=0$. To solve this, you can use Newton's Method: $$u_{n+1}=u_n-\frac{f(u_n)}{f'(u_n)}$$ –  robjohn Jul 3 '13 at 13:30

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.