Algodoo (/ˌælɡəˈd/) is a physics-based 2D freeware sandbox from Algoryx Simulation AB (known simply as Algoryx) as the successor to the popular physics application Phun. It was released on September 1, 2009 and is presented as a learning tool, an open ended computer game, an animation tool, and an engineering tool.

Algodoo
Original author(s)Emil Ernerfeldt
Developer(s)Algoryx Simulation AB
Initial releaseFebruary 1, 2008 (2008-02-01) (Phun 1.0)
August 31, 2009 (2009-08-31) (Algodoo 1.4)
2011-10-17 (2011-10-17) (Algodoo for Education and Algodoo Physics 2.0.0)
Stable release
2.1.0 (Microsoft Windows)

2.1.3 (macOS) 2.1.2 (iPadOS)

/ April 9, 2013; 11 years ago (2013-04-09)
Preview release
2.2.0b4 (Microsoft Windows)

2.2.0b3 (MacOS)

/ 20 September 2024; 53 days ago (2024-09-20)
Written inC++
Operating systemMicrosoft Windows, macOS, iPadOS
Available in11 languages
List of languages
English, German, Spanish, French, Croatian, Polish, Swedish, Japanese, Chinese (Simplified), Chinese (Traditional), Korean
TypePhysics Sandbox
Websitewww.algodoo.com

The software is functional with desktop and laptop computers, touch screen tablets, and interactive white board systems such as SMART Boards. The physics engine in Algodoo utilizes the SPOOK[1] linear constraint solver by Claude Lacoursière and a modified version of Smoothed-Particle Hydrodynamics (SPH) computational method.[2] On the App Store, it costs £4.99 and is only available for iPads.

This program has been used by many people including educators, students, and children.[3] Algodoo has remained as a popular choice from websites like List Of Freeware[4] and Download Cloud[5] for a physics sandbox program due to its complexity, simple GUI and free price.

History

edit

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.[6] 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.[7][8]

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.[6] 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.[9]

In October 2011, Algoryx released two new versions: Algodoo for Education and Algodoo 2.0.0.[citation needed] In February 2017, Algodoo for iPad was updated to version 2.1.2 to maintain functionality with iOS 10. In September 2024, Algoryx released version 2.2.0 (b4), the final beta for version 2.2.0, which will add 64-bit support on Windows, Apple Silicon support, font and scripting fixes, and a few minor changes.[10]

Graphical user interface

edit

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.[11] 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. Can also be drawn with the sketch tool drawing an upside-down T shape.
  • Brush tool (B) - used to draw shapes with brush strokes.
  • Circle tool (C) - used to create circles. Can also be drawn using the sketch tool
  • 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).Can also be drawn with the sketch tool drawing a filled-in circle.
  • Fixate tool (F) - used to weld an object to the object behind it or the background. Can also be drawn with the sketch tool drawing a tee-pee shape (like an hourglass but without the top of the hourglass)
  • 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. Can also be drawn with the sketch tool drawing a circle.
  • Sketch tool (K) - (multi-tool) a single tool with the functions of many of the other tools. Drawing a line going down that touches noting will play and pause. Going right or left will undo/redo.
  • 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. Can also be drawn with the sketch tool drawing a line that goes to an object.
  • 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). Can also be drawn with the sketch tool drawing a line with a loop
  • Knife tool (T) - used to cut polygons along a drawn line. Can also be drawn with the sketch tool drawing a line that passes through an object
  • 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). Can also be drawn with the sketch tool drawing a rectangle or square.
  • 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, turning into sponges, 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 gluing objects to the background, adding center axles, adding center thrusters, attaching tracers, attaching gears, 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 Goldberg machines.

Major changes in the GUI since Phun

edit

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.[12]

Educational research

edit

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.[13] Several projects have since been published exploring how teachers can use Algodoo to help students learn about perpetual motion machines,[14] the buoyant force,[15] Archimedes' principle,[16] Newton's cradles,[17] rolling motion,[18] oblique projectile motion,[19] light refraction,[20][21] and even Kepler's laws.[22] 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".[23] Algodoo is largely based upon a constructionist learning paradigm.

Outside of physics education, Algodoo has been used as a stepping stone for testing machines in a simulation before building them in the real world due to its simple user interface and quick learning curve compared to other physics simulators. According to Hackaday, "[Sarah] turned to Algodoo, a physics simulation where anyone can put shafts on rotating hubs, spin everything up, and see what happens."[24]

File sharing

edit

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[25]). 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 (it was also the name of a software company[26]), the name was then changed to Algobox, which was suggested by Chronos.[27]

Users of Algodoo can share the scenes they create via Algobox; the platform currently houses over 200,000 user-created scenes and is continuing to rise. Due to the decrease in the number of recent updates and Algodoo becoming free in 2013, many users have assumed that Algodoo is discontinued. After this, many long-time users abandoned the program, causing a sharp decline in scene submissions. However, in April 2024, Algoryx has announced the beta for version 2.2.0.[10]

See also

edit

References

edit
  1. ^ Claude, Lacoursière (2007-01-01). "Ghosts and machines : regularized variational methods for interactive simulations of multibodies with dry frictional contacts". {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ "Frequently Asked Questions". Algodoo.
  3. ^ "User Stories « Algodoo". www.algodoo.com. Retrieved 2020-01-01.
  4. ^ "10 Best Free Physics Simulation Software for Windows". Retrieved 2020-02-26.
  5. ^ "6+ Best Physics Simulation Software Download Reviews". www.downloadcloud.com. Retrieved 2020-02-26.
  6. ^ a b "Where does Algodoo come from?". Frequently Asked Questions, Algodoo.
  7. ^ Ernerfeldt, Emil (13 Feb 2008). Phun - 2D physics sandbox. Archived from the original on 2021-12-21 – via YouTube.
  8. ^ Thoresson, Anders (September 1, 2009). "Youtube-succén förändrar skolan" [Youtube success changing schools]. NyTeknik (in Swedish).
  9. ^ "Why did you change the name from Phun to Algodoo?". Frequently Asked Questions, Algodoo.
  10. ^ a b Dahlberg, Emanuel (2024-09-23). "2.2.0 beta". Algodoo. Retrieved 2024-10-11.
  11. ^ "Algodoo's 'Learn it' page". Algodoo.
  12. ^ "Changelog on Algodoo.com". Archived from the original on 2009-10-07. Retrieved 2009-10-10.
  13. ^ Dahlberg, Emanuel (2011-01-01). "Electricity in a 2D mechanicssimulator for education". {{cite journal}}: Cite journal requires |journal= (help)
  14. ^ Koreš, Jaroslav (2012-04-12). "Using Phun to Study "Perpetual Motion" Machines". The Physics Teacher. 50 (5): 278–279. Bibcode:2012PhTea..50..278K. doi:10.1119/1.3703542. ISSN 0031-921X.
  15. ^ 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. doi:10.17478/JEYSG.201318999.
  16. ^ Ç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.
  17. ^ Č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.
  18. ^ Nakamura, Yasuyuki; Yasuda, Jun-Ichiro; Konishi, Tetsuro; Senyo, Katsumi; Furuzawa, Akihiro; Saitoh, Yoshiko; Miura, Yuichi (2014-03-19). Proceedings of the 12th Asia Pacific Physics Conference (APPC12). JPS Conference Proceedings. Vol. 1. Journal of the Physical Society of Japan. p. 017037. Bibcode:2014JPSCP...1a7037N. doi:10.7566/jpscp.1.017037.
  19. ^ 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.
  20. ^ 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.
  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).
  22. ^ Gregorcic, Bor (2015). "Exploring Kepler's laws using an interactive whiteboard and Algodoo". Physics Education. 50 (5): 511–515. Bibcode:2015PhyEd..50..511G. doi:10.1088/0031-9120/50/5/511. S2CID 118385501.
  23. ^ Gregorcic, Bor; Bodin, Madelen (2016-12-20). "Algodoo: A Tool for Encouraging Creativity in Physics Teaching and Learning". The Physics Teacher. 55 (1): 25–28. Bibcode:2017PhTea..55...25G. doi:10.1119/1.4972493. ISSN 0031-921X.
  24. ^ By (2015-12-08). "Creating Art In A Robot That Tastes With Its Feet". Hackaday. Retrieved 2020-02-10.
  25. ^ Phunbox1's full scene directory
  26. ^ Software, Doobox. "Doobox Software | Rapidweaver Stacks". Doobox Software. Retrieved 2020-04-11.
  27. ^ Chronos (August 31, 2009). "Doobox discussion on the Algodoo forums". Algodoo.
edit