Find the point on a cone that is farthest in a given direction

  • Context: Graduate 
  • Thread starter Thread starter caibbor
  • Start date Start date
  • Tags Tags
    Cone Direction Point
Click For Summary

Discussion Overview

The discussion revolves around finding the point on a cone that is farthest in a specified direction. Participants explore mathematical approaches and geometric representations related to this problem, which involves concepts from differential geometry and collision detection algorithms.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant describes the challenge of finding the farthest point on a cone, comparing it to simpler shapes like spheres and capsules, and mentions the parameters defining the cone.
  • Another participant suggests modifying the capsule approach by treating one end as a point and testing if the point is beyond the cone's end, indicating a potential simplification.
  • A request for clarification is made regarding the meaning of "farthest in a given direction," asking for a more detailed description and possibly a visual representation.
  • A participant provides a specific example involving a vector and a cone's parameters, clarifying that the goal is to find a point on the cone's surface that is farthest from a ray pointing in the opposite direction of the given vector.
  • Another participant proposes changing the coordinate system to simplify the problem, suggesting the use of Lagrange multipliers to maximize the distance function under certain constraints.

Areas of Agreement / Disagreement

Participants express varying approaches to the problem, with no consensus on a single method or solution. Multiple competing views remain regarding the best way to find the farthest point on the cone.

Contextual Notes

Participants mention different mathematical techniques and coordinate transformations, but the discussion does not resolve the specific mathematical steps or assumptions involved in the proposed methods.

caibbor
Messages
19
Reaction score
0
I'm not sure what "differential" geometry is, so hopefully this is the right section.

I need to find the point on a cone that is farthest in a given direction.

This can be done easily if the shape were a sphere which is represented as a point and a radius:
farthest_point = sphere_origin + normalized_dir * sphere_radius;

A capsule is also simple, which is represented as two spheres which expresses the bounds. You just do the same sphere equation above for both spheres, dot the results with the direction, and take which ever value gave the largest absolute value. (in the event that a line is perpendicular with the capsule's broad side, the point will be around the spheres but that's okay since every other point is at the same distance. Gotta pick one, and that's as good as any.)

Now what I'm faced with is now is a cone, which can be represented as a point, a direction, a length, and a radius. Not sure what to do with this one. I can get the radius of the cone at an arbitrary point up the length of the cone, but I don't know if it helps:
radius_at_dist = ( dist / length ) * radius

edit: not that it should help find a solution, but this is for the Support() function of a GJK collision detection algorithm.
 
Physics news on Phys.org
I think this'll work, but there has to be a simpler formula:

Do the same test as the capsule except make one end of the capsule a sphere with zero radius (a point). Then you have to test if the point is beyond the end of the cone, which would mean that it's somewhere on the spherical end of the capsule. move that back to where the cone's circular end would be, and there you have it.

but... still, I feel like there's got to be a simpler solution

edit: It does work, but still looking for a simpler approach.
 
Last edited:
I'm having a hard time picturing what you are trying to do. Could you describe a little better what you mean by "farthest in a given direction"? Farthest from what? Perhaps you can provide a picture of what you mean?
 
given a vector, probably a unit vector.

if, for example, I throw the vector (0,0,1) at you, and you have a cone with the point at (1,2,3) which extends 7.4 units in the direction (0.58,0.58,0.58) with the fat end having a radius of 12.7, I want you to give me a point that exists on the surface of that cone which is no closer than any other to the end of a ray pointing in the opposite direction of my vector, (0,0,-1)

it's just the farthest point on the cone on a given direction (supplied by a unit vector).

I had hoped the sphere example in my first post whould help male things clear.

edit: this is an implementation of at least one working method that I described for a cone: http://pastebin.com/6JxJj2q8
 
So, let me see if I understand you correctly. Given a cone of arbitrary position and orientation, you want to know the point on the cone farthest from some fixed point?I would first change my coordinate system so that the base of my cone is in the x-y plane, and the center of the base is at the origin. It should be relatively easy to write down the equation of the surface of the cone in this coordinate system.

The distance from any point p to a point on the cone should be a simple function with several constraints. Given the constraints, maximize the function by using, e.g. Lagrange multipliers.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
18
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 26 ·
Replies
26
Views
5K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 9 ·
Replies
9
Views
8K