Google Answers Logo
View Question
 
Q: Intersection of three cones ( No Answer,   9 Comments )
Question  
Subject: Intersection of three cones
Category: Science > Math
Asked by: kbo-ga
List Price: $10.00
Posted: 24 Nov 2005 04:00 PST
Expires: 24 Dec 2005 04:00 PST
Question ID: 597056
Anyone got the proof for : do three cones, of parallel axes and same
gradient but not the same height of apex or congruent, always
intersect at a single point. Don't ask what it's for, but it's not for
homework. (42 year old failed physicist)

Clarification of Question by kbo-ga on 24 Nov 2005 10:24 PST
Ah, a picture's worth a thousand words. Ok, three vertical cones above
a plane, all the same gradient, however each apex is above a different
point at a different altitude. I know they do intersect (empirically,
using pencil and a set of compasses and lately a boundary hunting
algorithm). I know that the formulae for a cone (
(x-a)^2+(y-b)^2=(m(z-h))^2 ) is actually a double cone, apex to apex,
so there are actually two intersections, one above the plane and one
below. I tried simultaneous equations of three cones but got literally
zero (or infinity, division by zero). The intersection for two cones
is a slightly bent parabola, conic sections and all that. However the
three cone problem appears to be the intersection of the three cone
pairs intersections!!? Now I'm confused. Thanks for looking.

Clarification of Question by kbo-ga on 26 Nov 2005 03:43 PST
Many thanks to GreyElf. I've heard of Mathematica, but it's a proof
for all possible sets of three cones I'd like, or even a hint of where
to look next.

As I read it GreyElf, your example is for three cones, three different
xy apex coordinates, two different gradients (1 and 2), but all the
apices at the same altitude. It's interesting that I didn't think
there would more than one solution above the plane, but that's why you
ask experts!

However, and I know it sounds picky, but I need the same gradient but
the heights different.

Many thanks, I hope this is annoying you (in a nice way) as much as it does me.

Clarification of Question by kbo-ga on 30 Nov 2005 15:37 PST
Many thanks to MathTalk, I'm afraid it'll take a wee while for me to
figure out if this is the answer! Apologies for not mentioning
non-nested parameters, it just wouldn't happen in the example I was
thinking of, and of course they would exist in general terms. Is my
question too vague to give me the "perfect answer" where I punch in
height, apex coords and get a magic "point"? If I read MathTalk
correctly his final conditions indicate the parameters where an
intersection is possible, how do I go from there to the coordinates of
the intersection point(s)?

Clarification of Question by kbo-ga on 02 Dec 2005 10:16 PST
Thanks again to MathTalk. If I read your last post correctly, I
recenter one of the cones on (0,0,0), rescale all the cones so a
second cones x coord is 1, where I fall down is getting the second
cones y coord to 0. I suppose affine means in the same family or
having similar properties but otherwise I'm confused. Here's an
example from a boundary hunting program I wrote, forgive the humungous
numbers, and the lack of z axis in the "answer", and of course the
gradient doesn't matter.
   X      Y      Z
A  329137 736281 46291
B  408263 210282 0
C  729192 602876 368889

I get 
T  375033 760128 ?

Is this correct

Clarification of Question by kbo-ga on 07 Dec 2005 07:09 PST
Ok I get the recentering, rotation and rescaling (in order to cut down
on the factors). I tried some numbers in a spreadsheet and this is
what I got.

Test target found by boundary hunting program
375033 760128

Cone	x 	y 	z
A	729192 	602876 	368889
B	408263 	210282 	0
C	329137 	736281 	46291

subtract coords of A, zeroed on 0,0,0 	angle apex to xy radius apex to xy
0	0	0
-320929 -392594 -368889  	        4.03	 	 507075.41
-400055 133405 	-322598 	        2.82 		 421711.86

rotate about 0,0,0 so Cy=0
0 	0 	0
180254 	473955 	-368889 	        1.21	
421711  0 	-322598 	        0 

rescale to Cx=1			a 	b 	p 	q
0 	0 	0 	(0,0,0) 0.43 	1.12 	0.76 	0.87
0.43 	1.12 	-0.87 	(a,b,-q)
1 	0	-0.76 	(1,0,-p)

therefore given for cones apices(0,0,0), (1,0,-p), (a,b,-q)
x = (1/2)(q(1-p^2) - p(a^2 + b^2 - q^2))/(q - ap)
y = +/- SQRT((p^-2 - 1)(x - 1/2)^2 - (1/4)(1 - p^2))

x=-0.14
y=+/-0.44

unrescale by 421711.86

x	y 		radius	 	angle
-60749 	183983 		193753.46 	3.03
-60749 	-183983 	193753.46 	3.26

unrotate by 2.82

189563 	40078.12			0.21
175677 	81717.49			0.44

untranslate by 729192 	602876

918755  642954
904869 	684593

Which is nothing like the answer I have (empirically). 

I would guess I have translated the formulae wrongly into spreadsheetia

I wrote for
x = (1/2)(q(1-p^2) - p(a^2 + b^2 - q^2))/(q - ap)

0.5*(H20*(1-G20^2)-G20*(E20^2+F20^2-H20^2))/(H20-E20*G20) 

and for

y = +/- SQRT((p^-2 - 1)(x - 1/2)^2 - (1/4)(1 - p^2))

=((G20^-2-1)*(B28-0.5)^2-0.25*(1-G20^2))^0.5 (obviously the positive one)

Any further with an example?
Answer  
There is no answer at this time.

Comments  
Subject: Re: Intersection of three cones
From: frde-ga on 24 Nov 2005 07:33 PST
 
Surely, if they have the same gradient, and they are cones they must be congruent.

Where they intersect (if at all) depends solely on where they are placed
- if two cones intersect at all, they should have multiple points of intersection
Subject: Re: Intersection of three cones
From: frde-ga on 25 Nov 2005 02:10 PST
 
Ah, I think I see what you are getting at.

Three cones pushed into each other (let us say they are beams of light
rather than solid) with 'intersection' defined as the surface layers
touching each other.

Because they are cones, the outside surfaces are moving away from each
other as one looks at successive horizontal slices, so one can see
that they can only intersect at one level.

In that case one might as well forget about cones, and just use circles.
I've just taken three different sized coins and tried placing them
slightly on top of each other.

One can easily get just one point of intersection, and there is a
special case where one can get two points of intersection, subject to
the diameters of the coins.

Quite interesting, I think that if the cones are of different
gradients one could possibly get two intersections at different levels
- but visualizing that is slightly painful.
Subject: Re: Intersection of three cones
From: greyelf-ga on 25 Nov 2005 08:23 PST
 
Using Mathematica and playing with the parameters I found a set that
has four solutions for the double cones -- and hence two for the
single cones that you are interested in.  Here is what I used:

Solve[  { x^2. + y^2 ==           (z - 1)^2,
        (x - 1)^2 + (y - 2)^2 ==  (z - 1)^2, 
        (x - 4)^2 + (y - 3)^2 == 2(z - 1)^2  }, {x, y, z}]

{{x -> -5.37298, y -> 3.93649,   z -> -5.6607},
 {x -> -5.37298, y -> 3.93649,   z -> 7.6607}, 
 {x -> 2.37298,  y -> 0.0635083, z -> 3.37383}, 
 {x -> 2.37298,  y -> 0.0635083, z -> -1.37383}}
Subject: Re: Intersection of three cones
From: mathtalk-ga on 29 Nov 2005 07:55 PST
 
The Question can be reformulated as concerning a common point of
intersection of circles in a plane, whose centers are fixed and whose
radii differ by fixed constants but are otherwise allowed to vary:

  R_1 = r_1 + x
  R_2 = r_2 + x
  R_3 = r_3 + x

This assumes that it is the surface of the cones not their interiors
which are being intersected.

I believe that with this perspective it is obvious that no such common
point of intersection is generally going to obtain, but with
additional assumptions it can be shown.

Consider the case of two circles.  If one circle is within the other,
then no point of intersection will obtain no matter how much their
radii increase, since (as a corollary of the cones' "same gradient")
the radii increase by equal increments.

If two circles are mutually outside one another, then as they expand
we will first obtain a single point of intersection (tangency) along
the line connecting the centers of the two circles.  Further expansion
produces pairs of points of intersection, symmetric with respect to
the line passing through both centers, which we hereafter term the
"axis".

The locus of points of intersection produce by the equal increase of
radii is a line if the radii are equal (the bisector of the axis) or a
parabola if the radii are unequal, symmetric with respect to the axis
and opening in the direction of the circle of smaller radius.

The problem of three unequal circles then amounts to one about the
intersection of two parabolas, one generated by one pair of circles
and another generated by a different pair.  If two circles are allowed
to be equal, the problem is simplified accordingly, but I'll not
discuss it since the emphasis here is on cones with differing
"heights".

Two parabolas, both opening we may assume in the direction of the
smallest of the three circles, will have two, three, or four points of
intersection.  Each such point represents a "solution" as a common
intersection of three circles, or as posed in the original Question, a
point common to the surfaces of three cones of parallel axes and equal
slopes.


regards, mathtalk-ga
Subject: Re: Intersection of three cones
From: mathtalk-ga on 29 Nov 2005 08:11 PST
 
Oops!  I erred in stating that the locus is a parabola... in fact, the
locus of points whose distances to two fixed points have a constant
difference is (one branch of) a hyperbola (which of course is
analogous to defining an ellipse as the locus of points whose
distances to two foci have a constant sum).

However this method of analysis should prove effective.  Given any
three centers and the "initial radii" by passing a plane perpendicular
to the cones' axes through the apex of the "highest cone, we obtain
all the possible solutions by taking the points of intersection (if
any) between two (branches of) hyperbolas.

-- mathtalk-ga
Subject: Re: Intersection of three cones
From: mathtalk-ga on 30 Nov 2005 06:16 PST
 
A bit more algebra and I found the "different heights, same gradient"
problem can be reduced to intersecting a line and a (branch of a)
hyperbola.

For the sake of simplifying the algebra, I recommend translating the
"highest" cone to the origin, so that the other two have apexes
(apices?) below the xy-plane.  (I'm picturing cones that open upward,
since orginally the interest was in cones "above" the plane.)

We can take (by scaling, rotation, reflection, and translation) these
as the apexes:

  (0,0,0), (1,0,-p), (a,b,-q)

with some restrictions on a,b,p,q:

  0 < p < 1   (avoids having the first cone inside the second)

  0 < q < SQRT(a^2 + b^2)  (avoids first cone inside the third)

The hyperbola formed by the intersection of first and second cone is then:

  (1-p^2)(x - 1/2)^2 - p^2 y^2 = (1/4)p^2 (1-p^2)

A line may be derived using the equations of all three cones:

  (q - ap)x - bpy = (1/2)(q(1-p^2) - p(a^2 + b^2 - q^2))

A sufficient condition for a single point of intersection (between the
line and the branch of the hyperbola that "contains" the origin) is
that the slope of the line is between the slopes of the hyperbola's
asymptotes.

Note that if b = 0, then there may fail to exist any intersection.  In
effect the hyperbola branch formed by the first and second cones may
nest inside or outside the hyperbola branch formed the the first and
third cones.  This could happen even if the second and third cones are
not nested one within the other, so that they as a pair have non-empty
intersection.

If we assume b > 0, e.g. by reflection if necessary, then the slope
condition alluded to is this:

  ap - b SQRT(1-p^2) < q < ap + b SQRT(1-p^2)

So this gives a sufficient condition for there to be a unique point of
common intersection between the three (upper) cones, taken in
combination with our earlier assumptions (no cone nested within
another).

regards, mathtalk-ga
Subject: Re: Intersection of three cones
From: mathtalk-ga on 30 Nov 2005 18:40 PST
 
kbo-ga asked, "[H]ow do I go from there to the coordinates of the
intersection point(s)?"

It's pretty easy, actually.  The general data for your problem is a
slope m for the cones together with the three apexes:

  (a_1,b_1,c_1), (a_2,b_2,c_2), (a_3,b_3,c_3)

I'd "normalized" such data to unit slope (basically just scaling the z
coordinate) and translating the highest apex down to z=0, followed by
such affine transformation of the xy-plane to get these data:

  (0,0,0). (1,0,-p), (a,b,-q)

If my yellow pad doesn't deceive me, then we need to solve these equations:

  (1-p^2)(x - 1/2)^2 - p^2 y^2 = (1/4)p^2 (1-p^2)

  (q - ap)x - bpy = (1/2)(q(1-p^2) - p(a^2 + b^2 - q^2))

For cases b=0, we use the second equation to solve for x:

   x  =  (1/2)(q(1-p^2) - p(a^2 + b^2 - q^2))/(q - ap)

then plug that into the first equation to obtain y:

   y  = +/- SQRT((p^-2 - 1)(x - 1/2)^2 - (1/4)(1 - p^2))

Conceivably this gives zero, one, or two real solutions depending on
the sign of the value inside the square root for y.  Check that any
such solutions satisfy the condition:

   x <= (1 - p)/2

because that is required for the solution to lie on the branch of the
hyperbola that "goes around" the origin (small cone/circle).

If b nonzero, then: use the second equation to solve for y as a first
degree polynomial in x, substitute the result for y in the first
equation, and solve the resulting quadratic equation.  Again check
that any indicated solutions are on the right branch of the hyperbola
(which is actually the "left" branch as we set things up), using the
same inequality on x as above.  Potentially one of the real solutions
is on that branch and one is on the other branch, so it's possible
your desire for a "unique" solution is met even when the quadratic has
two real solutions.

I'll try to find time tonight to work out an example.  Feel free to
post some sample data if you'd find that more convincing...


regards, mathtalk-ga
Subject: Re: Intersection of three cones
From: mathtalk-ga on 08 Dec 2005 10:30 PST
 
Hi, kbo-ga:

I did make some progress, removing for example rotations from the
method of solution as unnecessary.  I'll have to take issue with the
idea that "the gradient doesn't matter".  Although the z-coordinate is
not important to the solution you want, and the gradient m can be
conveniently lumped into (for example) the Z data for any particular
problem, it is still necessary to have at least this.

Working backward from your solution, I've tried to determine the value
of m that you had in mind. That is, by looking at the B point, taking
the distance from your solution x = 375033, y = 760128 to (XB,YB)
gives mz = 550849.214 or so.

If your solution were consistent, then taking the distances from
solution (x,y) to points (XA,YA) and (XC,YC) should give values that
differ from mz by mZA and mZC, respectively:

  distance (x,y) to (XB,YB)  minus  distance (x,y) to (XA,YA)
  -----------------------------------------------------------  ~ 10.78
                           (ZA - ZB)

  distance (x,y) to (XB,YB)  minus  distance (x,y) to (XC,YC)
  -----------------------------------------------------------  ~ 0.4428
                           (ZC - ZB)

Now the value for ZA = 46291 (as you labelled things earlier in the
thread) is so much smaller than the other coordinates in the data,
that I might suspect a missing leading digit there, but I wasn't able
to find any "fix" that comes close to putting the solution right.

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *

If you like, I can simply solve the problem taking m = 1 (or some
other value you wish to specify), or perhaps you can check the results
of your "boundary hunting program" to see if its input or output has
gotten miscopied.


regards, mathtalk-ga
Subject: Re: Intersection of three cones
From: mathtalk-ga on 11 Dec 2005 19:39 PST
 
Hi, kbo-ga:

Starting over to try and simplify the presentation as
well as the conclusions.

You gave these sample coordinates for the cones' apexes:

     X      Y      Z
   ------ ------ ------
A  329137 736281  46291
B  408263 210282      0
C  729192 602876 368889

You didn't specify the gradient m, which I'd represent
in the equations for the cone in this way:

  (x - XA)² + (y - YA)² = m²(z - ZA)²     [1]

  (x - XB)² + (y - YB)² = m²(z - ZB)²     [2]

  (x - XC)² + (y - YC)² = m²(z - ZC)²     [3]

because the square term makes it easy to combine the
gradient m with the z-coordinates, effectively reducing
to the case m = 1 (after Z* is replaced by m times Z*).

Simply for the sake of illustration, I'll assume m = 1
was the gradient in this example.

We will omit any scaling or rotation, because although
it helps by eliminating a couple of the free parameters,
it is a relatively big price to pay for that small amount
of simplification.

On the other hand, subtracting off the x,y,z coordinates
of one apex from the other two is easy (both to "do" and
"undo" at the end of the solution procedure).  Since you
already have the lowest z-coordinate at zero, I'll keep
that the same by subtracting the "B" coordinates from the
the other two apexes:

     X      Y      Z
   ------ ------ ------
A  -79126 525999  46291
B       0      0      0
C  320929 392594 368889

[Bear in mind we will add x = 408263, y = 210282 back at
the end.]

Consequently we can always simply equations [1]-[3] into:

  (x - XA)² + (y - YA)² = (z - ZA)²     [1]

      x²    +     y²    =  z²           [2]

  (x - XC)² + (y - YC)² = (z - ZC)²     [3]

Notice that m is gone, and [2] has become reduced.

Subtracting each of [1] and [3] from [2] gives a pair of
first degree polynomial equations in x,y,z:

    2XA x   +   2YA y   =  2ZA z + (XA² + YA² - ZA²)

    2XC x   +   2YC y   =  2ZC z + (XC² + YC² - ZC²)

Divide both sides (of each equation) by 2 and use the
substitutions:

    RA  =  (1/2)(XA² + YA² - ZA²)

    RC  =  (1/2)(XC² + YC² - ZC²)

and we have a system of two linear equations compactly
expressed in matrix form:

    / XA  YA \  / x \            / ZA*z + RA \
    |        |  |   |     =      |           |
    \ XC  YC /  \ y /            \ ZC*z + RC /

This system can be solved for x,y in terms of z and constant
data if and only if the matrix of coefficients on the left-
hand side is nonsingular, ie. the determinant:

    D = XA*YC - XC*YA  is nonzero.

The geometric interpretation of this is that the line
through points (XA,YA) and (XC,YC) does not pass through
the origin, ie. not through (XB,YB) in reference to our
original choice of input coordinates.  We defer for now
the discussion of the "degenerate" cases where these are
three colinear points, in part because for the data at
hand:

   -79126*392594 - 320929*525999 = -199872725915

is clearly nonzero, and in part because I suspect your
"physical application" precludes this possibility.

Recall that a 2x2 matrix inverse can be expressed quite
simply in terms of its entries and its determinant:

    / XA  YA \ -1       1   /  YC -YA  \
    |        |      =  ---  |          |
    \ XC  YC /          D   \ -XC  XA  /

Therefore, after multiplying both sides of the matrix
equation above by the inverse so expressed:


    / x \         1   /  YC -YA  \  / ZA*z + RA \
    |   |    =   ---  |          |  |           |
    \ y /         D   \ -XC  XA  /  \ ZC*z + RC /

we have essentially solved for x,y (dependent on z):

              YC(ZA*z + RA) - YA(ZC*z + RC)
      x   =   -----------------------------
                            D

              YC*ZA - YA*ZC       YC*RA - YA*RC
          =   ------------- z  +  -------------
                    D                   D

              -XC(ZA*z + RA) + XA(ZC*z + RC)
      y   =   ------------------------------
                             D

             -XC*ZA + XA*ZC       -XC*RA + XA*RC
          =  -------------- z  +  --------------  
                    D                    D

These first degree expressions may then be substituted
respectively for x and y in equation [2] above, giving
a polynomial of (at most) degree 2 to solve for z.

Let's define:

     p = (YC*ZA - YA*ZC)/D

     d = (YC*RA - YA*RC)/D

     q = (-XC*ZA + XA*ZC)/D

     b = (-XC*RA + XA*RC)/D

so that:     x = pz + d  and y = qz + b .

The substitution into [2] then reduces as follows:

   (pz + d)² + (qz + b)² = z²

   (p² + q² - 1)z² + 2(pd + qb)z + (d² + b²) = 0

A quick check may be made on roots provided by applying
the quadratic formula, to see if the value of z derived
is above each of the Z* input values (thus intersection
among the "upper" cones is indicated).

Evaluation of the various intermediate expressions in 
the analysis above can be performed in a convenient
spreadsheet:

    RA =  140396507598

    RC =   60523188778

     p =  0.87986830

     d = -116492.58108278

     q =  0.22036441

     b =  249390.04756139

p² + q² - 1 = -0.17727130

 2(pd + qb) = -95082.87790347

    d² + b² =  75765917270.00

Solving this quadratic found two roots:

     z = -974813.2131 , 438443.9282

where clearly only the latter could correspond to an
intersection of the upper cones.

For z = 438443.9282:

    x = pz + d = 269280.3342

    y = qz + d = 346007.4852

Finally, once the (XB,YB) coordinates are added back:

    x = 677543.3342

    y = 556289.4852

gives the point of intersection in the original terms.

I used the spreadsheet to verify that all three cones'
equations are satisfied by these final coordinates, at
least to within rounding errors.

regards, mathtalk-ga

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy