Le modèle patrons.mod

Ce forum contient un fil par modèle proposé. Chaque fil commence par un post-it contenant un descriptif et un lien de téléchargement.

Le modèle patrons.mod

Messagepar P.Fradin » 15 Juil 2009 15:41

Le modèle patrons.mod propose essentiellement la macro:

patron( polyèdre convexe, [options] )


qui renvoie le patron du polyèdre (sous forme de facettes dans l'espace).

Télécharger: patrons.zip ( version 0.1 du 15/05/09)

Le paquet contient 4 fichiers:

- patrons.mac (macros)
- patrons.mod (modèle à charger)
- patrons.pdf (aide)
- patrons.txt (à lire)

Les questions/propositions concernant ce modèle sont à poster dans ce forum.

Un exemple (charger PolyedresII.mac et patrons.mod):
Code: Tout sélectionner
[
view(-6,6,-6,7), Marges(0,0,0,0), size(12),
C:= PtRhombicosidodecaedre(M(0,0,0), M(2,0,0) ),
P:= patron(C, [aplat:=1]),
DrawFacet(P, [color:=lightblue]),
LabelStyle:=left,
Label(Xmin+i*(Ymin+0.5/Yscale),
  " Patron du Petit rhombicosidodécaèdre")
]   


Image


Cela permet aussi des animations sympas:

Image
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle patrons.mod

Messagepar Jean-François » 08 Jan 2010 15:35

Bonjour

Ce modèle est déjà très bien, et je sais que je suis pénible :lol: :lol: :lol: mais est-il possible de demander l'ouverture que de certaines faces ?
Merci
Jean-François
Jean-François
 
Messages: 39
Inscription: 26 Juil 2009 22:34

Re: Le modèle patrons.mod

Messagepar P.Fradin » 08 Jan 2010 16:27

Salut Jean-François,

Tu peux être plus clair? Un exemple?
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle patrons.mod

Messagepar Jean-François » 10 Jan 2010 15:50

Bonjour Patrick,

Désolé pour le temps de réaction !! :oops: :oops: :oops:
Ce que je souhaite obtenir c'est par exemple un cube " entièrement fermé " sauf une face qui serait ouverte plus ou moins.

C'est un peu comme si on ferme le patron, mais face par face.
Jean-François
Jean-François
 
Messages: 39
Inscription: 26 Juil 2009 22:34

Re: Le modèle patrons.mod

Messagepar P.Fradin » 11 Jan 2010 21:39

Jean-François a écrit:Bonjour Patrick,

Désolé pour le temps de réaction !! :oops: :oops: :oops:
Ce que je souhaite obtenir c'est par exemple un cube " entièrement fermé " sauf une face qui serait ouverte plus ou moins.

C'est un peu comme si on ferme le patron, mais face par face.


C'est faisable pour une seul face, mais j'ai bien peur qu'il faille une macro à part...
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle patrons.mod

Messagepar Jean-François » 12 Jan 2010 12:10

Bonjour Patrick,
C'est faisable pour une seul face, mais j'ai bien peur qu'il faille une macro à part...

Ce n'est pas très grave, je ne suis pas certain que ce soit d'une grande utilité (de l'ordre d'une figure par an alors ;) ).
Jean-François
Jean-François
 
Messages: 39
Inscription: 26 Juil 2009 22:34

Re: Le modèle patrons.mod

Messagepar P.Fradin » 12 Jan 2010 23:45

Voilà une macro qui fait le travail demandé. Elle est moins sophistiquée que la macro patron, mais on peut l'appliquer à plusieurs facettes:

rotFacet( polyedre convexe, [numéros de facettes], [angles en degrés], [numéros des arêtes] )


On donne le polyèdre, les numéros des facettes à faire tourner, l'angle de rotation de chacune en degrés, et le numéro de l'arête servant d'axe de rotation.

Code: Tout sélectionner
{ rotFacet( polyedre convexe, [numeros des facettes], [angles en degrés], [numeros des arêtes]}
[
$num:=0,
for $face in %1 by jump do
    Inc(num,1),
    $k:=Pos(num,%2),
    if k<>Nil then
       $alpha:=Copy(%3,k,1), if alpha=Nil then alpha:= Copy(%3,1,1) fi,
       $arete:=Copy(%4,k,1), if $arete=Nil then $arete:= Copy(%4,1,1),
                                if $arete=Nil then $arete:=1 fi
                             fi,
       $A:=AretesNum([face,jump], arete),
       rot3d(face,[A[1,2],A[3,2]-A[1,2]], alpha*deg)
    else face
    fi
od
]


Exemple d'utilisation (charger PolyedresII.mac):

Code: Tout sélectionner
[
P:=Cube(Origin, M(3,0,0)),
P':=rotFacet(P,[1,4],[60,70],[3,3]),
DrawFacet(P',[color:=blue])
]


J'ai fait mumuse avec:

cube.gif
cube.gif (187.04 Kio) Consulté 30057 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle patrons.mod

Messagepar Jean-François » 13 Jan 2010 17:57

Bonjour Patrick,

Encore une fois quelle efficacité :!: :!:
Merci pour ce travail, c'est parfait.
Jean-François
Jean-François
 
Messages: 39
Inscription: 26 Juil 2009 22:34


Revenir vers Macros à télécharger

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 15 invités

cron