CC-NC-BY Jiyoung Moon
Mouse dragging to transform camera
2020-1, Computer Graphics (F030-1, Prof. Hwanyong Lee)
201721097 media Jiyoung Moon
This is the content that teaching how to transform camera using mouse dragging.
Before we start this tutorial, students should prepare the basic code of self rotating 3d cube.
The example of the first code will be shown the first part.
The whole tutorial will be followed by some codes that changed by each steps.
Every steps has the codes of it, output result, and some gif files that help students to understand it well.
There are 3 steps in this tutorial.
Step 0. Before we start! You have to prepare...
In this part, I'll show a example code of self-rotating 3d cube and a example output of it.
This code is used for the next steps.
Step 1. Remove some codes.
In this part, we remove some codes related to self rotation.
Step 2. Use new variable.
In this part, we make new variables so that we can prepare for mouse dragging.
With some gif files and code, students can understand it easily.
Step 3. Add some codes so that the mouse can drag the cube!
In this part, we make the codes for the mouse dragging.
This is related to the addEventListener
of HTML DOM event and JS.
We make 3 functions with describtion of them.
Also, in this part, there are some parts that could be hard to understand, so I add a gif so that the students can understand it well.
Step 4. It's done!!! Try it!!!
At the end, the students can make his/her own mouse dragging tranformation of camera.
Also, the students can try mouse dragging to transform camera.
Result
The final result of this WebGL tutorial will be like this.
References
https://www.w3schools.com/jsref/met_document_addeventlistener.asp
https://www.tutorialspoint.com/webgl/webgl_interactive_cube.htm
https://eng.libretexts.org/Bookshelves/Computer_Science/Book%3A_Introduction_to_Computer_Graphics_(Eck)/07%3A_3D_Graphics_with_WebGL/7.01%3A_Transformations_in_3D
https://www.w3schools.com/js/js_htmldom_html.asp
https://www.w3schools.com/tags/tag_code.asp
https://www.w3schools.com/JSREF/obj_mouseevent.asp
https://www.w3schools.com/jsref/event_onmousedown.asp
https://www.w3schools.com/jsref/event_onmousemove.asp
https://www.w3schools.com/jsref/event_onmouseout.asp
https://www.w3schools.com/jsref/event_onmouseup.asp