Skip to content

brennengreen/Geometry-Processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geometry Processor

This repository contains my implementation of the projects and assignments from the course Discrete Differential Geometry taught at CMU by Dr. Keenan Crane

Along with those projects there are some changes to the geometry processor which I added myself and wanted to showcase here. Enjoy some images below from my results and be sure to check out the remainder of the README in reference to the original repository!


ddg-exercises

This repo contains C++ skeleton code for course assignments from Discrete Differential Geometry (15-458/858).

For the JavaScript version, see https://github.com/cmu-geometry/ddg-exercises-js.

This code framework uses Geometry Central for geometry processing utilities and Polyscope for visualization, which were developed by Nick Sharp and others in the Geometry Collective. Extensive documentation for these libraries ---and how to build them on various platforms--- can be found at the preceding links. If you're having trouble building, please make sure to take a look before bugging the TAs! :-) (We are of course still very happy to help if you're still having trouble.)

Documentation for Geometry Central can be found here.

Documentation for Polyscope can be found here here.

Getting started

  1. Clone the repository and its submodules.
git clone --recursive https://github.com/GeometryCollective/ddg-exercises
cd ddg-exercises/projects

Each project in ddg-exercises/projects builds its own executable when compiled. To run a particular project <project>, go to the projects/<project> directory. The basic process for compiling is as follows. First, make a build directory and compile using

mkdir build
cd build
cmake ..
make

This builds an executable main which can then be run using

bin/main <optional_path_to_a_mesh>

(See Geometry Central: Building for additional compiler flag options.

  1. If you would like to add your own remote repository,
git remote add origin <url_of_remote_repository>

or change the url of an existing remote repo named 'origin' via

git remote set-url origin <new_url>

Then you should be able to push your commits to your remote repo. (For more extensive documentation to fit your needs, see git-remote documentation.)

Please make your repo(s) private to protect academic integrity! As mentioned by the course grading policy, "Duplicate work turned in by two different students will be considered cheating by both students" -- meaning if another student copies your code off your public repo, you will both get zeros for the course :((.

Dependencies (all included)

  1. Geometry processing and linear algebra - Geometry Central, which in turn has dependencies on Eigen and/or Suitesparse.

  2. Visualization - Polyscope

  3. Unit tests - Google Test

Author

Nicole Feng

Email: nfeng@cs.cmu.edu

Rohan Sawhney (original JavaScript version)

Email: rohansawhney@cs.cmu.edu

This code is directly based off Rohan's original JavaScript framework, ddg-exercises-js.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published