https://github.com/ouked/threejs_arcball
Coursework for "Fundamentals of Visual Computing" at University of Bath
https://github.com/ouked/threejs_arcball
coursework javascript threejs
Last synced: 2 months ago
JSON representation
Coursework for "Fundamentals of Visual Computing" at University of Bath
- Host: GitHub
- URL: https://github.com/ouked/threejs_arcball
- Owner: ouked
- Created: 2020-11-16T17:15:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-04T17:06:51.000Z (about 4 years ago)
- Last Synced: 2025-02-14T21:47:13.026Z (4 months ago)
- Topics: coursework, javascript, threejs
- Language: JavaScript
- Homepage: https://alex-dawkins.com/threejs_arcball/WebGL-Coursework.html
- Size: 20.2 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ThreeJS Demo 📦
A simple ThreeJS project for my *Fundamental of Visual Computing* module at University of Bath.
You can read the full report I wrote as part of this coursework [here](https://github.com/ouked/FoVC_Coursework/blob/master/fovc-5.pdf).
Skybox generated by https://github.com/wwwtyro/space-3d
## Learning outcomes 📚
From the specification:
> • Construct appropriate mathematical operations to manipulate 3D objects
>
> • Use an industry standard graphics programming API (ThreeJS)
>
> • Develop code to interact with JavaScript events (mouse clicks, key presses etc.)
>
> • Test and document a graphics interaction systemThis project has also taught how **orbiting cameras** work, as we weren't allowed to use the provided OrbitCamera.js module from ThreeJS.
## Live demo ⚡️
https://alex-dawkins.com/threejs_arcball/WebGL-Coursework.html### Controls 🎮
| Controls | Key |
|:---------------------:|:----------:|
| Orbit camera | ```MOUSE``` |
| Pan camera | ```SHIFT+MOUSE```|
| Zoom | ```SCROLL```|
| Fly | ```ARROW KEYS```, ```Q```, ```A``` |
| Rotate objects | ```X```,```Y```,```Z``` |
| Cube face render mode | ```F``` |
| Cube vertex render mode | ```V``` |
| Cube wireframe render mode | ```E``` |
| Peter face render mode | ```J``` |
| Peter vertex render mode | ```K``` |
| Peter wireframe render mode | ```L``` |
| Reset camera | ```0``` |
| Help | ```H``` |