Elements: Difference between revisions
Jump to navigation
Jump to search
(documentation link) |
(Undo revision 235268 by 123.53.123.179 (Talk)) |
||
(12 intermediate revisions by 7 users not shown) | |||
Line 3: | Line 3: | ||
== About == |
== About == |
||
The ''Elements'' project is all about '''free and easy 2D physics for python''' |
The ''Elements'' project is all about '''free and easy 2D physics for python''' and the XO laptop. It is used as the backend for the XO physics playground activity [[Physics]]. |
||
# An '''easy-to-use''', fast 2D physics API |
|||
#* for the (faster) [http://www.box2d.org/ box2d] physics engine (work in progress) |
|||
#* and [[Elements/Chipmunk|previously]] also for the [http://wiki.slembcke.net/main/published/Chipmunk Chipmunk] 2d physics engine (with [http://code.google.com/p/pymunk/ pymunk] ctypes bindings) |
|||
#* See: [[Physic Engines/Speed Tests]] |
|||
# Examples and documentation on how to use the API |
|||
# Providing the examples as bundles, as they are already interesting and fun |
|||
# Speed optimization (also with an eye on the XO laptop :) |
|||
# Development of ideas for education and playful-learning |
|||
: '''Watch [http://www.youtube.com/watch?v=NZNTgglPbUA this] and [http://www.youtube.com/watch?v=QsTqspnvAaI |
: '''Watch [http://www.youtube.com/watch?v=NZNTgglPbUA this] and [http://www.youtube.com/watch?v=QsTqspnvAaI that] video to see where we are heading |
||
: IRC: '''#elements''' on irc.freenode.net |
: IRC: '''#elements''' on irc.freenode.net |
||
:[http://trac2.assembla.com/elements/browser Browse Source] | [http://www.assembla.com/spaces/elements Assembla Space] | [http://www.linuxuser.at/elements/elements.xo Elements.xo] (old, 195 kb) | [http://lux.vu/olpc/physics-sdl.xo box2d xo demo] | [http://linuxuser.at/elements/doc/index.html Documentation] |
|||
svn co http://svn2.assembla.com/svn/elements |
|||
== More Information == |
|||
* Source-Code is GPLv3 licensed - so do with it what you want! Even eat it :) |
|||
* A lively and open development and support team is having fun improving and helping out :) |
|||
* The Box2D compatible version of ''Elements'' is being worked on, you can find the latest status in the git repository. We are still implementing Box2D's features and writing the documentation. In the meantime the Chipmunk engine is almost fully supported by the [[Elements/Chipmunk|previous version]] of Elements. |
|||
== To Do == |
|||
* Joints |
|||
* [[Elements/Concave Polygons|Concave Polygons]] |
|||
* For the list of open tasks, please have a look at our tickets page: http://www.assembla.com/spaces/elements/tickets |
|||
== Feature Request == |
|||
What features would you like to have implemented? :) |
|||
* ''add here'' |
|||
== Team == |
|||
* [[User:Crazy-chris|Chris Hager]] (Coordination, API) |
|||
* Joshua Minor (API, Examples) |
|||
* [[User:Jaume|Jaume Nualart]] (Support, testing) |
|||
* [[User:Ixo|iXo (Iain Davidson) ]] (Support) |
|||
* Ken (SWIG interface, API) |
|||
* Victor Blomqvist (Author of pymunk) |
|||
''The team is open for anyone to join :)'' |
|||
: <big>Homepage: http://elements.linuxuser.at</big> |
|||
== Screenshots == |
== Screenshots == |
||
Line 92: | Line 55: | ||
clock.tick(50) |
clock.tick(50) |
||
[[category:software]] |
[[category:software ideas]] |
||
[[category:physics]] |
[[category:physics]] |
||
[[category:science]] |
[[category:science]] |
Latest revision as of 23:57, 18 May 2010
About
The Elements project is all about free and easy 2D physics for python and the XO laptop. It is used as the backend for the XO physics playground activity Physics.
- IRC: #elements on irc.freenode.net
- Homepage: http://elements.linuxuser.at
Screenshots
(from Elements/Screenshots)
Pygame Example
The typical usage in pygame can look like this:
import pygame from pygame.locals import * from pygame.color import * from elements import * pygame.init() screen = pygame.display.set_mode((800, 800)) clock = pygame.time.Clock() world = elements() world.add_wall((100, 200), (300, 200)) # Main Game Loop: while running: # Event Handling # Maybe calling world.add_ball(event.pos) or world.add_square(event.pos) # ... screen.fill((255,255,255)) # Update & Draw World world.update() world.draw(screen) # Flip Display pygame.display.flip() # Try to stay at 50 FPS clock.tick(50)