GithubHelp home page GithubHelp logo

comp465_project's People

Contributors

m1cr0naut avatar twisol avatar

Watchers

 avatar  avatar  avatar  avatar

comp465_project's Issues

Implement multiple selectable cameras

The user should be able to select between five different views of the Ruber system. Two of these will be fixed relative to the Ruber barycentric basis, while the others will be fixed relative to the Warbird, Unum, and Duo.

The user should be able to cycle through these views by pressing v.

Create a model for missile objects

We need a model to represent missile objects, whether fired by the Warbird or by a missile defense site. This model must contain both geometry and color information.

The model must fit within a 25-unit bounding sphere.

Physical simulation of Ruber system

On every time step, we need to update the position of the orbiting bodies in the Ruber system. The Warbirds are (apparently) exempt from this, as they are somehow able to maintain a fixed position with respect to a static orthonormal basis centered on the Ruber solar body. (This would break all of physics in the real world.)

Depends on #7.

Information display in window title

Information about the simulation should be shown in the window title. Such information includes:

  • Ammo counts for any entity capable of firing missiles
  • Simulation updates per second
  • Frames drawn per second
  • Current camera view

Example title:

Warbird  7   Unum 5   Secundus 0  U/S 25  F/S  321  View Duo

Representing the Ruber system in code

The Ruber system should be modeled as a set of objects, each associated with an object which it is positioned relative to and an orbital velocity.

This is the "static" picture of the simulation, corresponding to the representation of simulated objects and their properties. The "dynamic" picture, covered by #3, concerns how the properties of the simulated objects change over time.

Create a model for the Warbird

We need a model to represent the Warbird in our simulation of the Ruber system. Both geometry and color data will be used for this model - the color will not be set programmatically.

The Warbird can look like pretty much anything, as long as it's clearly a flying thing of some sort. It could be a TIE fighter, Samus' gunship, an origami plane - anything.

The model must fit within a 100-unit-radius bounding sphere.

Create models for the orbital bodies in the Ruber system

To display the Ruber system properly, we need to create a model for each of the orbital bodies in the Ruber system. The geometry for each model can be the same - a simple sphere shape suffices - but the colors should differ.

Every triangle in a model can have its own color, so you can draw continents and seas onto either or both of the planets, if you so desire.

  • Ruber (star, 2000 units radius)
  • Unum (planet, 200 units radius)
  • Duo (planet, 400 units radius)
  • Primus (moon, 100 units radius)
  • Secundus (moon, 150 units radius)

Create documentation for Phase 1 delivery

We need to provide some documentation on the architecture of our code, as well as information on which features we've implemented.

Additional things to note include:

  • Extra camera (ship camera) for better viewing of the ship and missile models
  • Added time rates
    • Extra time rate (50x)

Please edit this message to add further items as needed.

Hierarchical rendering traversal

A rendering traversal should be designed which can pass each object in the Ruber system to the renderer after resolving its chain of reference objects (e.g. Secundus -> Duo -> Ruber -> System barycenter).

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.