Walter Wayne
Wayne's Words
- Joined
- Jul 26, 2002
- Messages
- 2,502
I cranked out an ugly matlab program that does a piece-wise simulation of a coin falling. Using:
earth radius = 40 000 km/2pi (spherical planet)
height = 381 m
latitude = 40.5 degrees
time step = 10 microseconds
I got that the coin landed 6.18" from the base of the tower, and took 15.3 milliseconds longer than a "straight" drop. I have found an error in the program, so ignore the two numbers given above.
I'll post my basic algorithm below so someone else can try if they want. I may have screwed up with the switching between spherical and cartesian co-ordinates.
Walt
Basic Piece-Wise Algorithm
while height is greater than one earth radius
- time=time + time_step
- end_velocity=begin_velocity - g*time_step*unit_radius_vector
- position=position + begin_velcocity*time_step + (end_velocity-begin_velocity)/2*time_step<sup>2</sup>
- begin_velocity=end_velocity
The third line is in error. Since (end_velocity-begin_velocity) = acceleration*time, and not acceleration, my thirld line should have been:
position=position + begin_velcocity*time_step + (end_velocity-begin_velocity)/2*time_step
Edited many, many times.
earth radius = 40 000 km/2pi (spherical planet)
height = 381 m
latitude = 40.5 degrees
time step = 10 microseconds
I got that the coin landed 6.18" from the base of the tower, and took 15.3 milliseconds longer than a "straight" drop. I have found an error in the program, so ignore the two numbers given above.
I'll post my basic algorithm below so someone else can try if they want. I may have screwed up with the switching between spherical and cartesian co-ordinates.
Walt
Basic Piece-Wise Algorithm
while height is greater than one earth radius
- time=time + time_step
- end_velocity=begin_velocity - g*time_step*unit_radius_vector
- position=position + begin_velcocity*time_step + (end_velocity-begin_velocity)/2*time_step<sup>2</sup>
- begin_velocity=end_velocity
The third line is in error. Since (end_velocity-begin_velocity) = acceleration*time, and not acceleration, my thirld line should have been:
position=position + begin_velcocity*time_step + (end_velocity-begin_velocity)/2*time_step
Edited many, many times.