PROGRAMMING PROJECTS

Home > Coding

HEALTH TRACKING SOFTWARE

This project is a Java-based application with a secure user interface for monitoring key health metrics—heart rate, blood pressure, and glucose levels. Users can log in, enter health data, visualize trends over time with graphs, and receive personalized health recommendations based on input. Data is securely stored in timestamped local files or a CSV, with JavaFX and Swing used for graphing and UI components.

Key features include a login system with per-user data storage, metric validation with a 1–5 health rating scale, visual reports using JavaFX, and downloadable health summaries. The software uses object-oriented design with classes like User, Data, HealthMetric, and HealthReport, and handles local file storage with both text and CSV formats. Technologies used include Java, JavaFX, Java Swing, JFreeChart, and standard Java I/O libraries.

This project was done in a group as a presentation for my Computer Science II class and received a high grade. My work focused specifically on saving and loading data securely.

A sample user’s health report.

SOLAR SYSTEM SIMULATION

This program simulates the solar system, featuring a physical controller for camera movement and rotation. The sun, positioned at the center and emitting light captured as lens flare by the camera, is programmed to spin around the origin. Newton’s Universal Law of Gravitation is integrated to simulate gravitational forces toward the sun. The planets initially move tangentially, ensuring that, in combination with gravitational forces, they orbit the sun with minimal error.

FACIAL AND HAND RECOGNITION

The program utilizes a Java library with machine learning capabilities to recognize faces and hands. Using the obtained data, the code draws red rectangles around faces and blue rectangles around hands. Additionally, a formula is applied to determine the distance to faces and hands, taking into account dimensions of the camera, image, and object.
Distance to Object (mm) = (f[mm] * real height[mm] * image height[px]) / (object height[px] * sensor height[mm])

POINT CLOUD

This project utilizes the Xbox 360 Kinect's depth sensor camera to capture a pattern of infrared light, providing distance data for each pixel. In the code, a three-dimensional representation is created by drawing points at each pixel's location, with the Z value determined by the depth data. Facial recognition is incorporated to establish a specific depth range for displaying points. Two coloring methods are implemented: the first, based on distance, with closer pixels appearing white and farther ones black, enabling functionality in low-light conditions. The second method derives RGB values from the camera for pixel coloring.

MARS SIMULATION

This project is an interactive simulation of the Martian surface, featuring a programmed physical joystick to manipulate the viewing angle of the terrain. The terrain is a grid comprised of triangle strips where each point on the grid is assigned a height calculated using Perlin noise—which produces semi-random numbers with smooth, natural variation. As this noise shifts over time, the terrain appears to scroll.

SIERPINSKI’S TRIANGLE

This project generates a mathematical design known as the Sierpinski Triangle, named after the Polish mathematician Waclaw Franciszek Sierpinski. The design starts with an equilateral triangle, which is recursively subdivided into smaller equilateral triangles.
The program prompts the user to place a point within the triangle. Then, the program randomly selects one of the triangle's vertices and draws a new point halfway between the user's point and the chosen vertex. This process iterates continuously, with each new point serving as a reference for the next, as the program randomly selects a vertex and draws a point between the last added point and the selected vertex.