Kotiki Engine is an educational project for the "Computer Graphics" course. It simulates and illustrates the behavior of cats on a 2D plane.
Follow these steps to install and run Kotiki Engine:
- Clone the repository:
git clone https://github.com/ALanovaya/kotiki-engine.git cd kotiki-engine
- Install dependencies:
- Install boost
sudo apt update sudo apt install libboost-all-dev
- Install Qt and OpenGL
sudo apt-get update sudo apt-get install -y qt6-base-dev qt6-tools-dev libglu1-mesa-dev freeglut3-dev
- Build the project
cmake -B build -S . cmake --build build
- Run the application
cd build/kotiki-engine ./kotiki-engine
- There can be up to 50,000 cats on the map at the same time. User can set their number.
- Cats can try to start a fight, hiss and walk quietly, depending on the distance between them and the maximum distance at which they can start a fight (set by the user).
- Distance can be measured using various metrics - Euclidean, Manhattan, Chebyshev and their generalizations - the Minkowski metric.
- User can choose how the cats will move - either randomly or along a trajectory that can be specified by a parametric equation. The user must specify a parameter (let's say t) and describe the equations x(t), y(t). Otherwise, the trajectory will not be recognized.
- To determine the state of the cats, a grid lookup algorithm is used.
- It is possible to flexibly control the space and movement of the goths - change the size of the scene on which cats walk, change the step at which cats can move, and others.
An example of what the scene and panel with parameters look like.
- Alexandra Lanovaya (Telegram: @winxpopp)
- Ilya Syresenkov (Telegram: @maybenotilya)
- Rafik Nurmukhametov (Telegram: @nrrafik)_