Le modèle CourbesNiv.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 CourbesNiv.mod

Messagepar P.Fradin » 23 Avr 2010 11:17

Le modèle CourbesNiv est une transformation en modèle du fichier exemple CourbesNiv.teg (qui ne sera donc plus dans la prochaine version) . Ce modèle permet le dessin d'une surface cartésienne (ou paramétrée) avec des courbes de niveaux z= dans différents styles, des sections planes sont également possibles, ainsi que différentes vues.

Ce modèle peut se charger dans l'interface graphique, avec un menu identique à celui du fichier exemples. Mais il peut aussi s'utiliser directement dans un document LaTeX, des macros de construction ont été ajoutées à cet effet (voir le fichier pdf).

Télécharger: CourbesNiv.zip ( version 0.6 du 14/07/12)

Le paquet contient 4 fichiers:

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

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

Un exemple dans un document LaTeX:

Code: Tout sélectionner
\begin{texgraph}[preload="CourbesNiv.mod"]
Marges(0,0,0,0), view(-10,10,-11,8), size(9),  theta:=220*deg,
surface( "(x+y)/(2+sin(y)*cos(x))", [ grille:=[0,5,0,10,30,30] ]),
fenetre( [x:=[0,5], y:=[0,10], z:=[0,11], pas:=[1,2,1], orthonorme:=1] ),
niveaux( for k from 1 to 10 do k od ), legende("$\frac{x+y}{2+\sin(y)\cos(x)}$"),
sections( [ M(2,5,5), -M(0,-1.5,1)] ),
voirboite:=1, voirtraces:=1, traitscaches:=noline,
afficher(),
DrawFacet(getplan( [ M(2,5,5), -M(0,-1.5,1)]), [color:=darkseagreen, FillOpacity:=0.4])
\end{texgraph}


essai.png
essai.png (52.95 Kio) Consulté 65544 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar projetmbc » 23 Avr 2010 14:01

Merci c'est super.

Une petite question : peut-on utiliser une perspective cavalière ?
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 23 Avr 2010 14:33

Il n'y a que deux types de projections définies par défaut dans TeXgraph: la projection orthographique, et la projection centrale. Pour le reste, il faut modfier soi-même la matrice 3d.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar projetmbc » 23 Avr 2010 20:14

C'est noté. Merci.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Le modèle CourbesNiv.mod

Messagepar Alphonse Capriani » 23 Avr 2010 23:02

Salut Tout le monde (Et non : je ne suis pas mort! :roll: )

Aah aaaaahhhh! une mise à jour de CourbesNiv.teg. Encore mieux : un fichier *.mac avec une doc PDF!!!

Je me jette la dessus ce week-end, et je vous fait part de mes remarques prochainement...

A ce sujet, le fichier Cristallo.mac progresse : j'ai (enfin) bouclé les pavages de polygones régulier, et j'ai entamé les Pavages de Penrose. A ce sujet, j'ai un truc à te demander Patrick, mais pour ca, je vais peut être créer un nouveau sujet...
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Le modèle CourbesNiv.mod

Messagepar projetmbc » 23 Avr 2010 23:22

Je viens de parcourir rapidement la doc. L'exemple que tu as mis ici m'intéresse beaucoup en vue d'une utilisation sur le net. Je vais utiliser ceci pour imiter un scanner de surface. Peut-on faire ressortir dans la figure ci-dessus la section en rouge et gras par exemple ?
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 24 Avr 2010 10:15

projetmbc a écrit:Peut-on faire ressortir dans la figure ci-dessus la section en rouge et gras par exemple ?


Oui, en faisant calculer l'intersection entre la surface et le plan. Il faut savoir (ce n'est pas dans la doc) que c'est l'instruction afficher() qui calcule la surface et lui fait subir les éventuelles sections, la surface est ensuite stockée dans la variable prédéfinie stock.

On peut ajouter, après l'instruction afficher(), les intructions suivantes (en mettant le plan dans une variable plan):

Code: Tout sélectionner
L:=ClipFacet(stock, plan, derriere, bord),
Color:=red, Width:=12, Ligne3D(bord,0), Width:=4, Color:=black,


Ce qui donne finalement:

Code: Tout sélectionner
\begin{texgraph}[preload="CourbesNiv.mod"]
Marges(0,0,0,0), view(-10,10,-11,8), size(9),  theta:=220*deg,
surface( "(x+y)/(2+sin(y)*cos(x))", [ grille:=[0,5,0,10,30,30] ]),
fenetre( [x:=[0,5], y:=[0,10], z:=[0,11], pas:=[1,2,1], orthonorme:=1] ),
niveaux( for k from 1 to 10 do k od ), legende("$\frac{x+y}{2+\sin(y)\cos(x)}$"),
plan:= [ M(2,5,5), -M(0,-1.5,1)], sections( plan ),
voirboite:=0, voirtraces:=0, traitscaches:=noline, afficher(),

L:=ClipFacet(stock, plan, derriere, bord),
Color:=red, Width:=12, Ligne3D(bord,0), Width:=4, Color:=black,

DrawFacet(getplan(plan), [color:=darkseagreen, FillOpacity:=0.4])
\end{texgraph}


bord.png
bord.png (41.85 Kio) Consulté 65467 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar projetmbc » 24 Avr 2010 12:32

Merci.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Le modèle CourbesNiv.mod

Messagepar phil pham » 25 Avr 2010 00:32

Bonsoir,

J'ai un petit soucis avec la fonction vue().

Afin d'afficher les projections sur le plan yOz, il m'est nécessaire de lancer d'abord vue(xOy) avant. Par exemple, le code suivant ne correspond pas à ce que je veux:

Code: Tout sélectionner
\begin{texgraph}[name=paraboloide-yOz,preload="CourbesNiv.mod"]
Marges(0,0,0,0), view(-6,6,-7,6), size(10),
surface( "[x^2+y^2]", [ grille:=[-2,2,-2,2,20,20] ]),
fenetre( [x:=[-2,2], y:=[-2,2], z:=[0,8], pas:=[1,1,1], orthonorme:=1] ),
vue(yOz),
afficher(),
\end{texgraph}


alors que celui-ci oui:

Code: Tout sélectionner
\begin{texgraph}[name=paraboloide-yOz,preload="CourbesNiv.mod"]
Marges(0,0,0,0), view(-6,6,-7,6), size(10),
surface( "[x^2+y^2]", [ grille:=[-2,2,-2,2,20,20] ]),
fenetre( [x:=[-2,2], y:=[-2,2], z:=[0,8], pas:=[1,1,1], orthonorme:=1] ),
vue(xOy), vue(yOz),
afficher(),
\end{texgraph}


Le fichier latex et le fichier pdf obtenu : tex et pdf

Cordialement, phil
Cordialement, Philippe.
Avatar de l’utilisateur
phil pham
 
Messages: 24
Inscription: 21 Déc 2009 19:08

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 25 Avr 2010 10:27

Mise à jour du modèle (version 0.2) dans le post initial. Le problème de la macro vue est résolu.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar phil pham » 25 Avr 2010 11:47

Bonjour,

Merci pour la correction rapide. Un autre soucis avec ce modèle : l'ouverture par l'interface graphique de TeXgraph des fichiers teg créés par un script latex . Cela n'est peut-être pas fait pour ?
Je précise mon configuration: système linux (debian), TeXgraph version 1.94 installé dans /usr/local, modèle CourbesNiv.mod installé dans $HOME/TeXgraphMac

Le code suivant
Code: Tout sélectionner
 
\begin{texgraph}[name=paraboloide-boite,export=pgf,preload="CourbesNiv.mod"]
Marges(0,0,0,0), view(-6,6,-7,6), size(10),
voirboite:=1,
surface( "[x^2+y^2]", [ grille:=[-2,2,-2,2,20,20] ]),
fenetre( [x:=[-2,2], y:=[-2,2], z:=[0,8], pas:=[1,1,1], orthonorme:=1] ),
niveaux( for k from 1 to 8 do k od ),
afficher(),
\end{texgraph}


permet d'obtenir le fichier teg

Code: Tout sélectionner
18##InputMac("CourbesNiv.mod")##
14#image#[
Marges(0,0,0,0), view(-6,6,-7,6), size(10),
voirboite:=1,
surface( "[x^2+y^2]", [ grille:=[-2,2,-2,2,20,20] ]),
fenetre( [x:=[-2,2], y:=[-2,2], z:=[0,8], pas:=[1,1,1], orthonorme:=1] ),
niveaux( for k from 1 to 8 do k od ),
afficher(),
]##


- si j'effectue un clic droit pour l'ouvrir avec startTeXgraph, j'obtiens le message d'erreur suivant:
erreur1.png
erreur1.png (12.26 Kio) Consulté 65404 fois

Une validation par «OK» lance TeXgraph mais sans ouvrir le fichier.

- si je lance d'abord TeXgraph et l'utilise pour ouvrir ce fichier, la fenêtre suivante apparaît
erreur2.png
erreur2.png (41.09 Kio) Consulté 65405 fois

Dans ce cas, la touche «Cancel» permet d'obtenir la figure mais la touche «OK» donne à priori deux images superposées (des clics successifs sur «Changer la vue» permet d'effacer l'image superflue).
erreur3.png
erreur3.png (64.32 Kio) Consulté 65404 fois


- Maintenant, si je crée un fichier teg à partir d'une latex contenant vue(xOy), avec la suite d'erreurs signalées, le fichier s'ouvre, un clic sur «Changer la vue» donne une superposition de deux images: le solide en 3D et la projection sur le plan, d'autres clics sur le même bouton ne donne plus rien.
Cordialement, Philippe.
Avatar de l’utilisateur
phil pham
 
Messages: 24
Inscription: 21 Déc 2009 19:08

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 25 Avr 2010 12:59

phil pham a écrit:Bonjour,


Bonjour Phil,

Merci pour la correction rapide. Un autre soucis avec ce modèle : l'ouverture par l'interface graphique de TeXgraph des fichiers teg créés par un script latex . Cela n'est peut-être pas fait pour ?


Le modèle ouvert par l'interface graphique va de lui-même créer un élément graphique qui s'appelle dessin. Effectivement, ce n'est pas prévu pour ouvrir des fichiers teg créés par un script LaTeX. Par contre ce que tu peux faire, c'est lancer l'interface graphique, charger le modèle CourbesNIv.mod, tu verras l'élément graphique dessin se créer, ouvre le et remplace la commande par la commande que tu avais mis dans l'environnement TeXgraph, à savoir pour ton exemple:

Code: Tout sélectionner
[
Marges(0,0,0,0), view(-6,6,-7,6), size(10),
voirboite:=1,
surface( "[x^2+y^2]", [ grille:=[-2,2,-2,2,20,20] ]),
fenetre( [x:=[-2,2], y:=[-2,2], z:=[0,8], pas:=[1,1,1], orthonorme:=1] ),
niveaux( for k from 1 to 8 do k od ),
afficher()
]


et normalement c'est bon (je viens de tester).


- si j'effectue un clic droit pour l'ouvrir avec startTeXgraph, j'obtiens le message d'erreur suivant:
erreur1.png

Une validation par «OK» lance TeXgraph mais sans ouvrir le fichier.


Je n'ai pas ce message d'erreur avec la version 1.94 sur mon système (Ubuntu 8.04). Il y a eu des correctifs pour les macros de la version 1.94, tu les avais chargés?

- si je lance d'abord TeXgraph et l'utilise pour ouvrir ce fichier, la fenêtre suivante apparaît
erreur2.png

Dans ce cas, la touche «Cancel» permet d'obtenir la figure mais la touche «OK» donne à priori deux images superposées (des clics successifs sur «Changer la vue» permet d'effacer l'image superflue).
erreur3.png


- Maintenant, si je crée un fichier teg à partir d'une latex contenant vue(xOy), avec la suite d'erreurs signalées, le fichier s'ouvre, un clic sur «Changer la vue» donne une superposition de deux images: le solide en 3D et la projection sur le plan, d'autres clics sur le même bouton ne donne plus rien.


C'est parce qu'il y a déjà un élément appelé dessin qui est automatiquement créé par le modèle dans l'interface graphique. Du coup tu as deux éléments graphiques!
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar phil pham » 25 Avr 2010 16:53

Salut,

P.Fradin a écrit:
- si j'effectue un clic droit pour l'ouvrir avec startTeXgraph, j'obtiens le message d'erreur suivant:
erreur1.png

Une validation par «OK» lance TeXgraph mais sans ouvrir le fichier.


Je n'ai pas ce message d'erreur avec la version 1.94 sur mon système (Ubuntu 8.04). Il y a eu des correctifs pour les macros de la version 1.94, tu les avais chargés?


Je viens de mettre à jour les macros mais le problème est toujours présent. A noter que cela ne se passe qu'avec un fichier demandant le chargement de la macro (ou d'une macro?) et provenant d'une source latex. Voici pour information les messages affichés lors d'un lancement en console

** En user:

- Texgraph 1.94 installé en /usr/local

Code: Tout sélectionner
phil@dell:~$ startTeXgraph /home/phil/mesdocs/lycee/TS/1-cours/spe/5-surfaces/3_paraboloide/paraboloide-boite.teg
[WARNING] Out of OEM specific VK codes, changing to unassigned
TApplication.HandleException Access violation
  Stack trace:
  $0000000000490BEA
  $0000000000530135
  $0000000000534120
  $0000000000688128
  $000000000052E489
  $000000000048DD32
  $0000000000537425
  $000000000053D2AE
  $000000000048C6B2
  $000000000048FBB0
  $000000000049135E
  $0000000000827DD0
  $000000000078826B
  $0000000000769253
  $0000000000745F29
  $0000000000769253
  $0000000000738E09


si j'appuie sur «Cancel»

Code: Tout sélectionner
TGtkWidgetSet.DeleteObject GdiObject=00007F4D72AEFAA0 gdiPen is still used. DCCount=1
DC: 00007F4D6B0BF020 nil
TGtkWidgetSet.DeleteObject GdiObject=00007F4D72AEFD20 gdiBrush is still used. DCCount=1
DC: 00007F4D6B0BF020 nil
[TGtkWidgetSet.Destroy] WARNING: There are 1 unreleased DCs, a detailed dump follows:
[TGtkWidgetSet.Destroy]  DCs:   00007F4D6B0BF020
[TGtkWidgetSet.Destroy] WARNING: There are 6 unreleased GDIObjects, a detailed dump follows:
[TGtkWidgetSet.Destroy]   GDIOs: 00007F4D72AEFDA0 00007F4D72AEF520 00007F4D72AEFAA0 00007F4D72AEFC20 00007F4D72AEFD20 00007F4D72AEFCA0
[TGtkWidgetSet.Destroy]   gdiBitmap: 2
[TGtkWidgetSet.Destroy]   gdiBrush: 2
[TGtkWidgetSet.Destroy]   gdiPen: 2


- avec TeXgraph 1.95 (non installé, juste décompressé), même type de message

** en root, idem avec les 2 versions.

Bon cela dit, comme tu le précises, ce n'est pas prévu pour ouvrir des fichiers teg créés par un script LaTeX
;)
Cordialement, Philippe.
Avatar de l’utilisateur
phil pham
 
Messages: 24
Inscription: 21 Déc 2009 19:08

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 25 Avr 2010 17:19

phil pham a écrit:Bon cela dit, comme tu le précises, ce n'est pas prévu pour ouvrir des fichiers teg créés par un script LaTeX
;)


Oui mais quand même, on devrait avoir le même comportement du programme l'un et l'autre! Et ce n'est pas le cas! Peux-tu vérifier l'encodage des fichiers teg créés par un script LaTeX (mais je n'y crois pas trop)? Cela viendrait-il de nos deux systèmes qui ne sont pas exactement les mêmes?
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar phil pham » 27 Avr 2010 00:34

Salut,

La commande
Code: Tout sélectionner
file
me renvoie ASCII text.

Ma distribution est une debian version testing mais avec un noyau et un xorg stable (une sombre histoire de carte graphique...), le tout sous amd64. Je testerai sur une ubuntu (la version pour minidell) ce week end et te tiens au courant.
Cordialement, Philippe.
Avatar de l’utilisateur
phil pham
 
Messages: 24
Inscription: 21 Déc 2009 19:08

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 27 Avr 2010 07:57

Je viens d'obtenir l'erreur signalée en voulant lancer le ficher teg à la souris ou en ligne de commande, par contre le même fichier lu depuis l'interface ne provoque pas d'erreur! D'autre part, le même fichier exécuté en ligne de commande avec la version non GUI ne provoque pas d'erreur non plus, voilà qui est très curieux... J'essaie de creuser.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 27 Avr 2010 17:22

P.Fradin a écrit:J'essaie de creuser.


C'est bon, l'erreur a été trouvée! C'est l'instruction Input dans CourbesNiv.mod qui suppose que l'interface graphique est déjà construite et ce n'est pas le cas lorsqu'on ouvre le fichier en ligne de commande. Ce sera réparé pour la prochaine version test. Merci Phil pour avoir rapporté ce bug.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 29 Avr 2010 11:09

Mise à jour du modèle dans le post initial (version 0.3).
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar Alphonse Capriani » 12 Mai 2010 15:25

Tiens! J'observe un léger disfonctionnement de CourbesNiv.mod (en fait il s'agit d'un trait parasite)

Voici une capture d'écran :

Image


J'ai utiliser la fonction de la doc (le point selle). Mais de toute facon, j'obtient un truc similaire quel que soit la fonction.
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 12 Mai 2010 15:44

Salut Alphonse,

Je pense à priori que cela correspond aux facettes dont le vecteur normal est quasiment orthogonal au vecteur caméra-facette.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar Alphonse Capriani » 12 Mai 2010 15:45

Et ya moyen de corriger tout ca?
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 12 Mai 2010 15:52

Déjà, tu peux supprmer le lissage ;)

test.png
test.png (25.38 Kio) Consulté 65201 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 26 Août 2011 14:40

Mise en ligne de la version 0.5.

Ajout d'un style "continu" dans la coloration de la surface en fonction de z, comme le style "chaleur", mais en utilisant la palette modifiable par l'utilisateur:
styleNiv := styleCont

Code: Tout sélectionner
[
Marges(0, 0, 0, 0), view(-10, 10, -11, 8), size(9), theta :=220*deg,
surface( "(x+y)/(2+sin(y)*cos(x))", [ grille :=[0, 5, 0, 10, 30, 60] ]),
fenetre( [x :=[0, 5], y :=[0, 10], z :=[0, 11], pas :=[1, 2, 1], orthonorme :=1] ),
legende("$\frac{x+y}{2+\sin(y)\cos(x)}$"),
palette:=[black, darkgray, gray, lightgray, white], styleNiv :=styleCont,
afficher([],[],[LineStyle:=noline])
]

courbesniv.png
courbesniv.png (36.73 Kio) Consulté 64390 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle CourbesNiv.mod

Messagepar Joffrey » 08 Mai 2012 21:25

Bonsoir,

Comment faire pour que dans le graphique suivant, la légende de chaque axe soit $x$, $y$ et $z$ ?
Il me semble avoir déjà posé la question, mais je ne retrouve pas le post.
Code: Tout sélectionner
[
theta:=300*deg,phi:=65*deg,
Marges(0, 0, 0, 0), view(-10,10, -11, 8), size(18),
surface("(x*y)/4", [grille :=[0, 10, 0, 8, 11, 11] ]),
fenetre([x:=[0, 10], y:=[0,8], z:=[0,20], pas:=[1,1,2], orthonorme:=0] ),
legende(),
niveaux(for k from 2 to 20 step 2 do k od ,
        [orange, gray, white, orange, gray, white, orange, gray, white, orange, gray]) ,
afficher(),


Merci
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 287
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Le modèle CourbesNiv.mod

Messagepar P.Fradin » 08 Mai 2012 21:54

Bonsoir,

Code: Tout sélectionner
    afficher([newxlegend("$x$"),newylegend("$y$"),newzlegend("$z$")], [], [])
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Suivant

Revenir vers Macros à télécharger

Qui est en ligne ?

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

cron