"Doctor61" wrote in message <firstname.lastname@example.org>... > "Bill Whiten" <W.Whiten@uq.edu.au> wrote in message <email@example.com>... > > "Doctor61" wrote in message <firstname.lastname@example.org>... > > > I have two 3d circles (centre coordiantes and radii) with their normals passing through origin. If you consider the origin to be the vertex of a right cone having the circle as the base, how can I determine if there is an intersection between these cones? > > > > if centre is x1,y1,z1 and radius r set d^2=x1^2+y1^2+z1^2 > > Cone is intersection of spheres a^2 (d^2+r^2)=x^2+y^2+z^2 and > > a^2 r^2 = (a x1-x)^2+(a y1-y)^2+(a z1-z)^2 > > > > Eliminate a to get equation of cone: > > x^2+y^2+z^2 = (r^2+d^2) (x1 x+y1 y+z1 z)^2/d^4 > > (check this) > > > > Set x^2+y^2+z^2=1 and solve for points on two cones and this sphere. > > E.g. Solve linear equations (1= (r^2+d^2) (x1 x+y1 y+z1 z)^2/d^4 etc) > > for x and y then substitute into x^2+y^2+z^2=1 to get quadratic for z. > > > > Regards > > Thanks Bill, but I do not get your method. You said "Cone is intersection of spheres a^2 (d^2+r^2)=x^2+y^2+z^2 and > > a^2 r^2 = (a x1-x)^2+(a y1-y)^2+(a z1-z)^2". But intersection of two spheres is a circle. Could you please elaborate a little?
The free parameter a moves the circle thus forming the cone. Eliminating a then gives the equation of the cone. You can generate a simpler case with circle origin [0,0,a] and diameter a*r, giving z=a and (a r)^2=x^2+y^2 as the circle, eliminate a to get formula of cone.