The Interface

World View

The main application screen shows the simulated world filled with particles, and any graphs that have been defined. The main window primarily consists of a two dimensional grid that represents a limitless two dimensional euclidean space. This is the space where all simulation animations take place.

There are several key user interface elements on the screen that serve important functions for accessing different aspects of the application:

  1. Hack Panel - click on this to access the editing and settings panel for your simulations.

  2. Tools Menu - There are a number of tools that you can add to help analyze and explore your simulation. Many of these can also be added through the programming API's.

  3. Full Screen button - View the scenario in full screen mode.

  4. Share and Help Menus - Different menu options for sharing your scenario and getting help.

  5. Main Menu - click on this to access links to other content on our website, and to view your scenario library,

  6. Simulation Controls - these are the controls for running (or pausing), stepping through, or saving your simulation.

  7. Save Button - Save your scenario to your scenarios library.

Simulation "Hack" Panels

The panels shown below are accessed by clicking the small wrench icon in the upper left hand corner of the screen. Each panel has its own function with different information displayed and often editable by the user.

Description Panel

This is the description of the simulation, as well as any optional directions that can be identified by the simulation author.

Goals Panel

The instructor or whoever wrote the scenario may include specific goals that the student should accomplish with this Scenario. Each goal has a description and the goal will turn from a question mark to a green check when your program achieves that goal.

For more on Goals, and how to write them, please visit Writing Goals.

Initial State Panel

The Initial State Panel is where you program the initial conditions of the simulation, e.g. creating circles, rectangles, springs, setting their initial position, and perhaps defining initial values such as the gravity or mass.

This is also where you define functions that can then be called in the Calculations Pane.

Indentation — Indent several lines of code by selecting them and typing Cmd-] or Tab. Un-indenting is Cmd-[ or Shift-Tab.

Comments — Comment lines by selecting them and typing Cmd-/ or Ctrl-/.

Calculations Panel

In this panel, you write your program for calculating what the simulation does for every moment in time as the simulation runs - called a frame. E.g. for a simulation of objects moving in space, you might calculate a new position for them given their existing momentum.

Console Panel

This panel provides a REPL like tool so that you can execute code from the command line interface, but it also serves to print out messages to the console that you insert into your code. It's a great way to test some code, explore the current state of a running simulation, or get some help (Python only).

This panel does not appear if you are using MathJs to write your simulations.

Settings Panel

This panel allows you to change several settings of the simulation. It is actually broken into three "sub panels:

Simulation Settings:

These are general settings that control how the simulation runs:

  • Language: You can write your simulation using the Python language (default) or switch to MathJs as another coding language option!

  • Time Step (dt): Set the time interval between each calculation and simulation world update.

  • Simulation Duration: The total length of time for the simulation to run.

  • Graph Plot Rate: The rate at which new points are added to your Graph widgets.

  • Table Record Rate: The rate at which new rows are added to the Data Table (see above).

Display Settings:

These settings control the visual look of the simulation world:

  • Background Color - The background color of the world.

  • Grid Color: The color of the grid

  • Motion Map: If any objects in the world have their motion_map flag set to true, then checking this box will enable a motion map to be displayed.

  • Motion Map Rate: This sets the rate at which each new strobe image is created (and removed) from the world.

  • Max Strobe Images: Set the total number of strobe images that will be displayed per object.

  • Zoom Extents: The World View window can either scale automatically depending on the space inhabited by any objects, or it can be set to a specific viewing size.

    • Choose automatically: The World View scales to fit the objects in the simulation.

    • Set fixed size: The World View is sized based on the Minimum value and the Maximum value.

  • Code Color Mode: This changes the color theme for the code editing panes.

Access Settings (Only viewable by Teacher accounts)

This section of the Settings Panel is only viewable if you have a teacher account. It gives teachers the ability to limit certain access to the scenarios that are created.

  • Privacy: Clicking the little lock icon changes the scenario to being publicly viewable (default) or private.

  • Hackable: This settings allows users to limit others who view their scenarios from making copies of their scenarios as well as limiting access to the different Hack Panels.

Last updated