Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Equation of the cone about an arbitrary axis

245 views
Skip to first unread message

madhava.G...@gmail.com

unread,
Apr 23, 2007, 12:19:23 PM4/23/07
to madhava.g...@gmail.com
Hi ,
I am in an urgent need to determine the equation of the right
circular cone. The following are the details.

1. This cone is not oriented about any of the three co-ordinate axes
but is along an axis defined by an arbitrary straight line (known)
2. It opening angle of the cone is known ( the angle at the vertex of
the cone)
3. The vertex of the cone in XYZ co-ordinates is known.

Can any one help me with this. This equation needs to be in 3D. I need
this very urgently.

Thanks
Madhava

hoff...@fho-emden.de

unread,
Apr 23, 2007, 12:33:58 PM4/23/07
to

madhava.Gadiche...@gmail.com schrieb:

M: vertex vector
No: unit axis vector
a: angle between axis vector and surface (half opening angle)
X: vector to point on the cone surface

[(X-M)^T*No]^2 = [(X-M)^T*(X-M)]*[cos(a)]^2

For better readability:

[(X-M)' *No]^2 = [(X-M)' *(X-M)] [cos(a)]^2

Best regards --Gernot Hoffmann

madhava.G...@gmail.com

unread,
Apr 23, 2007, 12:50:37 PM4/23/07
to

hi Gernot,

Thanks for the early rep ly.
Can you please explain how you got there.
I also would like to know the meaning of T. you have not defined
it here. Also M being a point in XYZ co-ordinates, I dont understand
the (X-M) part. Please clarify

Thanks
Madhava

hoff...@fho-emden.de

unread,
Apr 23, 2007, 1:05:34 PM4/23/07
to
> > M: vertex vector
> > No: unit axis vector
> > a: angle between axis vector and surface (half opening angle)
> > X: vector to point on the cone surface
> >
> > [(X-M)^T*No]^2 = [(X-M)^T*(X-M)]*[cos(a)]^2
> >
> > For better readability:
> >
> > [(X-M)' *No]^2 = [(X-M)' *(X-M)] [cos(a)]^2
> >
> > Best regards --Gernot Hoffmann
>
> hi Gernot,
>
> Thanks for the early rep ly.
> Can you please explain how you got there.
> I also would like to know the meaning of T. you have not defined
> it here. Also M being a point in XYZ co-ordinates, I dont understand
> the (X-M) part. Please clarify
>
> Thanks
> Madhava

Madhava,

A^T means 'transposed' - a row instead of a column.
A^T*B means ax*bx+ay*by+az*bz.
That's the same as the dot product (A.B) .

X-M is a vector which contains the known vector M
(which points to the vertex) and any arbitrary vector X
from the origin to the surface.
Sorry, without a drawing it's impossible to derive the
equation as mentioned in my recent post.

Best regards --Gernot Hoffmann

Kaba

unread,
Apr 23, 2007, 1:57:44 PM4/23/07
to
> Can you please explain how you got there.

Recall the connection between a dot product of two vectors and their
angle:

dot(A, B) = cos(alpha) * ||A|| * ||B||

where alpha is the angle between A and B in the range [0, pi[.

Assume for a while ||A|| != 0 and ||B|| != 0. From this it is easy to
derive that the angle between two vectors A and B is given by:

alpha = arccos(dot(A, B) / (||A|| * ||B||))

Let M be the tip of the cone, N the axis vector of any length and alpha
the angle of the cone. Any point X on the cone is characterized by:
"vector (X - M) forms an angle alpha with N". In maths:

alpha = arccos(dot(X - M, N) / (||X - M|| * ||N||))

We assumed that ||X - M|| != 0. But clearly X = M is also part of the
cone: it is the tip of the cone. To include this point we need to
rearrange the equation so as to remove the singularity due to the
division:

cos(alpha) = dot(X - M, N) / (||X - M|| * ||N||)
=>
cos(alpha) * ||X - M|| * ||N|| = dot(X - M, N)

All the points X that satisfy this equation are on the cone. Note this
equation describes a "single-cone", not a double-cone. This is what
people usually mean by a cone.

For the double-cone that extends in both directions, square away both
sides to get rid of the sign in the dot product:

(Note ||A||^2 = dot(A, A))

cos^2(alpha) * dot(X - M, X - M) * dot(N, N) = dot^2(X - M, N)

If you know N is of unit length, then dot(N, N) = 1 and the equation
reduces to:

cos^2(alpha) * dot(X - M, X - M) = dot^2(X - M, N)

And this is the equation Gernot gave you.

--
Kalle Rutanen
http://kaba.hilvi.org

0 new messages