How Do You Calculate Arc Points for Collision Detection in 3D Space?

jschieck
Messages
2
Reaction score
0
i'm having trouble creating a arc for check for collision similar to a grenade launcher type weapon and am not very good at math :/

i have the player position and the target position, now i just need to check every so often (let's say .1 units) along the outside of my ellipse to see if my raycast has struck geometry.

so i have the 2 vector3's of position, and want the ellipse to scale on the Y axis based on the distance between them. some of it i can figure out but just don't know math well enough.

can someone cast some light on the formula i might use? basically just looking for an array of all the points on an ellipse every .1 units
 
Physics news on Phys.org
Hi. Is it a problem of faking ballistic trajectories?

http://img193.imageshack.us/img193/8537/ballisticgraph2.png

\frac{x}{e}-d^x + 1

e is the ratio:

e = \frac{\sin(\alpha)}{\sin(45^{\circ})}

where α is the launch angle.

d scales the trajectory.

If you want the trajectory to be less sensitive to the value of d then use this:

\frac{x}{e}-d^{\frac{x}{10}} + 1

The other function is more complex but I think it looks better for it:

\frac{x}{e}-\sqrt{\frac{x}{2}^x}+ 1

http://img205.imageshack.us/img205/5281/ballisticgraph3.png

I think it looks like a missile trajectory, no?

You need to solve

\frac{x}{e}-d^{\frac{x}{10}} + 1 = 0

or

\frac{x}{e}-\sqrt{\frac{x}{2}^x} + 1 = 0

to find out where the projectile lands in either ballistic graph. Then you simply interpolate in the graph between 0 and where the projectile lands according to the distance to target you've have elapsed so far between the player and target positions.

However, there still remains the problem of varying the projectile's velocity.

Maybe a calculus guru can pitch in.
 
Last edited by a moderator:
Hello! There is a simple line in the textbook. If ##S## is a manifold, an injectively immersed submanifold ##M## of ##S## is embedded if and only if ##M## is locally closed in ##S##. Recall the definition. M is locally closed if for each point ##x\in M## there open ##U\subset S## such that ##M\cap U## is closed in ##U##. Embedding to injective immesion is simple. The opposite direction is hard. Suppose I have ##N## as source manifold and ##f:N\rightarrow S## is the injective...
Back
Top