GithubHelp home page GithubHelp logo

planetary-system's Introduction

Planetary system using Processing

Description

This is an applicaton that emulates an imaginary planetary system using 3D shapes provided by Processing.

How it works

In order to use the application you just have to run the main file. It will show you the system I coded and the visualization controls you can use, which are:

  • Mouse wheel to adjust the zoom
  • Press 'L' to show or hide the legend
  • Press 'C' to activate or deactivate the camera mode
  • Press 'R' to reset the application
  • Press 'I' to open the help

When the camera mode is enabled you can control the spacecraft using this keys:

  • Press 'w' to move up
  • Press 'd' to move to the right
  • Press 's' to move down
  • Press 'a' to move to the left
  • Press 'e' to move forward
  • Press 'q' to move backwards
  • Press the arrow keys to rotate the camera
  • Press 'C' to exit camera mode

Implementation decisions

This application has been developed according to the principles of Jakob Nielsen. It's easy to use, makes the user feels the control at every moment and uses a minimalist and simple design. It is not possible for the user to generate any programming error so it hasn't been necessary to control the user's movements. The controls are at hand at every moment so it's not possible for the user to get lost using the application. A camera mode has been added in order to allow the user to navigate through the system freely. This camera is seeing by the user as a little spacecraft if they see it from the normal view mode. A 3D spacecraft model was used in the beginning, but it was discarded because of optimization decisitions.

Application demonstration

Example

References

Processing documentation

Other info

  • Author: Samuel Arrocha Quevedo
  • Version: 15/03/2021

planetary-system's People

Contributors

samuel-aq avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.