Skip to content

NairodGH/Simulations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 Simulations 🧊

This project started off a weekend technical test I was asked by a company as part of their recruiting process (removed any elements I thought could lead people to cheat using it).
The code intentionally has a high amount of comments (with analogies and examples for hard concepts) as this was made for educational purposes.
Since I used raylib and eigen for visualization, which are solid C++ choices for other projects I had in mind, I decided to continue from their existing setup:

  • download CMake 4.0+
  • then either
    • run those commands in a terminal,
    mkdir build && cd build
    cmake ..
    cmake --build .
    
    • run the executables located at the indicated build paths
  • or, if you're on VSCode like me, for a more UI approach
    • install the Cmake Tools extension
    • Search "CMake: Set Launch/Debug Target" in the command palette and select the target you want
    • Click on the bottom left ▶️ button

Available targets:

🔺 CAD 🧊

Minimal STEP file loader (cylinders, planes and toruses with their relevant keywords for rendering, everything else (styling, metadata, presentation, assembly) is ignored) and tessellator for B-rep to mesh visualization.

Completed by:

🦾 Kinematic 🏁

Kinematic chain of a serial manipulator.
Only axis 0 (base) can be changed between linear and rotary because linear on any other piece would break the arm.

📟 PPI ᯤ

Real-time PPI sonar display simulating active (send then receive, gets range but less stealthy) and passive (only receive, gets only direction but more stealthy) detection modes, two-way transmission loss, thermocline-induced shadow zones, and a depth-varying sound speed profile.
Assumes we're a surface vessel with sonar transducer pointing downward towards submarines/whales/etc...

📏 Toolpath 🌀

3D printing base generation (for a shape/position that couldn't be printed if not for it).

🍲 Soup 🦠

Artificial life particle method N-body simulation exploring emergent behavior inspired by the primordial soup.

About

Raylib/eigen C++ simulations for technical tests or satisfying my curiosity

Topics

Resources

Stars

Watchers

Forks

Contributors