Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
911 views
in Technique[技术] by (71.8m points)

math - How to find trajectory path if the distance traveled, starting elevation, ending elevation and time in the air are known

I'm trying to find the trajectory an object would take (assuming air drag is negligible and trajectory angle is always between 0 and 90), including peak height. Here's what I know:

  • takeoff point latitude, longitude, elevation
  • landing poing latitude, longitude, elevation
  • distance traveled
  • amount of time in the air

For me the problem could be reduced to 2d space, so if an object travels a horizontal distance of 8 meters starting at an elevation of 0 and ending at a relative elevation of -5 meters, and travels for 2 seconds. What was the peak height, and at what point in time did it reach that peak hight.

Also, trying to write this equation in to php, C, or objective C. Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I assume cannon ball like trajectory

  • object has some start velocity
  • not slowing by air (specified by question)
  • only gravity force apply

So

  1. solve the equations to find missing data

    cannon ball

    g=9.81; // [m/s^2]
    t=!; // [s] time in air
    p0(x0,y0)=!; // [m] start point
    p1(x1,y1)=!; // [m] end point
    v0(vx0,vy0)=?; // [m/s] start velocity vector
    
    // Y axis free fall with initial velocity
    y1=y0+vy0*t-0.5*g*t*t
    vy0=(y1-y0+0.5*g*t*t)/t
    vy0=(y1-y0)/t+0.5*g*t
    
    // X axis constant speed
    vx0=(x1-x0)/t
    
  2. trajectory path point

    x=x0+vx0*t;
    y=y0+vy0*t-0.5*g*t*t;
    

    where t = <0.0,time_in_air> so for plotting do some for loop through t

  3. peak point:

    vy(t)=vy0-g*t;
    // for peak the y velocity is zero so
    0.0=vy0-g*t;
    t=vy0/g;
    

    where t is the time when object reach peak point. If you need coordinates then compute them like in bullet #2


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...