Aire et périmètre d'une section plane
3 participants
Page 1 sur 1
Aire et périmètre d'une section plane
Bonjour Patrick,
Les vacances approchent, et je veux découvrir les possibilités de ton logiciel en 3D.
Le but de l'exercice est d'étudier le périmètre et l'aire de la section d'un cube par un plan passant par un point M de [AG], et perpendiculaire à (AG).
Pour cela, j'ai réalisé une petite animation qui me permet de voir la section obtenue suivant la position du point M.
Pour le périmètre, j'ai pensé calculer la longueur du contour de la facette S, mais je ne sais pas comment le faire (rien vu à ce propos dans la doc).
Pour le calcul de l'aire, cela me semble beaucoup plus complexe, car il s'agit de calculer l'aire d'un polygone convexe de n sommets, avec n appartenant à {3,4,5,6}.
Une idée serait de récupérer dans un plan les coordonnées des sommets, et de trouver sur le net un algorithme permettant de le faire.
Qu'en penses-tu ?
Les vacances approchent, et je veux découvrir les possibilités de ton logiciel en 3D.
Le but de l'exercice est d'étudier le périmètre et l'aire de la section d'un cube par un plan passant par un point M de [AG], et perpendiculaire à (AG).
Pour cela, j'ai réalisé une petite animation qui me permet de voir la section obtenue suivant la position du point M.
- Code:
% TeXgraph version 1.93
% Fenetre Xmin Xmax Ymin Ymax Xscale Yscale
100#-4#10#-4#10#0.909090909091#0.909090909091##
% Marges gauche droite haut bas cadre gestion_couleur comptgraph
101#0.5#0.5#0.5#0.5#0#1#2##
% Affectation des Variables theta et phi
18##[theta:=0.9425, phi:=1.2349, OriginalCoord(1)]##
18##InputMac("Animation.mac")##
% Déclaration des Variables Globales
15#alpha#0.61##
% Déclaration des Macros
16#MakeFrame#[{code pour dessiner la frame n° %1}
alpha:=%1*0.01,ReCalc(M,trajectoire)
]
##
16#OnBeginAnim#[{exécutée au lancement de l'animation}
]##
16#OnEndAnim#[{exécutée à la fin de l'animation}
]##
16#Initialiser#[{valeurs par défaut de vos paramètres}
alpha:=0,ReCalc(M,trajectoire)
]
##
16#Tempo#100##
16#NbFrames#100
##
16#Nom#"/home/fab/.TeXgraph/animation1"##
16#PdfReader#"xpdf"##
% Déclaration des Eléments graphiques
% trajectoire (Utilisateur)
18##[tMin:=-5,tMax:=5]##
14#trajectoire# [$A:=Origin,$B:=[4*i,0],$C:=[-4+4*i,0],$D:=[-4,0],$E:=[0,4],$F:=[4*i,4],
$G:=[-4+4*i,4],H:=[-4,4],
cube:=Parallelep(A,B-A,D-A,E-A),
$M:=A+alpha*(G-A),
Ligne3D([A,A+alpha*(G-A)],1),
$plan:=[M,A-M],
$S:=Intersection(plan,cube,face),
Width:=8 ,
DrawPoly(cube,0),SaveAttr(),
LineStyle:=noline,
FillStyle:=bdiag,
FillColor:=blue,
DrawPoly(face,1),
RestoreAttr(),
DrawAretes(S,0),
LineStyle:=dotted,Ligne3D([A,G],1),
LabelDot(Proj3D(A),"$A$","O"),
LabelDot(Proj3D(B),"$B$","S"),
LabelDot(Proj3D(C),"$C$","E"),
LabelDot(Proj3D(D),"$D$","O"),
LabelDot(Proj3D(E),"$E$","O"),
LabelDot(Proj3D(F),"$F$","N"),
LabelDot(Proj3D(G),"$G$","E"),
LabelDot(Proj3D(H),"$H$","N"),
LabelDot(Proj3D(M),"$M$","O",1),
]
#-1##
% M (Utilisateur)
18##[tMin:=-2,tMax:=10]##
14#M# [A+alpha*(G-A)]
#-1##
Pour le périmètre, j'ai pensé calculer la longueur du contour de la facette S, mais je ne sais pas comment le faire (rien vu à ce propos dans la doc).
Pour le calcul de l'aire, cela me semble beaucoup plus complexe, car il s'agit de calculer l'aire d'un polygone convexe de n sommets, avec n appartenant à {3,4,5,6}.
Une idée serait de récupérer dans un plan les coordonnées des sommets, et de trouver sur le net un algorithme permettant de le faire.
Qu'en penses-tu ?
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
Bonjour Fabrice,
Pour la longueur je te propose la macro
Le deuxième paramètre est optionnel et vaut 0 par défaut. Cette macro peut s'appliquer soit à une liste de segments (ou arêtes), par exemple:
ou directement à une facette (il faut alors mettre le deuxième paramètre à 1):
Pour l'aire d'un polyèdre convexe je te propose la macro
Point besoin d'algorithme sophistiqué, le principe est tout bête, chaque facette est triangulée et on fait la somme des aires des triangles. Par exemple, dans ton fichier la commande: Aire3d(cube) donne 96.
Pour la longueur je te propose la macro
Length3d( <liste de points 3D>, <fermée (0/1) > )
- Code:
{Length3d( <liste points 3d>, close(0/1) ) renvoie la longueur de la ligne en unites graphiques, le repere 3D est orthonorme}
[
$long:=0,$first:=1/0, $pred:=1/0, $nb:=0, $compt:=0, $Z:=Nil,
$close:=if %2=Nil then 0 else %2 fi,
for $z in %1 do Inc(nb,1),
if Re(z)=Re(jump)
then
if close then Inc(long, Norm(pred-first)) fi,
pred:=Nil, first:=Nil, compt:=0, nb:=0, Z:=Nil
else Insert(Z,z)
fi,
if nb=2 then
Inc(long, Norm(Z-pred)), pred:=Z, nb:=0, Inc(compt,1),
if compt=1 then first:=Z, fi,
Z:=Nil,
fi
od,
if (first<>Nil) And close then Inc(long, Norm(pred-first)) fi,
long
]
Le deuxième paramètre est optionnel et vaut 0 par défaut. Cette macro peut s'appliquer soit à une liste de segments (ou arêtes), par exemple:
..., $S:=Intersection(plan,cube,face), long:=Length3d(S), ...
ou directement à une facette (il faut alors mettre le deuxième paramètre à 1):
..., $S:=Intersection(plan,cube,face), long:=Length3d(face,1), ...
Pour l'aire d'un polyèdre convexe je te propose la macro
Aire3d( <polyedre> )
- Code:
{Aire3d( <polyedre convexe> ) renvoie l'aire d'un polyedre convexe}
[
$aire:=0,
$aux:=MapBy(
[$A:=$facette[1,2],$B:=Nil, $C:=facette[3,2],
Map3D(
[B:=C, C:=$Z,
Inc(aire, Norm(Prodvec(B-A,C-A)))
], Z, facette[5,0])
], facette, %1, jump),
aire/2
]
Point besoin d'algorithme sophistiqué, le principe est tout bête, chaque facette est triangulée et on fait la somme des aires des triangles. Par exemple, dans ton fichier la commande: Aire3d(cube) donne 96.
Dernière édition par P.Fradin le Dim 29 Juin - 14:45, édité 1 fois
Re: Aire et périmètre d'une section plane
Salut Patrick,
Je découvre à l'instant ton post, et je suis plein d'admiration devant tant de facilités !
N'ayant pas le temps d'analyser et comprendre tes macros, je me suis contenté de tester la macro Aire3d dans mon fichier animation1.teg.
En ligne de commande, je tape Aire3d(cube) puis entrée ; le résultat n'est pas 96 mais 0.
Merci pour ton aide.
Je découvre à l'instant ton post, et je suis plein d'admiration devant tant de facilités !
N'ayant pas le temps d'analyser et comprendre tes macros, je me suis contenté de tester la macro Aire3d dans mon fichier animation1.teg.
En ligne de commande, je tape Aire3d(cube) puis entrée ; le résultat n'est pas 96 mais 0.
Merci pour ton aide.
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:
En ligne de commande, je tape Aire3d(cube) puis entrée ; le résultat n'est pas 96 mais 0.
Merci pour ton aide.
C'est normal, la variable cube est locale à ton élément graphique "trajectoire"! Ce que je voulais dire plus précisément, c'est que dans ton élément graphique "trajectoire", si tu ajoutes par exemple Label(2+8*i, Aire3d(cube)), tu verras s'afficher 96. Ok?
Re: Aire et périmètre d'une section plane
Effectivement !
J'ai alors ajouté à mon élément graphique "trajectoire" l'instruction Label(2+8*i, Aire3d(face)), et les aires s'affichent en fonction de la position du point M.
Je vais essayer d'améliorer le code afin d'afficher dans une même fenêtre le cube et les courbes représentatives.
@+ et encore merci.
J'ai alors ajouté à mon élément graphique "trajectoire" l'instruction Label(2+8*i, Aire3d(face)), et les aires s'affichent en fonction de la position du point M.
Je vais essayer d'améliorer le code afin d'afficher dans une même fenêtre le cube et les courbes représentatives.
@+ et encore merci.
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:
Je vais essayer d'améliorer le code afin d'afficher dans une même fenêtre le cube et les courbes représentatives.
Ok, mais ce n'est pas le plus facile à faire, car il y a du changement de repère dans l'air pour avoir tout dans le même graphique! Si tu veux tu peux peut-être regarder le code de l'exemple que j'avais fait pour jmd ici: bertrandParadox.teg
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:
Je vais essayer d'améliorer le code afin d'afficher dans une même fenêtre le cube et les courbes représentatives.
@+ et encore merci.
Salut Fabrice,
De mon côté j'ai fait un essai: fabrice29_06_08.teg. Cela pourra sans doute t'aider, j'ai essayé de commenter au mieux les instructions, notamment de l'élément graphique "courbe" où il y a le changement de repère.
Re: Aire et périmètre d'une section plane
Salut Patrick,
C'est beau !
Je ne vois pas comment je vais pouvoir améliorer ce code .
Merci pour le fichier commenté qui va sans aucun doute me permettre de progresser.
Une dernière petite question : j'utilise swftools pour créer des fichiers.swf, mais je ne sais pas comment obtenir mon animation dans une "jolie fenêtre" comme celle que tu utilises pour tes animations.
C'est beau !
Je ne vois pas comment je vais pouvoir améliorer ce code .
Merci pour le fichier commenté qui va sans aucun doute me permettre de progresser.
Une dernière petite question : j'utilise swftools pour créer des fichiers.swf, mais je ne sais pas comment obtenir mon animation dans une "jolie fenêtre" comme celle que tu utilises pour tes animations.
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:
Une dernière petite question : j'utilise swftools pour créer des fichiers.swf, mais je ne sais pas comment obtenir mon animation dans une "jolie fenêtre" comme celle que tu utilises pour tes animations.
Oui, il faudrait que je fasse un petit tutoriel pour ce genre de choses car ce n'est pas si facile que cela et cela aiderait beaucoup ceux qui veulent "habiller" leurs animations, mais je ne maîtrise pas encore complètement, aussi je m'inspire essentiellement de ce que fait JM-Sarlat sur son site Syracuse! Ceci dit je vais m'y employer prochainement.
Re: Aire et périmètre d'une section plane
Oui!
Moi aussi j'aurai voulu savoir comment faire de belle animation comme celle que tu poste ou celle présente sur Syracuse.
J'ai chercher de la doc sur les outils de la suite SWFTools, mais j'ai rien trouvé de très exploitables!!! Un petit peu d'aide de ta part serait la bienvenue!!!
Moi aussi j'aurai voulu savoir comment faire de belle animation comme celle que tu poste ou celle présente sur Syracuse.
J'ai chercher de la doc sur les outils de la suite SWFTools, mais j'ai rien trouvé de très exploitables!!! Un petit peu d'aide de ta part serait la bienvenue!!!
Re: Aire et périmètre d'une section plane
Bonsoir Patrick,
Les mots ne suffisent plus pour te remercier !!! (je suis un peu gêné)
J'ai lu ton post, et j'ai voulu tester avec une petite animation que j'avais créée avec TeXgraph
Néanmoins, je ne serais plus moi-même si tout se passait bien !
Le fichier essai.pdf n'apparaît pas dans /home/fab/animations/animation01.
Je précise que je travaille avec TeXgraph 1.94 beta-4, et que le fichier essai.pdf se trouve bien dans /home/fab/.TeXgraph.
Les mots ne suffisent plus pour te remercier !!! (je suis un peu gêné)
J'ai lu ton post, et j'ai voulu tester avec une petite animation que j'avais créée avec TeXgraph
Néanmoins, je ne serais plus moi-même si tout se passait bien !
Le fichier essai.pdf n'apparaît pas dans /home/fab/animations/animation01.
Je précise que je travaille avec TeXgraph 1.94 beta-4, et que le fichier essai.pdf se trouve bien dans /home/fab/.TeXgraph.
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:Bonsoir Patrick,
Les mots ne suffisent plus pour te remercier !!! (je suis un peu gêné)
Bonjour Fabrice,
Il faut attendre que ça marche pour remercier!
J'ai lu ton post, et j'ai voulu tester avec une petite animation que j'avais créée avec TeXgraph
Néanmoins, je ne serais plus moi-même si tout se passait bien !
Le fichier essai.pdf n'apparaît pas dans /home/fab/animations/animation01.
Je précise que je travaille avec TeXgraph 1.94 beta-4, et que le fichier essai.pdf se trouve bien dans /home/fab/.TeXgraph.
Problème de chemin: si ton fichier est créé dans /home/fab/.TeXgraph/ il ne peut pas l'être en même temps dans /home/fab/animations/animation01/, ou alors il y a quelque chose que je n'ai pas compris. Au pire tu peux le copier à la main, mais bon... c'est pas commode!
Lorsque tu demandes l'enregistrement de l'animation (bouton Enregistrer), TeXgraph te demande le nom du fichier pdf à créer, tu tapes alors /home/fab/animations/animation01/essai (à condition que le dossier /home/fab/animations/animation01/ existe bien sûr) et ton fchier essai.pdf doit apparaître (après un temps de compilation) dans ce dossier.
PS: je précise que la méthode a été testée sous les deux OS linux et windows, et donc je sais que ça marche! Dans le tuto, j'ai nommé le fichier animation01(.pdf) et le dossier le contenant: animation01, c'est le même nom, cela n'est pas gênant (personnellement je trouve même que c'est plus cohérent) mais pour éviter toute confusion j'ai renommé le fichier en essai.pdf dans le tuto.
Re: Aire et périmètre d'une section plane
Bonjour Patrick,
Hier soir, je n'ai pas suffisamment attendu. J'ai ensuite suivi la procédure indiquée, et j'ai bien un fichier essai.swf que j'ouvre, par exemple, avec gnash et un fichier essai.html que lui, par contre, je ne parviens pas à ouvrir avec Firefox.
Je vais probablement investir dans un portable.
Je réitère donc mes remerciements.
En fait, tout marche parfaitement. Le problème vient de mon ordinateur qui commence sérieusement à s'essouffler (récupéré au bahut: je n'utilise l'outil informatique que depuis deux ans à peine !) : il a fallu au moins 5 minutes pour charger le fichier dans /home/fab/animations/animation01 !!Il faut attendre que ça marche pour remercier!
Hier soir, je n'ai pas suffisamment attendu. J'ai ensuite suivi la procédure indiquée, et j'ai bien un fichier essai.swf que j'ouvre, par exemple, avec gnash et un fichier essai.html que lui, par contre, je ne parviens pas à ouvrir avec Firefox.
Je vais probablement investir dans un portable.
Je réitère donc mes remerciements.
F.Couvreur- Nombre de messages : 137
Age : 61
Date d'inscription : 10/02/2008
Re: Aire et périmètre d'une section plane
F.Couvreur a écrit:Bonjour Patrick,En fait, tout marche parfaitement. Le problème vient de mon ordinateur qui commence sérieusement à s'essouffler (récupéré au bahut: je n'utilise l'outil informatique que depuis deux ans à peine !) : il a fallu au moins 5 minutes pour charger le fichier dans /home/fab/animations/animation01 !!Il faut attendre que ça marche pour remercier!
Hier soir, je n'ai pas suffisamment attendu. J'ai ensuite suivi la procédure indiquée, et j'ai bien un fichier essai.swf que j'ouvre, par exemple, avec gnash et un fichier essai.html que lui, par contre, je ne parviens pas à ouvrir avec Firefox.
Je vais probablement investir dans un portable.
Je réitère donc mes remerciements.
Salut Fabrice,
Effectivement, ce genre de choses sollicitent pas mal la machine! La mienne a déjà 3 ans mais j'avais pris du bon matos et il tient bon pour le moment. C'est sûr qu'il te faut une machine rapide, de la ram (j'ai 512Mo mais 1Go serait mieux), et une bonne carte graphique.
C'est vrai que 5mn ça me parait long, sur ma machine il ne faut guère plus de 30s pour compiler le fichier!
Ravi en tous cas que cela marche maintenant, et en route vers de nouvelles animations!
Re: Aire et périmètre d'une section plane
Je viens de voir le mini tutoriel que tu as posté pour la création d'animation habillée.
Sincèrement : MERCI!!!
J'ai pas encore testé (en fait j'en ai pas l'oportunité sur semaine!!!) mais je vais tester ca ce week-end. Je vais essayer de faire un truc bien spectaculaire : vous n'allez pas en croire vos yeux!!! (je devrais peut-être pas faire ce genre de promesses vaniteuses : on est pas a l'abri que j'ai des problème et que je ne puisse au final pas réaliser ce que j'ai envie!!!)
Rendez vous lundi sur ce même topic pour voir ce dont je suis capable...
Sincèrement : MERCI!!!
J'ai pas encore testé (en fait j'en ai pas l'oportunité sur semaine!!!) mais je vais tester ca ce week-end. Je vais essayer de faire un truc bien spectaculaire : vous n'allez pas en croire vos yeux!!! (je devrais peut-être pas faire ce genre de promesses vaniteuses : on est pas a l'abri que j'ai des problème et que je ne puisse au final pas réaliser ce que j'ai envie!!!)
Rendez vous lundi sur ce même topic pour voir ce dont je suis capable...
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum