Recent posts

[WebGL] Understanding the Variations of Cellular Noise

Cellular noise partitions space based on the distance to a set of seed points, producing organic, cell-like patterns. It finds applications in computer graphics, natural simulations, and generative art. In this post, we explore several variations of the cellular noise implemented in GLSL: Voro...

[WebGL] Analysis of Random Generator

In this post, I explored the randomness of pseudo-random sequences generated by different functions: sinusoidal, power, and linear. By examining the histogram and autocorrelation of these sequences using MATLAB, I demonstrated how sinusoidal and power functions exhibit more randomness than a s...

Debugging C++ with VS Code

This post explains how to configure a debugging environment in Visual Studio Code (VS Code). While the settings described are for macOS, they can be easily adapted for Windows with minimal changes, such as the compiler. VS Code uses tasks.json and launch.json for build and debug configurations...

When Looking at a Parabola in Perspective

Projecting a 3D object onto a 2D plane often involves transforming geometric equations into a perspective view. Here’s a fun observation: when you view a parabolic curve drawn on the xz-plane from the xy-plane through a perspective projection, the curve can appear as an ellipse. The animation ...

Setting up ROS Development Environment on MacOS using Docker

Setting up ROS using Docker allows for a clean and efficient development environment on macOS. This post guides installing Docker, pulling and running ROS images, configuring XQuartz for GUI support, and launching containers with X11 forwarding. Following steps help to run ROS tools like rviz ...