Vector Projector is a C++ desktop app for visualizing vector operations in 3D.
It lets you enter two vectors, choose an operation, and see the resulting vector rendered in real time.
- C++23 for application logic
- raylib for the window, rendering, 3D camera, and drawing
- raygui for the dropdown control in the UI
- g++ as the compiler
- Makefile build workflow
- Interactive 3D vector visualization on a grid
- Two editable input vectors (
v1andv2) - Supported operations:
- Addition
- Subtraction
- Dot product (component-wise result display)
- Cross product
- Live result vector display in both:
- Numeric form (
<x, y, z>) - 3D rendered vector (purple)
- Numeric form (
- Color-coded vectors and legend:
- Red: Vector 1
- Blue: Vector 2
- Purple: Result vector
- Axis guides and axis labels (
+X/-X,+Y/-Y,+Z/-Z) - Split UI layout:
- Left control panel for vector input and operation selection
- Right viewport for 3D scene
- Camera controls in viewport:
- WASD to orbit
- Mouse wheel to zoom
Before building, make sure you have:
- A C++ compiler with C++23 support (for example,
g++) makeraylibinstalled and linkable as-lraylib
From the project root:
makeThis builds the executable at:
bin/vector_projection./bin/vector_projectionmake cleansrc/
main.cpp
controller/
operationEnums.cpp
VectorCalculator.cpp
VectorController.cpp
view/
ViewController.cpp
bin/
vector_projection
Makefile