PolyedresII.mac

Page 6 sur 7 Précédent  1, 2, 3, 4, 5, 6, 7  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Jeu 17 Avr - 14:30

Alphonse Capriani a écrit:
Par contre, si je ne me trompe pas les animations postées dans le post précédents sont plus pratiques si on veut les insérées dans une page web ou sur un forum. Donc c'est vrai que ca pourrait être très utile. Tu as réalisé ca comment?

C'est une applet java qui s'appelle JMath3D, le texte de la première applet est le suivant:

Code:

<applet code="JMath3D.class" archive="JMath3D.jar" width="250" height="250">
   <param name="model"        value="images/essai3.obj"/>
   <param name="echelle" value="1" />
   <param name="couleursfaces" value="1à6:#0000ff 7à14:#ff0000  15à26:#ffff00"/>
   <param name="animation" value="-0.005 0.005 "/>
   <param name="epaisseur" value="0.5 0"/>
   <param name="couleurfond" value="#5F9EA0" />
</applet>

Cela suppose la présence de JMath3D.class sur le serveur, et le fichier chargé s'appelle essai3.obj dans cet exemple.


Il serait possible de rajouté un bouton ou une option dans le modèle Animation.mod pour réaliser ce genre d'animation automatiquement?

Cela demande réflexion, il faut d'abord travailler l'export en .obj (que je ne connais pas vraiment encore), à partir de là il devrait être possible d'exporter directement l'applet à partir de Animation.mod.

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Jeu 17 Avr - 14:51

Ouais : c'est sur! D'autant que si ca pose problème pour certains polyèdres (heureusement peu nombreux) c'est un peu dommage.

En tout cas, si tu réfléchis a mettre un tel bouton, il serait très agréable d'en créer un aussi pour pouvoir créer une animation en pdf : je viens de re regarder celles que tuu as faites et je dois admettre que je trouve ca vraiment pas mal...

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Jeu 17 Avr - 14:56

Alphonse Capriani a écrit:
En tout cas, si tu réfléchis a mettre un tel bouton, il serait très agréable d'en créer un aussi pour pouvoir créer une animation en pdf : je viens de re regarder celles que tuu as faites et je dois admettre que je trouve ca vraiment pas mal...

Sauf que ces animations pdf passent par un format (u3d) qui est tout sauf simple (il utilise des algorithmes de compression et il y a plus d'une centaine de pages dans la doc...), autrement dit, il faudra passer par un autre logiciel (MeshLab est le seul qui soit libre et qui propose le format u3d, c'est dire!). Mais de toutes les façons il faut quand même un fichier obj.

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Jeu 17 Avr - 15:11

Je proposais ca comme ca!!! Si ca doit être un vrai casse tête pour ajouter cette option, c'est pas la peine : on s'en passera Laughing

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mer 14 Mai - 11:38

Salut!!

Je propose une petite nouveauté que j'ai vue sur le site de Syracuse et que je trouve pas mal. L'idée est de creuser chaque facette en laissant une bandelette d'une certaine largeur au bord.

Voivi une macro FacettesCreuses( facettes [, epaisseur] ):

Code:

{FacetteCreuse( polyedre [, epaisseur] ) }
[if %2=Nil then $ep:=0.25 else ep:=%2/2 fi,
MapBy(

[$A1:=Nil, $A2:=S[0,2],$A3:=S[1,2], $F:=Nil,
 $aux:= Map3D([ A1:=A2, A2:=A3, A3:=Z,
                if A1<>Nil then
                  $u:=normalize(A1-A2), $v:=normalize(A3-A2),
                  $ecart:=angle(u,v)/2,
                  $L:=ep/sin(ecart),
                  Insert(F,A2+L*normalize(u+v))
                fi
              ], $Z, [S[3,0],S[1,2]]),
 $compt:=0, $B:=Nil,
 Map3D( [Inc(compt,1), $A:=B, B:=$Z,
        if A<>Nil then
            A,B,F[2*compt-1,2], F[2*compt-3,2],jump
        fi,
        ], Z, S),
 B,Copy(S,1,2),F[1,2],F[2*compt-1,2]
 ],
  S, %1, jump) ]

Pour tester cela, j'ai chargé le modèle PolyedresII.mod (merci Alphonse Very Happy ) et j'ai crée l'élément graphique Utilisateur suivant:

Code:

[ background(full, lightskyblue),
  poly:=Archimede(6, [0,0],[3,0]),
  FillColor:=gold, FillStyle:=full,
  DrawPolyNC(FacettesCreuses(poly,0.35),1)
]

ce qui donne:

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 14 Mai - 13:53

Ah ouais! Pas mal!!

J'avais pas penser a ce genre de truc!!!

Ta macro marche pour n'importe quel polyèdre convexe? Il se passe quoi avec un polyèdre non convexe? (Intuitivement, je pense que le résultat avec un polyèdre non convexes ne doit pas etre terrible et est donc probablement sans intérêt. J'essaie tout de suite...

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 14 Mai - 14:21

Woooow! Ca donne des résultats pas mal!!!

Même avec les polyèdres non convexes, on obtient des résultats (presques) satisfaisant!

En voici la preuve avec le grand rhombicuboctaèdre uniforme et le petit dodécaèdre étoilé :



Je te suggère d'ajouter cette macro au fichier polyedres.mac. Je trouve qu'elle a plus sa place dans ce fichier plutot que dans PolyedresII.mac car c'est une macro qui s'applique visiblement a n'importe quel polyèdres convexes : pas besoin de l'utiliser avec un polyèdres régulier, semi régulier, ou un polyèdre de Johnson.

En plus, je veux pas de tes macros dans mon fichier : on ne mélange pas les cochons avec les vaches!!! Laughing Laughing Laughing
Non : je rigole!!!! (D'autant que tu as déja contribué a mon fichier (nottement la pour la macro transf))

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mer 14 Mai - 14:37

Les résultats sont davantage satisfaisants avec la commande Build3D:

Code:

[background(full, lightskyblue),
 poly:=PolyNC(9, [0,0],[4,0], face1,face2,face3,aretes),
 FillColor:=gold, FillStyle:=full,
 Build3D( [face1[1],face1[2],FacettesCreuses(face1[3,0],0.5)],
          [face2[1],face2[2],FacettesCreuses(face2[3,0],0.5)],
          [face3[1],face3[2],FacettesCreuses(face3[3,0],0.5)],
          aretes
        ), Display3D()
]




Cette macro rejoindra effectivement polyedres.mac.

PS: tu as aussi les macros cup et cap à tester, tu les as vues dans la rubrique annonces?

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 14 Mai - 15:12

P.Fradin a écrit:Les résultats sont davantage satisfaisants avec la commande Build3D:

Et ouais!!! J'aurais mieux fais de rester couché ce matin : Rolling Eyes

Concernant tes macros Cap et Cup, je les teste de suite! A noter que j'ai déja répondu a ton post concernant ces macros...

(AAaaaaahhh!! Ca fait du bien un peu d'activité sur le forum : depuis quelques temps, on n'y voyait plus grand monde!!! Ca sent les vacances...)

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mer 14 Mai - 15:17

Alphonse Capriani a écrit:
(AAaaaaahhh!! Ca fait du bien un peu d'activité sur le forum : depuis quelques temps, on n'y voyait plus grand monde!!! Ca sent les vacances...)

En particulier on ne voit plus Samuel... Crying or Very sad

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 14 Mai - 15:31

Ouais! C'est vrai!!!

Il fait peut être des infidélités à ton logiciel...

Mais ce n'est pas le sujet (ou alors il faut ouvrir un nouveau topic intitulé "Petits potins sur les utilisateurs de TeXgraph...")

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Ven 16 Mai - 18:37

Salut,

Maintenant que l'on sait évider les facettes, pourquoi ne pas remplir les facettes creuses?

Variante de la macro FacettesCreuses( <listes>, <epaisseur>, <facettes enlevées>), qui permet de récupérer dans le troisième paramètre, la liste des facettes qui ont été enlevées.

Code:

[if %2=Nil then $ep:=0.25 else ep:=%2/2 fi,
MapBy(
[$A1:=Nil, $A2:=S[0,2],$A3:=S[1,2], $F:=Nil,
 $aux:= Map3D([ A1:=A2, A2:=A3, A3:=Z,
                if A1<>Nil then
                  $u:=normalize(A1-A2), $v:=normalize(A3-A2),
                  $ecart:=angle(u,v)/2,
                  $L:=ep/sin(ecart),
                  Insert(F,A2+L*normalize(u+v))
                fi
              ], $Z, [S[3,0],S[1,2]]),
 $compt:=0, $B:=Nil, Insert($interieur,[F,jump]),
 Map3D( [Inc(compt,1), $A:=B, B:=$Z,
        if A<>Nil then
            A,B,F[2*compt-1,2], F[2*compt-3,2],jump
        fi,
        ], Z, S),
 B,Copy(S,1,2),F[1,2],F[2*compt-1,2]
 ],
  S, %1, jump), %3:=interieur ]

Exemple:

Code:

[background(full, CplColor(gold)),
 poly:=Archimede(9, [0,0],[4,0]),
  Build3D( [1+1.5*i, gold, FacettesCreuses(poly,0.15,S)],
          [1-i, Rgb(0.54,1,0.56)+0.7*i, S]
        ), Display3D()
]

Ce qui donne:

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Lun 19 Mai - 12:51

Ouais : pas mal!!!

Cela dit, je viens de tester ta macro FacettesCreuses et rien ne s'affiche!!!

J'ai regardé vite fait le code et je voit pas ce qui coince.

Je viens également de voir qu'une nouvelle macro venait de faire son apparition : CplColor(<Couleur>)
Je suppose qu'elle permet de définir la couleur "complémentaire" de celle pris en argument.

Si je ne me trompe pas, cette macro n'est pas encore disponible dans la version test de TeXgraph, non?

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Lun 19 Mai - 16:38

Tu as bien chargé PolyedresII.mac?

Quant à la macro CplColor() elle fait partie d'une liste que j'avais déjà donnée sur le fil "Future version".

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mar 20 Mai - 16:21

P.Fradin a écrit:Tu as bien chargé PolyedresII.mac?

Tout à fait!!! Je vais réessayer pour voir si ca marche aujourd'hui : t'as macro bug peut être quand elle est exécutée un lundi?

P.Fradin a écrit:Quant à la macro CplColor() elle fait partie d'une liste que j'avais déjà donnée sur le fil "Future version".

Ah ouais? J'ai du passer à coté : je vais voir ca tout de suite...

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mar 20 Mai - 16:42

Alphonse Capriani a écrit:
P.Fradin a écrit:Tu as bien chargé PolyedresII.mac?

Tout à fait!!! Je vais réessayer pour voir si ca marche aujourd'hui : t'as macro bug peut être quand elle est exécutée un lundi?

Elle marche tous les jours de la semaine, elle ne dépend que de l'utilisateur en fait Laughing

Tu as bien appelé la macro FacettesCreuses, hein? Le même nom que celui utilisé dans l'élément graphique?

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mar 20 Mai - 16:54

Bon!!! J'ai trouvé quel était le problème :

En fait, j'avait inséré ta macro dans le fichier polyedres.mac, mais je n'avais pas mis le double dièse ## a la fin de la macro (habituellement, quand je fait cette oubli, TeXgraph me le signale, mais la, il s'est tu!!!)

J'ai corriger le fichier et ca marche impeccable. En voici un bel exemple :



Et voici le code associé :
Code:
[
background(full, Light(black, 0.3)),
StyleL:=Thicklines,
$P:=DodecaedreAdc(Origin, vecI, A, B, C, D),
FacettesCreuses(Copy(A, 3, 0), 0.1, A'),
FacettesCreuses(Copy(B, 3, 0), 0.1, B'),
FacettesCreuses(Copy(C, 3, 0), 0.1, C'),
Build3D([1, Color1, A'], [1, Color2, B'], [1, Color3, C'], [2, ColorL, StyleL, Aretes(P)]),
Display3D()
]

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mar 20 Mai - 17:07

Ah oui, c'est rigolo, la macro qui sert à creuser les facettes peut aussi servir à creuser les bords!

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mar 20 Mai - 17:13

Ouais!!!

C'est une bonne nouvelle macro qui permet de faire de jolis dessins.

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mar 20 Mai - 17:30

J'ai pensé a une autre syntaxe pour ta macro FacettesCreuses. La voici :

FacettesCreuses(<Liste de faces>, <écart+i*mode>, [Faces éliminées])

Le mode prendrait les valeurs 0 pour creuser les faces comme la macro le faisait déjà, ou 1 pour creuser les faces de cette manière :



Je pense qu'on peut alors aboutir a de jolis polyèdres creusés...

En plus, en réitérant le procédé sur les facettes creusé que l'on récupère, on pourrait faire des polyèdre a faces "spiralées"!!! J'aimerais bien créer un icosidodécaèdre dont les faces pentagonales soit de ce style :


Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mar 20 Mai - 18:47

Une proposition pour FacettesCreuses à tester (je n'ai pas trop le temps maintenant):

Code:

[if %2=Nil then $ep:=0.25, $mode:=0 else ep:=Re(%2)/2, $mode:=Im(%2) fi,
if mode=0 then
MapBy(
[$A1:=Nil, $A2:=S[0,2],$A3:=S[1,2], $F:=Nil,
 $aux:= Map3D([ A1:=A2, A2:=A3, A3:=Z,
                if A1<>Nil then
                  $u:=normalize(A1-A2), $v:=normalize(A3-A2),
                  $ecart:=angle(u,v)/2,
                  $L:=ep/sin(ecart),
                  Insert(F,A2+L*normalize(u+v))
                fi
              ], $Z, [S[3,0],S[1,2]]),
 $compt:=0, $B:=Nil, Insert($interieur,[F,jump]),
 Map3D( [Inc(compt,1), $A:=B, B:=$Z,
        if A<>Nil then
            A,B,F[2*compt-1,2], F[2*compt-3,2],jump
        fi,
        ], Z, S),
 B,Copy(S,1,2),F[1,2],F[2*compt-1,2]
 ],
  S, %1, jump),
else
 ep:=2*ep,
 MapBy(
 [$A1:=Nil, $A2:=S[1,2], $F:=Nil,
 $aux:= Map3D([ A1:=A2, A2:=Z,
                if A1<>Nil then
                  $u:=A2-A1,
                  Insert(F,A1+ep*u)
                fi
              ], $Z, [S[3,0],S[1,2]]),
 $compt:=0, $B:=Nil, Insert($interieur,[F,jump]),
 Map3D( [Inc(compt,1), $A:=B, B:=$Z,
        if A<>Nil then
            B,F[2*compt-1,2], F[2*compt-3,2],jump
        fi,
        ], Z, S),
 Copy(S,1,2),F[1,2],F[2*compt-1,2]
 ],
  S, %1, jump),
fi,
 %3:=interieur]

[Edit 21h30] Voilà, je viens de faire un test: après avoir chargé PolyedresII.mac et défini l'élément graphique:

Code:

[
background(full,beige),
P:=Icosidodecaedre([0,0],[5,0],penta,tri), nb:=15,
P:=penta[3,0], Q:=tri[3,0],
Y:=[0.74,1,0.7], R:=[0.75,0,0],
Build3D( for k from 1 to nb do
          P:=FacettesCreuses(P, 0.1+i, aux),
          C:=((nb-k)*R+k*Y)/nb,
          [1,Rgb(C[1],C[2],C[3]) , P],
          P:=aux, Re(jump)-i
        od,
        [1,darkgreen+0.7*i, P],
        for k from 1 to nb do
          Q:=FacettesCreuses(Q, 0.1+i, aux),
          C:=((nb-k)*[0,0,0.75]+k*[1,0,0])/nb,
          [1,Rgb(C[1],C[2],C[3]) , Q],
          Q:=aux, Re(jump)-i
        od,
        [1,red+0.7*i,Q]
        ),

Display3D()
]               

PS: lorsque le mode vaut 1, alors le paramètre en partie réelle doit être en 0 et 1, il représente la portion de segment qui va être pris (et non une longueur). Je ne sais pas si c'est clair...

on obtient:

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 21 Mai - 17:02

Parfait : je teste ca tout de suite...

P.Fradin a écrit:PS: lorsque le mode vaut 1, alors le paramètre en partie réelle doit être en 0 et 1, il représente la portion de segment qui va être pris (et non une longueur). Je ne sais pas si c'est clair...
C'est limpide : tu veux dire que l'écart n'est plus une longueur mais un taux t. Les facettes éliminées sont alors définies par les points barycentre de {(A_i, t), (A_i+1, 1-t)} ou [A_i, A_i+1] représente un coté de face. On retrouve simplement le paramétrage d'un segment! (je pense avoir été encore moinc clair que toi!!! Rolling Eyes)

Voici un premier test : certes, il est moins impressionnant que ce que tu viens de poster, mais bon : je le mets quand même.

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Mer 21 Mai - 17:23

Revoici deux tests ressemblant un peu au précédent, mais combinant les 2 modes de la macro FacettesCreuses. Dites moi ce que vous en pensez...


Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  P.Fradin le Mer 21 Mai - 19:02

Eh eh! On s'amuse bien à ce que je vois! Mon petit doigt me dit que les valeurs possibles pour le mode vont vite devoir dépassé la valeur 1... Laughing

En tous cas cela fait de bien belles figures! C'est une très bonne idée que tu as eue là!

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Alphonse Capriani le Jeu 22 Mai - 12:57

P.Fradin a écrit:Eh eh! On s'amuse bien à ce que je vois! Mon petit doigt me dit que les valeurs possibles pour le mode vont vite devoir dépassé la valeur 1... Laughing
Ouais!!! J'avais imaginé égallement de creuser les faces avec des cercle de même centre que les faces avec un rayon compris entre 0 et le rayon du cercle inscrit aux faces mais c'est peut etre compliqué vu qu'un cercle est en fait une "grande" ligne polygonale.

J'ai même une autre idée un peu plus audacieuse!!! Sachant qu'une face comporte au moins 3 sommets, on peut définir pour chaque face un repère barycentrique avec trois sommets consécutifs d'une face (pour chaque face). On pourrait ainsi avoir un autre mode pour la macro FacettesCreuses :
FacettesCreuses(<Liste de faces>, 2*i, <[a1, b1, c1, a2, b2, c2, ..., an, bn, cn]>, [F])


La liste mis en 3ème argument correspond a des coordonnées barycentriques ; elle défini donc une ligne polygonale dont les sommets sont :
Bar{(A, a_i), (B, b-i), (C, c_i)}, i=1, ..., n, avec A, B, C trois sommets consécutifs de la faces que l'on traite.

Voici un exemple :


Voici le code me permettant de créer ce dessin :
Code:
[
FillStyle:=full, FillColor:=orange,
$P:=polyreg(0, 1, 5),
Ligne(P, 1),
FillColor:=white,
$L:=[0.5, 0.5, 1, 12, 4,
          1, -2, 2.7, -2, 3,
          -1, -1, -2, 1, -1,
          2, 2, 3, 6, -1],
$L':=CoordBar(P, L),
Ligne(L', 1)
et le code de la macro CoordBar(<"Repère" barycentrique>, <Coordonnées barycentriques>) :
Code:
[
$R:=%1, $N:=Nops(R),
$L:=%2,
$k:=1,
while k<Nops(L) do
   if L[k]=jump then
      jump,
      Inc(k, 1)
   else
      bary(Seq([R[j], L[k+j-1]], j, 1, N)),
      Inc(k, N)
   fi
od
]
Notons d'ailleurs que cette macro ne fait pas exactement ce dont je parlais juste avant. En effet, elle calcule des barycentriques vis a vis de tous les sommets du polygone traité. L'inconvénient dans le cas de la macro FacettesCreuses, c'est que la plupart du temps on ne veut pas se restreindre au creusement des faces d'un isoèdre, c'est pour ca que je pense qu'il faut se limiter au repère barycentrique défini par trois sommets consécutifs... (je suis pas sur d'avoir été très clair Rolling Eyes (une fois de plus))

Alphonse Capriani

Nombre de messages : 374
Age : 56
Localisation : East Harlem - NY
Date d'inscription : 21/01/2008

Voir le profil de l'utilisateur http://www.mediafire.com/?sharekey=61c7f7ce30421d314012e8015643d

Revenir en haut Aller en bas

Re: PolyedresII.mac

Message  Contenu sponsorisé Aujourd'hui à 5:56


Contenu sponsorisé


Revenir en haut Aller en bas

Page 6 sur 7 Précédent  1, 2, 3, 4, 5, 6, 7  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum