Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vihlancevk/mathvector
Implementation of the vector class
https://github.com/vihlancevk/mathvector
c-plus-plus sfml student-project unit-testing
Last synced: 10 days ago
JSON representation
Implementation of the vector class
- Host: GitHub
- URL: https://github.com/vihlancevk/mathvector
- Owner: vihlancevk
- Created: 2022-09-14T18:55:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-05T08:28:48.000Z (over 2 years ago)
- Last Synced: 2023-09-04T18:25:22.080Z (over 1 year ago)
- Topics: c-plus-plus, sfml, student-project, unit-testing
- Language: C++
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Реализация классов математический вектор и система координат
Для визуализации работы с классами используется графическая библиотека `SFML`.
## MathVector
Простой класс математических векторов с переопределенными операторами для работы с ними. Среди которых есть:
1) сложение двух векторов;
2) умножение вектора на скаляр;
3) скалярное произведение двух векторов.
Коректность работы переопределенных оператров тестируется с помощью `UnitTest` - ов.
## CoordinateSystem
Класс координатных систем, которые используются для пересчёта координат векторов при переходе из одной системы координат в другую.
### О программе
Для демонстрации работы данных классов реализованы две функции:
1) `MathVector::RotateVector`, которая начинает вращать вектор на координатной плоскости при нажатии на клавишу `W` и заканчивает при нажатии клавиши `S`;
2) `MathVector::ResizeVector`, задача которой изменять координаты вектора в соответствии с нажатием левой кнопки мыши.
### Сборка
На данный момент сборка протестирована только под систему `linux`:
```
sudo apt-get install libsfml-dev
git clone https://github.com/vihlancevk/MathVector
cd MathVector
make
./a.out
```