|Developer(s)||Algoryx Simulation AB|
February 1, 2008 (Phun)|
August 31, 2009 (Algodoo)
October 17, 2011 (Algodoo for Education & Algodoo Physics 2.0.1)
April 17, 2013 (Algodoo)
2.1.2 / February 13, 2017
|Operating system||Microsoft Windows, Mac OS X, iOS|
Algodoo (//) is a physics-based 2D sandbox freeware from Algoryx Simulation AB (marketed as simply Algoryx) as the successor to the popular physics application Phun. Algodoo was released on September 1, 2009 and is presented as (a) a learning tool, (b) an open ended computer game, (c) an animation tool, and/or (d) an engineering tool. The software has functionality with (1) desktop and laptop computers, (2) touch screen tablets such as the Intel Classmate PC and the iPad, and (3) interactive white board systems such as SMART Boards. The physics engine in Algodoo utilizes the SPOOK linear constraint solver by Claude Lacoursière and a modified version of Smoothed-Particle Hydrodynamics (SPH) computational method.
In 2008, Emil Ernerfeldt created an interactive 2D physics simulator for his master's thesis project in computer science at Umeå University in Umeå, Sweden. This project was released for public and non-commercial use under the name "Phun" and gained considerable attention after a clip of Ernerfeldt using the software went viral on YouTube. In May 2008, Ernerfeldt brought the Phun project to Algoryx Simulation AB, a company founded in 2007 by Ernerfeldt's former supervisor at Umeå University, Kenneth Bodin. In 2009, Phun was rereleased under the name "Algodoo" (a combination of the words algorithm and do). The name change was motivated by the fact that the word "phun" is used by many sites deemed inappropriate for younger users and the fact that trademarking "phun" was nearly impossible. In October 2011, Algoryx released two new versions: Algodoo for Education and Algodoo 2.0.0. In February 2017, Algodoo was updated to version 2.1.2 to maintain functionality with iOS 10. Now, there is a new 3D system called Algoryx Momentum, also made by Emil Ernerfeldt.
Graphical user interface
Algodoo's graphical user interface (GUI) incorporates several moveable toolbars generated around the edges of the screen including the top menu toolbar, the browser toolbar, the (general) toolbar, the tool options toolbar, the simulation controls/environment toolbar, and the properties toolbar. Among other things, these toolbars provide the user with the options to change language; run tutorials; browse and save scenes; find and share scenes online; draw, edit, and interact with scenes; zoom in and out; play and pause the simulation; undo and redo; turn on/off gravity, air friction, and a background grid; and change the properties of the selected object such as the material type and the color.
Within the (general) toolbar users can use the following tools to create and move shapes:
- Plane tool (A) - used to create infinite planes.
- Brush tool (B) - used to draw shapes with brush strokes.
- Circle tool (C) - used to create circles.
- Drag tool (D) - used to move objects while the simulation is running.
- Tracer tool (E) - used to attach a tracer to an object (which draws the path of where that object has traveled).
- Fixate tool (F) - used to weld an object to the object behind it or the background.
- Gear tool (G) - used to create gears with axles.
- Axle tool (H) - used to connect an object with an underlying object or the background with an axle.
- Sketch tool (K) - (multi-tool) a single tool with the functions of many of the other tools.
- Laser pen tool (L) - used to create a laser.
- Move tool (M) - used to move objects and fluids while the simulation is paused.
- Chain tool (N) - used to create chains and ropes.
- Thruster tool (O) - used to attach a thruster to an object.
- Polygon tool (P) - used to draw free form shapes.
- Scale tool (R) - used to change the size of the object (along both axes equally with SHIFT, by integer values such as 2x or 3x with CTRL).
- Spring tool (S) - used to connect two objects with a spring (or to connect a single object and the background in a similar fashion).
- Knife tool (T) - used to cut polygons along a drawn line.
- Texture tool (U) - used to move, scale, and rotate the texture of an object (texture used here as in the mapping sense to refer to applying a picture to an object).
- Box tool (X) - used to create rectangles (or squares with SHIFT)
- Rotate tool - used to rotate objects and fluids.
- Erase tool - used to erase objects, or planes.
The drop down menu (accessed by double clicking or right clicking an object) includes several tools for liquifying, spogifying, cloning, and mirroring objects; for generating plots of physics-relevant quantities of the object (such as velocity vs. time or y-position vs. x-position); for selecting objects; for changing the appearance of objects (including the option to toggle the presence of velocity, momentum, and force vectors); for assigning text to an object; for changing the simulated material of the object (including such parameters as density, mass, friction, restitution, and attraction); for assigning and changing an object's velocity; for a list of the information about an object (including the area, mass, moment of inertia, position, velocity, angular velocity, momentum, angular momentum, energy (total), kinetic linear energy, kinetic angular energy, potential energy (gravity), potential energy (attraction), and potential energy (spring)); for assigning objects to various collision layers; for performing "geometry actions" (such as glueing objects to the background, adding center axles, adding center thrusters, attaching tracers, gearifying, or transforming the object into a circle); for editing objects via constructive solid geometry (CSG); for assigning keystrokes for controlling the object; and for opening a script menu for that selected object(s).
User-created simulations in Algodoo are referred to as "scenes." With the tools listed above, users can create complex scenes. The easily accessible tools in Algodoo allow new users to quickly create simple things like cars or basic machines, while still allowing more experienced users to make more complex constructions like intricate Rube Golderg machines.
Major changes in the GUI since Phun
Although Algodoo's GUI is essentially the same as in Phun, many significant changes were made in the available functionality. Two notable changes include a new optics modeling engine and a snap-to-grid feature allowing for higher precision scene creation. The inclusion of the optics modeling engine granted much more freedom in terms of using Algodoo's scripting language, Thyme, as users were thereafter able to initiate events by hitting an object with a stream of laser light. Other notable changes include the addition of a velocities menu, which allows users to set a geometry's velocity to a set value; incompressible water, which allows for much more realistic fluid simulation; the plotting menu; vector visualization; and many other new features, bug fixes, and improvements.
In 2011, a computer science masters student at Umeå University, Emanuel Dahlberg, completed his thesis on using the 2D mechanics in Algodoo to model electricity for the purposes of education. Several projects have since been published exploring how teachers can use Algodoo to help students learn about perpetual motion machines, the buoyant force, Archimedes' principle, Newton's cradles, rolling motion, oblique projectile motion, light refraction, and even Kepler's laws. Many of these studies highlight how Algodoo provides students with a unique environment to learn physics. One paper claims that allowing students to explore physics concepts in Algodoo motivates them to engage creatively in the classroom while "serving as a first step into the world of computing modeling in physics".
Algodoo is largely based upon a constructionist learning paradigm.
Originally, the upload system for Phun was hosted by a small website at the Academic Computer Club from Umeå University. The upload system was later moved to a Phunland site in an upload subdirectory and then moved again to the Phunbox file sharing directory created by Zuriki and Lukas Wolf (which contained 16,874 user uploads). After several more changes to the upload system, the directory was finally moved to the Algodoo website under the name Doobox. After a user suggested that Doobox might not be a good name for the file sharing system, the name was then changed to Algobox (as suggested by Chronos, from the Algodoo forums).
Now, users of Algodoo can share the scenes they create via Algobox. Algobox currently houses over 30,000 unique user-created scenes.
Due to the decrease in the number of recent updates and Algodoo becoming free, many users have assumed that Algodoo is discontinued. Algodoo has yet to release a statement to confirm or deny this, but many long-time users have abandoned the program, leaving Algobox to have a sharp decline in scene submissions. Now, most of the scenes still being submitted to Algobox are based around competitive "Marble Races" and "Algothons."
- Claude, Lacoursière, (2007-01-01). "Ghosts and machines : regularized variational methods for interactive simulations of multibodies with dry frictional contacts".
- "Frequently Asked Questions". Algodoo.
- ""Where does Algodoo come from?"". Frequently Asked Questions, Algodoo.
- Ernerfeldt, Emil (13 Feb 2008). Phun - 2D physics sandbox – via YouTube.
- Thoresson, Anders (September 1, 2009). "Youtube-succén förändrar skolan" [Youtube success changing schools]. NyTeknik (in Swedish).
- "Why did you change the name from Phun to Algodoo?". Frequently Asked Questions, Algodoo.
- "Algodoo's 'Learn it' page". Algodoo.
- Changelog on Algodoo.com
- Emanuel, Dahlberg, (2011-01-01). "Electricity in a 2D mechanicssimulator for education".
- "Using Phun to Study "Perpetual Motion" Machines". The Physics Teacher. 50 (5): 278–279. 2012-04-12. Bibcode:2012PhTea..50..278K. doi:10.1119/1.3703542. ISSN 0031-921X.
- Hirca, N.; Bayrak, N. (2013). "Sanal fizik laboratuarı ile üstün yeteneklilerin eğitimi: kaldırma kuvveti konusu" [Training of gifted students with virtual physics laboratory: buoyant force concept]. Journal for the Education of the Young Scientist and Giftedness (in Turkish). 1 (1): 16–20.
- Çelik, Harun; Sarı, Uğur; Harwanto, Untung Nugroho (2015). "Evaluating and Developing Physics Teaching Material with Algodoo in Virtual Environment: Archimedes' Principle". International Journal of Innovation in Science and Mathematics Education. 23 (4): 40–50.
- Černý, Michal (2013). "Počítačové simulace a modelování ve výuce fyziky v programu Algodoo" [Computer simulation and modeling in physics education program Algodoo]. Matematika Fyzika Informatika (in Czech). 22 (3): 216–223.
- Proceedings of the 12th Asia Pacific Physics Conference (APPC12). JPS Conference Proceedings. 1. Journal of the Physical Society of Japan. 2014-03-19. Bibcode:2014JPSCP...1a7037N. doi:10.7566/jpscp.1.017037.
- da Silva, Samir L.; da Salva, Rodrigo L.; Guaitolini Jr., Judismar T.; Gonçalves, Elias; Viana, Emilson R.; Wyatt, Joao B. L. (2014). "Animation with Algodoo: a smile tool for teaching and learning physics". Exatas Online. 5 (2): 28–39.
- Vliora, Eleni; Mouzakis, Charalambos; Kalogiannakis, Michail (2014). "Αξιοποίηση του Λογισμικού Algodoo στη Διδασκαλία των Φυσικών Επιστημών στην Πρωτοβάθμια Εκπαίδευση: Μελέτη Περίπτωσης για τη Διδασκαλία της Διάθλασης του Φωτός" [Utilisation of Software Algodoo in the Teaching of Science in Primary Education: A case study on Light Refraction]. Teaching of Natural Sciences: Research and Practice Double Issue (in Greek). 50-51: 7–21.
- Wenzel, Michael; Wilhelm, Thomas (2016-12-16). "Schülerlabor zu Anwendungen der Totalreflexion". PhyDid B - Didaktik der Physik - Beiträge zur DPG-Frühjahrstagung (in German). 0 (0).
- Gregorcic, Bor (2015). "Exploring Kepler's laws using an interactive whiteboard and Algodoo". Physics Education. 50: 511–515. Bibcode:2015PhyEd..50..511G. doi:10.1088/0031-9120/50/5/511.
- "Algodoo: A Tool for Encouraging Creativity in Physics Teaching and Learning". The Physics Teacher. 55 (1): 25–28. 2016-12-20. Bibcode:2017PhTea..55...25G. doi:10.1119/1.4972493. ISSN 0031-921X.
- Phunbox1's full scene directory
- Doobox discussion on the Algodoo forums