Physics (activity)
|
Physics
Physics is a physical world simulator and playground -- you can add squares, circles, triangles, or draw your own shapes, and see them come to life with forces (think gravity, Newton!), friction (scrrrrape), and inertia (ahh, slow down!).
We also plan to add forces such as: magnetism, springs, and motors
Shape Drawing
Get Physics!
Click this link in browse: Physics-0.2.xo OR (for the newest version...) Open up the Terminal activity and follow these steps:
sudo yum install git cd ~/Activities/ git clone git://dev.laptop.org/activities/physics mv physics Physics.activity # Then press ctrl + alt + erase to restart sugar. # The newest version of physics is installed! (but may not be stable!)
Old versions
Usage
Drawing objects
- Boxes
- Non-rotated box of any dimension
- Use: click (top-left corner) drag + release (bottom left corner) -- like dragging a selection box in a photo editor
- Circles
- click (center) drag + release (outer edge)
- Triangles
- Equilateral triangle of any size and rotation
- Use: click (center of base) drag + release (tip)
- Polygons
- Click for each point of the polygon
- Use: Right click to end OR left click in the circle around the original point
- Magic Pen
- Use: Click and hold to draw any shape you'd like!
- Boxes
Using tools
- Grab - Drag existing objects around with the mouse
- Connect
- Click on any object, drag to another object + release to create a distance joint
- Click on any object to add a revolute joint (like a push pin!)
- Destroy - Click on an object to destroy it, or draw a line of destruction--destroying everything in its path!
Class Challenges
Egyptian Pyramid
How did the Egyptians build the pyramids using just human effort? They didn't have cranes, trucks or even cars. Make a block with a high mass and use a weak grab tool. How can you get it across the screen?
Vertical Tennis
Can you use motors to make a device that hits a ball up and down?
Plan to Add / Requests
These are the features we would like to add, and if you think you can help us out please do! (currently being placed into Trac)
- There are some tools that need to be added
- Need to implement gears, prismatic and revolute joints in elements (already implemented in Box2D)
- Need a way to change the properties of an object (density, rotation, strength (for breaking), bounciness, friction, color
- More physics!
- Magnetism
- Springs -- via prismatic joints?
- Breakable bodies
- Note: We are using a rigid body simulator (box2D). All of the above need to be implemented using forces on rigid bodies. Breakable bodies can be achieved a few different ways:
- When a body 'breaks' it is removed from the physics engine and some kind of graphical animation indicates that it has been broken and dissipated
- When a body 'breaks' it is removed from the physics engine and is replaced by some new (smaller, fragment-like) rigid bodies (kind of like an explosion)
- When a body 'breaks' it is removed from the physics engine, it's shape is calculated and then split into smaller polygons which are then added as rigid bodies
- Save / Exporting scene
- Standard format interoperating with a browser-based playground
- Objectives and constraints
- Incredible machine style objectives (get the ball into the basket, knock the triangle off the screen, etc)
- You only have 4 boxes, 1 meter of magic pen, and one triangle, etc.