MyPhysicsLab – Roller Coaster with Flight

This simulation shows a ball on a roller coaster where the ball can jump off the track. When the ball is on the track, it is colored blue; when in free flight it is colored red.
The spring is activated when the spring stiffness is non-zero, which you can change by clicking show controls. Clicking the spring on or spring off buttons also changes the spring stiffness. You can change parameters such as gravity or damping. Drag the ball with your mouse to change the starting position. 


คลิกเข้าไปทดลอง  คลิกค่ะ

ทดลองไม่ได้ให้ Download  มา setup ที่เครื่องของท่านก่อนครับ Download จากฟิสิกส์ราชมงคล

When Should the Ball Jump the Track?

uniform circular motion
uniform circular motion
This simulation is based on the Roller Coaster with Spring and uses all of the physics described there. The main difference is that we check for when the ball should jump off the track into free flight. The key to when this happens lies in the formula for acceleration with uniform circular motion, which is
   a = v2/r (1)
This is the acceleration, a, needed to keep a projectile moving in a circle of radius r with velocity v. The direction of the acceleration is towards the center of the circle. So, moving faster in a given circle means you need more acceleration to stay on the same circle. Conversely, moving in a larger circle means you need less acceleration.

Suppose the ball is moving with velocity v over a hill shaped like a circle with radius r. The minimum acceleration (towards the center of the circle) needed to keep the ball on the hill is v2/r. If at any moment the acceleration (towards the center) is less than this, then the ball will fly off the hill.

angle of tangent
angle of tangent
To apply this to a general curve other than a circle, we need the notion of radius of curvature at a point p on the curve. Let φ = the angle of the tangent to the curve at p. We can express φ as φ = arctan(dydx) where dydx is the slope of the curve at p. We define the curvature κ as the rate of change of the tangent angle φ as we move along the curve.
   κ = ds (2)
where s = arc length along the curve. The radius of curvature r is the reciprocal of the curvature: r = 1κ
We can estimate this using the table representing the curve. Here's how: for a given point p we estimate the slope a short distance δ on either side of p.   Equation (2) is then approximated by
κ =   arctan(slope at p+δ) − arctan(slope at p−δ)
2 δ
The radius of curvature r is then the reciprocal of this. And this radius of curvature is what we need to apply equation (1). We know that the ball will stay on the curve as long as the acceleration normal to the curve is greater than v2/r.

In the Simple Roller Coaster we developed an expression for the gravity force on the ball. In the Roller Coaster with Spring we developed an expression for the spring force on the ball. In those cases, we used the component of the force that was parallel to the track. Here, we want to know the component of the force that is perpendicular (normal) to the track. To determine the acceleration normal (perpendicular) to the curve we use the same calculations except that now we use sin θ instead of cos θ. Fgravity = m g sin θ
Fspring = c sin θ (√(sx2 + sy2) − R)
(Please see those pages for the definition of these symbols.) Since we already know cos θ from the Roller Coaster with Spring we can easily find sin θ from sin θ = √(1 − cos2θ) Now we can find the acceleration normal to the curve from Fgravity + Fspring = m a We then compare the acceleration to that given by equation (1) to determine whether the ball should leave the track. To stay on the track going over a hill, we must have a > v2/r. On the other hand, to stay on the track when going through a valley we need a < v2/r.  (I am glossing over some details of how to determine the correct sign of the acceleration).

Switching to Free Flight

When the ball is on the track, the simulation is controlled by the differential equations given in the Roller Coaster with Spring. In this case there are two variables:
  • p = position on the track (measured by path length along the track)
  • v = velocity
When we detect that the ball should leave the track, we switch the controlling differential equations to those of "free flight". There are then four variables:
  • ux = horizontal position
  • uy = vertical position
  • vx = horizontal velocity
  • vy = vertical velocity
The differential equations for free flight are the same as those given for the 2-Dimensional Spring

Adjusting Velocity During Collision

While the ball is in free flight we need to handle collisions with the track. After a collision is detected (because the ball is below the track) we back up and use a binary search algorithm to get the simulation very close to the time of collision. The Colliding Blocks simulation has some more about collision handling in general.

reflected velocity vector
reflected velocity vector
Once the simulation has been run to very close to the time of collision, we need to adjust the velocity of the ball so that it bounces off the track. Define the following vectors (vectors are indicated by bold type):
  • A = (vx, vy) is the velocity vector of the ball
  • B = (1, k) is the vector tangent to the curve where slope = k
  • C = the component of A in the B direction
  • N = the component of A normal to B
  • R = the reflected velocity vector

Some elementary vector algebra gives us
C =   A B   B
N = AC
  R = CN (4)
The elasticity parameter determines how bouncy the ball is. Let e = elasticity. A perfectly elastic ball will have elasticity e = 1.0 and will bounce forever. An elasticity of e = 0.2 would indicate a rather "dead" ball that doesn't bounce very much. To model this behavior we multiply N in equation (4) by the elasticity to get R = Ce N This represents the new velocity that we assign to the ball at the time of collision.

Eventually, the ball will make smaller and smaller bounces. In real life, there comes a time when the ball is back in continuous contact with the ground. To determine whether the ball should "jump back onto the track" and be controlled by the "on the track" set of differential equations, we compare the magnitude of the normal vector e N to the magnitude of the total velocity vector. The test involves the stickiness parameter and looks like this:
if   (  |e N|   < stickiness) then jump back onto track
If the normal velocity e N is small enough we decide the ball should be back on the track. The stickiness is a parameter on the order of 0.1 that can be changed in the simulation controls.

Multiple Collisions

multiple collisions over one time step
multiple collisions over one time step
The collision occurred as we were trying to advance the simulation a small time step (perhaps 110 of a second) from a certain time t0 to the new current time t1. Now that the collision has been handled, we attempt to run the simulation up to the current time t1. If there are no new collisions detected, then this simulation step is done. However if a new collision is detected, we begin the entire collision handling process over again. We will eventually reach time t1 even if we have to handle multiple collisions along the way.

The figure at left shows a typical situation where multiple collisions occur over one simulation time period because the ball goes into a tight corner at high speed.

Limitations of this Simulation

Unlike the other roller coaster simulations, this one does not have the option to use various tracks. The reason is that having a track that doesn't loop simplified the code considerably. For example, to determine whether there is a collision, we only test whether the ball is below the track. With a looped track there would be more complicated criteria for deciding if the ball has collided with the track, such as checking if it is inside or outside the track. So if you are looking for a programming project, grab the source code and go to work!


MyPhysicsLab – Physics Simulation with Java

     Click on one of the physics simulations below... you'll see them animating in real time, and be able to interact with them by dragging objects or changing parameters like gravity. Get Java software if you don't already have it.
single spring
single spring
double spring
double spring
chaotic pendulum
chaotic pendulum
double pendulum
double pendulum
2D spring
2D spring
double 2D spring
double 2D spring
colliding blocks
colliding blocks
cart with pendulum
cart with pendulum
dangling stick
dangling stick
rigid body collisions
rigid body
sumo wrestling simulation
sumo wrestling
roller coaster
roller coaster

roller coaster with spring
roller coaster
with spring
roller coaster with 2 balls
roller coaster
with 2 balls
roller coaster with flight
roller coaster
with flight
molecule 2
molecule 2
molecule 3
molecule 3
molecule 4
molecule 4
molecule 5
molecule 5
molecule 6
molecule 6


ศัพท์วิทยาศาสตร์ ฉบับราชบัณฑิตสถาน

A  B  D  F  G  H  I  J  K  L  M  N  O  Q  R  S  T  U  V  W  X  Y 

                        ถ                                       อ   

นักวิทยาศาสตร    หน่วย      ศัพท์แผ่นดินไหวตัวอักษรจาก A-M   จาก N-Z

  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


หมวด :

| | | | | | | | | | | | | | | | | | | | | | | |

    ศัพท์เคมี    ศัพท์คณิตศาสตร์   ศัพท์ฟิสิกส์   

       บทความวิทยาศาสตร์      ศัพท์ชีววิทยา      สื่อการสอนฟิสิกส์      ศัพท์วิทยาศาสตร์    

พจนานุกรมเสียง 1   แมว    วัว 1    วัว 2    วัว 3    เหมียว   แกะ     พจนานุกรมภาพการ์ตูน

พจนานุกรมภาพเคลื่อนไหว   ดนตรี  Bullets แบบ JEWEL  พจนานุกรมภาพต่างๆ  ภาพเคลื่อนไหวของสัตว์ต่างๆ  โลกและอวกาศ




ฟิสิกส์ 1(ภาคกลศาสตร์) 

 ฟิสิกส์ 1 (ความร้อน)

ฟิสิกส์ 2 



เอกสารคำสอนฟิสิกส์ 1

ฟิสิกส์  2 (บรรยาย)

แก้ปัญหาฟิสิกส์ด้วยภาษา c  







เอกสารการสอน PDF




ตารางธาตุ(ไทย1)   2  (Eng)











 อะไรเอ่ย ?
















  การเรียนการสอนฟิสิกส์ 1  ผ่านทางอินเตอร์เน็ต

1. การวัด

2. เวกเตอร์

3.  การเคลื่อนที่แบบหนึ่งมิติ

4.  การเคลื่อนที่บนระนาบ

5.  กฎการเคลื่อนที่ของนิวตัน

6. การประยุกต์กฎการเคลื่อนที่ของนิวตัน

7.  งานและพลังงาน 

8.  การดลและโมเมนตัม

9.  การหมุน  

10.  สมดุลของวัตถุแข็งเกร็ง

11. การเคลื่อนที่แบบคาบ

12. ความยืดหยุ่น

13. กลศาสตร์ของไหล  

14. ปริมาณความร้อน และ กลไกการถ่ายโอนความร้อน

15. กฎข้อที่หนึ่งและสองของเทอร์โมไดนามิก 

16. คุณสมบัติเชิงโมเลกุลของสสาร

17.  คลื่น

18.การสั่น และคลื่นเสียง

   การเรียนการสอนฟิสิกส์ 2  ผ่านทางอินเตอร์เน็ต  

1. ไฟฟ้าสถิต

2.  สนามไฟฟ้า

3. ความกว้างของสายฟ้า 

4.  ตัวเก็บประจุและการต่อตัวต้านทาน 

5. ศักย์ไฟฟ้า

6. กระแสไฟฟ้า 

7. สนามแม่เหล็ก


9. ไฟฟ้ากระแสสลับ 

10. ทรานซิสเตอร์ 

11. สนามแม่เหล็กไฟฟ้าและเสาอากาศ 

12. แสงและการมองเห็น

13. ทฤษฎีสัมพัทธภาพ

14. กลศาสตร์ควอนตัม

15. โครงสร้างของอะตอม

16. นิวเคลียร์ 

   การเรียนการสอนฟิสิกส์ทั่วไป  ผ่านทางอินเตอร์เน็ต

1. จลศาสตร์ ( kinematic)

   2. จลพลศาสตร์ (kinetics) 

3. งานและโมเมนตัม

4. ซิมเปิลฮาร์โมนิก คลื่น และเสียง

5.  ของไหลกับความร้อน


7. แม่เหล็กไฟฟ้า 

8.    คลื่นแม่เหล็กไฟฟ้ากับแสง

9.  ทฤษฎีสัมพัทธภาพ อะตอม และนิวเคลียร์