This repository hosts the source code of my paper, "Implementation of Vector, Linear Transformation, and Quaternion Algebra in the Creation and Manipulation of Bézier Curves for 3D Computer Graphics," that I made for an assignment in the IF2123 Linear and Geometry Algebra class I took in late 2024, including the
For this assignment, we were tasked to create a scientific paper regarding the topics discussed in the class. I chose vectors, linear transformations, and quaternions. Please do not expect much from me as I am just a beginner. I am, by any means, not a professional researcher in this field.
In this paper, I demonstrated how to create a Bézier curve from vectors (i.e. its control points) and to manipulate them using linear transformation for dilation and shear, and using quaternion for rotation. I used OpenGL (with GLGF) in Python to create imageries of Bézier curves.
Navigate using cd
to the directory of this repository and install the required packages using pip
:
pip install requirements.txt
Next, you can run main.py
in the folder src
. Have fun! :D
-
You can adjust the control points' position for the Bézier curve through the
Control Points
window. -
You can apply the following transformations to the the Bézier curve:
- Reflection
- Dilation
- Rotation
- Translation
- Shear
by clicking the corresponding buttons in the
Transformation
window.
-
You can move the camera using the following keys:
W
to move forwardA
to move leftS
to move backwardD
to move rightQ
to move upE
to move down
I believe you can do better!
Best regards,
Z. Nayaka Athadiansyah