Skip to content

Knapsack3D is a visual and algorithmic tool that solves a 3D knapsack-filling problem using both Cuboids and Pentominoes. The aim is to optimize how space is filled within a 3D volume based on different goals, either maximizing space usage or score.

Notifications You must be signed in to change notification settings

johnnnathan/Pentominoes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Algorithmic 3D & Puzzle Solvers

This repository houses a collection of Java-based algorithmic projects that focus on solving complex problems through optimization techniques, creative game design, and interactive problem-solving. The projects explore various aspects of computational theory, algorithm design, and graphical visualization.

🧱 Projects Included

1. Knapsack3D

A 3D knapsack problem solver that attempts to fill a 3D space using Cuboids and Pentominoes. The goal is to efficiently pack the knapsack with the fewest empty spaces, while also considering scoring through different optimization approaches.


2. Pentominoes

A puzzle solver that aims to fill a rectangular grid with pentomino shapes in an optimal way. The project explores both brute force and optimized algorithms for solving the tiling problem, where the objective is to use as few shapes as possible to cover the grid without overlap.


3. Petris

An interactive game inspired by the classic mechanics of falling blocks. The project focuses on game design and the use of algorithms to optimize the placement of falling pieces in a confined space, with the challenge of maximizing efficiency and avoiding overflow.


👥 Authors

This repository is a collaborative project by:

  • Mila Georgieva Spasova
  • Toms Cristian Nitu
  • Dimitris Tsiplakis
  • Martin Nedelinov Petrov
  • Jure Kastelic
  • Ekoe Gregorio Amah-tchoutchoui

💡 Learning Outcomes

✔️ Developed an understanding of classical optimization algorithms, including brute force and branching techniques
✔️ Implemented 3D visualization for real-time problem-solving
✔️ Gained experience in game logic and algorithmic thinking for interactive applications
✔️ Strengthened teamwork and version control practices in collaborative software development


About

Knapsack3D is a visual and algorithmic tool that solves a 3D knapsack-filling problem using both Cuboids and Pentominoes. The aim is to optimize how space is filled within a 3D volume based on different goals, either maximizing space usage or score.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published