« Presentation openscad : Etape 3 » : différence entre les versions

De Wiki du ThiLab
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 16 : Ligne 16 :
Prenons un cas simple en deux dimensions pour illustrer visuellement cette somme.
Prenons un cas simple en deux dimensions pour illustrer visuellement cette somme.
Supposons que le premier objet soit :
Supposons que le premier objet soit :
[[Fichier:Oscc etape3b.png|200x200px|vignette|centre]]
et que le second objet soit :
[[Fichier:Oscc etape3c.png|200x200px|vignette|centre]]
Le second objet va balayer la surface du premier objet :
[[Fichier:Oscc etape3d.png|200x200px|vignette|centre]]
ce qui va entrainer une surface de balayage pour chaque point, qui misent bout a bout, vont entrainer une surface de balayage globale :
[[Fichier:Oscc etape3f.png|200x200px|vignette|centre]]
C'est l'union de ces surfaces de balayage qui ca donner l'objet correspondant a la somme de minkowski des 2 objets de depart :
[[Fichier:Oscc etape3e.png|200x200px|vignette|centre]]


== Resultat de l'etape 3 ==
== Resultat de l'etape 3 ==

Version du 22 août 2014 à 18:14

Retour a la presentation

Etape 3 : la fonction de minkowski

Pour cette etape, nous allons ajouter l'element suivant aux elements deja crees :

Pour pouvoir realiser cet objet, nous allons utiliser la fonction minkowski() de openscad. Cette fonction correspond a une somme de minkowski entre 2 objets.

A quoi correspond une somme de minkowski ? Elle correspond a la trace d'un balayage du premier objet par le second.

Prenons un cas simple en deux dimensions pour illustrer visuellement cette somme. Supposons que le premier objet soit :

et que le second objet soit :

Le second objet va balayer la surface du premier objet :

ce qui va entrainer une surface de balayage pour chaque point, qui misent bout a bout, vont entrainer une surface de balayage globale :

C'est l'union de ces surfaces de balayage qui ca donner l'objet correspondant a la somme de minkowski des 2 objets de depart :

Resultat de l'etape 3

Le code apres l'etape 3 est donc le suivant :

$fn=60;

union()
{
		intersection()
		{
			translate([-10,-10,-10]) cube([20,20,20]);
			sphere(r=12);
		}

		cylinder(r=7.5, h=20);

		minkowski()
		{
			translate([-10,-10,-25]) cube([20,20,20]);
			cylinder(r=2,h=1);
		}
}

Ce qui nous donne cet objet :

Retour a la presentation