inclined plane

86 views
Skip to first unread message

Ricardo Dos Reis Macht

unread,
May 22, 2015, 7:07:48 AM5/22/15
to vpytho...@googlegroups.com
Hello everybody !

How to make a waiting rolling on an inclined plane ?

Bruce Sherwood

unread,
May 22, 2015, 10:51:08 AM5/22/15
to vpytho...@googlegroups.com
Do you mean, "How can one make a cylinder (or sphere or other rotatable object) roll down an inclined plane"? This is more a physics question than a programming question, but I'll offer some comments.

For concreteness, suppose the rolling object is a cylinder. As with other VPython example animations, you need to continually displace the center of the cylinder by an amount v*dt, where v is the velocity of the center of the cylinder. At the same time, you need to continually rotate the cylinder by an amount omega*dt, where omega is the angular speed (cyl.rotate(angle=omega*dt). It is useful to apply a texture, such as material=materials.rough, to be able to see the rotation, or add small curves or cylinders to the ends of the cylinder and move and rotate them together with the cylinder (or put all of these objects into a frame and move and rotate the frame).

Of course if the cylinder is rolling down the incline, you need to use standard physics principles to continually increase v and omega. Note too that if the cylinder rolls without slipping v = omega*r, where r is the radius of the cylinder.

Steve Spicklemire

unread,
May 22, 2015, 9:38:01 PM5/22/15
to vpytho...@googlegroups.com, ricardodo...@gmail.com
You may find this entertaining:


I should point out that I cooked this video up for a class that was *not* using the fantastic book (by Ruth Chabay and Bruce Sherwood) called Matter and Interactions, so some of the language describing potential energy etc. was a bit awkward. It did match, for better or worse, the language the students were used to however, so I guess it's OK. Anyway, the main point is that the incline plane motion should be sort of what you're trying to do I think.

If you run into trouble, let us know.
-steve

Aaron Titus

unread,
May 26, 2015, 9:56:20 AM5/26/15
to vpytho...@googlegroups.com, ricardodo...@gmail.com
Related to this topic is a VPython-Arduino project by one of my students, Laura Lee, a few years ago. She attached an Arduino to a small, level breadboard and wired an accelerometer to the Arduino. VPython communicated with Arduino to get the output of the accelerometer. VPython converted this to tilt angle (pitch and roll, in aeronautic terms) of the breadboard. Then in VPython, a ball rolled on a table that could be tilted (in 2-D) by tilting the breadboard/Arduino.

The project is posted at:


Her poster presented at a NCS-AAPT meeting is posted at:


It has photos of the device.

I have to admit that the physics in the VPython program is not quite right. While tilting the board, the VPython code basically “glues” the ball to the board, tilts the board along two axes (pitch and roll), and moves the ball according to the new angle for a small time interval dt. For small angular accelerations of the board, it seems to work well. However, it’s impossible to “throw” the ball by quickly tilting the board, which you can do in real life.

I’ve wanted to analyze the program in greater detail and get the program correct, in case anyone is interested in a collaboration. I just haven’t devoted time to it since my student finished the project. 

Note that Bruce Sherwood provided valuable advice in getting the rotations correct in the VPython program. In the poster, my student acknowledged his help.

AT

--
You received this message because you are subscribed to the Google Groups "VPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vpython-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages