Skip to content

Three projects from CC3501 - Modeling and Computer Graphics for Engineers (5th semester of Computer Science Engineering at FCFM, University of Chile).

License

Notifications You must be signed in to change notification settings

salistito/Computer-Graphics

Repository files navigation

Computer-Graphics

License: MIT Language Requires Release

Table of contents

About

This repository contains the three mains projects from CC3501 - Modeling and Computer Graphics for Engineers
(5th semester of Computer Science Engineering at FCFM, University of Chile) 2020 fall semester edition (2020-1).

This course has a wide range of topics, such as:

  • Algorithms and Techniques for Computer Graphics
  • 2D Modeling and Visualization
  • 3D Modeling and Visualization
  • Illumination on Polygon Meshes
  • Finite Differences for PDE's
  • Scientific Visualization

These 3 works cover the most important topics and are made with Python using Open GL.

Requirements (Quick Start)

Proyect 1b - Space Wars

A basic 2D game inspired on Space Invaders. You are the pilot of an attack ship that participates in a space war, your duty is to eliminate all enemies approaching your ship, which contains a long-range cannon.

This work was made with python using:

  • basic shapes
  • textures
  • keyboard commands
  • some basic shaders and transformations with Open GL.

To run the game it's necessary to run the space-war.py file, specifying how many enemies there will be, for example:

  • python space-wars.py 10
    (runs the game with 10 enemies)

Proyect 2c - Bird Migration Simulator

A basic bird migration simulator, it uses an articulated model to animate the flight of the birds along a curvilinear trajectory specified.

This work was made with python using:

  • basic shapes
  • textures
  • curves in 3D
  • commands that depend on the cursor position
  • some basic shaders and transformations with Open GL.

To run the simulator it's necessary to run the bird-herd.py file, specifying the migration trajectory on a csv file and how many birds there will be, for example:

  • python bird-herd.py csvFiles\sinusoidal.csv 5
    (runs the simulator with a sinusoidal trajectory and 5 birds)

Proyect 3a - Aquarium Problem and Visualization (PDE's)

The goal of this work is to create an application that solves the heat equation for the water contained in an aquarium using Finite Differences for PDE's. Different types of fish will prefer different sectors of the aquarium, so it is necessary to create a second application that allows to visualize how they will be distributed inside the aquarium.

To run the solver it's necessary to run the aquarium_solver.py file, specifying the problem setup on a json file
for example:

  • python aquarium_solver.py ProblemJSONs\problem_setup.json
    (runs the solver with the problem setup specified on the json file)

To run the aquarium simulator it's necessary to run the aquarium_view.py file specifying the view setup on a json file
for example:

  • python aquarium_view.py ViewJSONs\view_setup.json
    (runs the aquarium simulator with the view setup specified on the json file)

Credits

Thanks to Professor Daniel Calderón for providing some base scripts that allowed to create these projects!

Copyright and License

Code released under the MIT License.

About

Three projects from CC3501 - Modeling and Computer Graphics for Engineers (5th semester of Computer Science Engineering at FCFM, University of Chile).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages