trick/trick_sims/SIM_billiards
Jacqueline Deans c2e42f4ef4 Refactor and test Variable Server.
- Split VariableServerThread into VariableServerSession and VariableReference classes
- Use C++ streams for data handling
- Unit tests
2023-06-26 12:23:58 -05:00
..
models Refactor and test Variable Server. 2023-06-26 12:23:58 -05:00
Modified_data Refactor and test Variable Server. 2023-06-26 12:23:58 -05:00
RUN_break Refactor and test Variable Server. 2023-06-26 12:23:58 -05:00
RUN_hexagon Refactor graphics client to run in a single thread; remove extraneous files 2022-07-14 16:07:14 -05:00
RUN_test Refactor graphics client to run in a single thread; remove extraneous files 2022-07-14 16:07:14 -05:00
README.md Minor improvement to SIM_billiards 2022-07-20 15:56:02 -05:00
S_define Refactor graphics client to run in a single thread; remove extraneous files 2022-07-14 16:07:14 -05:00
S_overrides.mk Refactor graphics client to run in a single thread; remove extraneous files 2022-07-14 16:07:14 -05:00

Billiards Sim

Playable simulation of a billiards table. Includes friction, impulse collision handling, and cue forces currently.

Angular forces on cue ball, user control of parameters, and detailed physics writeup coming soon :)



Pool Table Display

Located in models/graphics/cpp, uses the Libigl library for visualization.

Compile

libigl must be downloaded from Github : https://github.com/libigl/libigl

Clone it somewhere accessible, like your home directory. It does not need to be compiled.

libigl depends on Eigen3, which may (or may not) need to be downloaded and installed : https://eigen.tuxfamily.org/index.php?title=Main_Page

To compile:

cd models/graphics/cpp
mkdir build
cd build
cmake ..
make

The provided input files will automatically run and connect to the display.