Un générateur de diagramme de Voronoï écrit en assembleur 8086/87 utilisant le mode graphique VGA 13h. Ce programme démontre une méthode brute (bien que peu efficace) pour générer des diagrammes de Voronoï à l'aide de calculs de distances.
🖼️ Ce programme génère un diagramme de Voronoï en :
1️⃣ Créant 50 points aléatoires sur l'écran 🎯
2️⃣ Calculant le point le plus proche pour chaque pixel grâce aux distances euclidiennes 📏
3️⃣ Colorant les régions en fonction du point le plus proche 🎨
4️⃣ Affichant le résultat en mode graphique VGA (320x200 pixels) 🖥️
🔧 Logiciels requis :
- NASM (Netwide Assembler) pour compiler le code assembleur 🛠️
- DOSBox pour exécuter le programme compilé (car c'est un programme DOS en mode réel) 💾
Pour compiler le programme, utilisez NASM avec la commande suivante :
nasm voronoi.asm -o voronoi.com -f bin
1️⃣ Installez DOSBox depuis le site officiel
2️⃣ Installez NASM depuis le site de NASM
3️⃣ Ajoutez NASM au PATH de votre système
4️⃣ Créez un dossier pour vos programmes DOS (ex. C:\dosprogs
)
5️⃣ Copiez voronoi.asm
dans ce dossier
6️⃣ Montez le dossier dans DOSBox :
mount c c:\dosprogs
c:
7️⃣ Compilez & Exécutez :
nasm voronoi.asm -o voronoi.com -f bin
voronoi.com
1️⃣ Installez DOSBox avec Homebrew :
brew install dosbox
2️⃣ Installez NASM :
brew install nasm
3️⃣ Créez un dossier pour vos programmes DOS :
mkdir ~/dosprogs
4️⃣ Copiez voronoi.asm
dans ce dossier
5️⃣ Lancez DOSBox & montez le dossier :
mount c ~/dosprogs
c:
6️⃣ Compilez & Exécutez :
nasm voronoi.asm -o voronoi.com -f bin
voronoi.com
1️⃣ Installez DOSBox avec votre gestionnaire de paquets :
# Ubuntu/Debian
sudo apt-get install dosbox
# Fedora
sudo dnf install dosbox
# Arch Linux
sudo pacman -S dosbox
2️⃣ Installez NASM :
# Ubuntu/Debian
sudo apt-get install nasm
# Fedora
sudo dnf install nasm
# Arch Linux
sudo pacman -S nasm
3️⃣ Créez un dossier pour vos programmes DOS :
mkdir ~/dosprogs
4️⃣ Copiez voronoi.asm
dans ce dossier
5️⃣ Lancez DOSBox & montez le dossier :
mount c ~/dosprogs
c:
6️⃣ Compilez & Exécutez :
nasm voronoi.asm -o voronoi.com -f bin
voronoi.com
📌 Une fois en cours d'exécution, le programme va :
✔️ Passer en mode graphique VGA (13h) 🖥️
✔️ Générer 50 points aléatoires 🎯
✔️ Calculer et afficher le diagramme de Voronoï 🎨
✔️ Marquer les points générateurs en noir ⚫
🛑 Appuyez sur une touche pour quitter le programme.
- Ctrl + F11 pour ralentir
- Ctrl + F12 pour accélérer
nasm
n'est pas reconnu, assurez-vous qu'il est bien installé et ajouté au PATH du système.
dosbox.conf
).
- Résolution : 🖥️ 320x200 pixels (mode VGA 13h)
- Nombre de points : 50 (défini par
POINTS_COUNT
) - Utilise 🏗️ le coprocesseur 8087 pour les calculs en virgule flottante
- Méthode brute pour calculer les distances 📏
Un diagramme de Voronoï est une division d’un plan en régions basées sur la distance à certains points de référence.
Chaque région (cellule de Voronoï) contient tous les points qui sont plus proches d'un certain point générateur que de tout autre point.
📜 Ce projet est open-source sous la Licence MIT.