[tikz] Représenter des intervalles
[tikz] Représenter des intervalles
Bonjour,
je cherche des pistes pour obtenir des intervalles comme dans les deux exemples joints.
je cherche des pistes pour obtenir des intervalles comme dans les deux exemples joints.
Re: tikz-Représenter des intervalles
Je ne réponds pas tout à fait à la demande... mais j'ai vu passer cela :
Index des fonctions Asymptote- Pour consulter ou me demander des exemples : Galerie et AsyForum - Notepad++, l'éditeur qu'il faut pour Asymptote sous Windows - TexWorks+LaTexMk+Asymptote
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
Oui mais je ne recommande pas mon package actuellement car je dois le mettre à jour avec la version pgf 2.00 maisGMaths a écrit :Je ne réponds pas tout à fait à la demande... mais j'ai vu passer cela :
surtout je le prépare à pgf 2.00 CVS.
Il y a de nombreuses méthodes pour faire ce genre de chose par exemple un code simple serait
Code : Tout sélectionner
\begin{tikzpicture}[>=latex]
\draw[->] (0,0) --(10,0);
\node[] at (7,0) {$\Big]$};
\node[] at (4,0) {$\Big[$};
\node[below=8pt] at (7,0) {$5$};
\node[below=8pt] at (0,0) {$-\infty$};
\node[below=8pt] at (10,0) {$+\infty$};
\node[below=8pt] at (4,0) {$2$};
\foreach \xp in {0,0.2,...,3.8}{\node[] at (\xp,0) {/};}
\foreach \xp in {7.2,7.4,...,9.8}{\node[] at (\xp,0) {/};}
\end{tikzpicture}
Alain Matthes
- Pièces jointes
-
- intervalle.png (7.57 Kio) Consulté 7599 fois
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
Je n'ai pas répondu exactement à la question mais je n'ai guère le temps de développer.
si on veut exactement ce qui est demandé il faut se retrousser les manches.
Par exemple, les crochets sont faciles à faire si on ne veut pas utiliser des objets tout faits.
On nomme un point sur l'axe des abscisses par exemple A (xa,ya) on obtient (xa,ya+d) puis (xa,ya-d) idem avec B puis on peut faire le rectangle grisé ( avec un fond transparent opacity=.5) etc...
Pour le second exemple, je l'ai déjà fait mais je ne retrouve pas l'exemple :(
le principe est le même simplement il faut déterminer les points sur la courbe.
On peut faire cela assez facilement avec fp si on veut quelque chose de précis et surtout si on veut automatiser le truc. J'avais le code sur le net mais je l'ai perdu.
Alain Matthes
si on veut exactement ce qui est demandé il faut se retrousser les manches.
Par exemple, les crochets sont faciles à faire si on ne veut pas utiliser des objets tout faits.
On nomme un point sur l'axe des abscisses par exemple A (xa,ya) on obtient (xa,ya+d) puis (xa,ya-d) idem avec B puis on peut faire le rectangle grisé ( avec un fond transparent opacity=.5) etc...
Pour le second exemple, je l'ai déjà fait mais je ne retrouve pas l'exemple :(
le principe est le même simplement il faut déterminer les points sur la courbe.
On peut faire cela assez facilement avec fp si on veut quelque chose de précis et surtout si on veut automatiser le truc. J'avais le code sur le net mais je l'ai perdu.
Alain Matthes
Re: tikz-Représenter des intervalles
En fait, je vais passer par Python.Altermundus a écrit :On peut faire cela assez facilement avec fp si on veut quelque chose de précis et surtout
si on veut automatiser le truc. J'avais le code sur le net mais je l'ai perdu.
Je vais préciser ce que je cherche à faire avec tikz que je ne connais pas du tout :
- 1) Comment trace-t-on un rectangle avec une couleur et une transparence données ?
- 2) Comment tracer une fonction et aussi un morceau d'aire entre la courbe et un l'un des axes ?
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
1 ) pour le rectangle c'est facileprojetmbc a écrit :
- 1) Comment trace-t-on un rectangle avec une couleur et une transparence données ?
Toute info. est la bienvenue.
- 2) Comment tracer une fonction et aussi un morceau d'aire entre la courbe et un l'un des axes ?
\draw (1,1) rectangle (5,2);
pour avoir la couleur et la transparence
\draw[fill=gray, opacity=.4] (1,1) rectangle (5,2);
2) Pour la fonction je t'envoie le code après avoir déjeuné
Alain
Re: tikz-Représenter des intervalles
Bon appétit !
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
Merci avec un peu de bûche cela est plus facileprojetmbc a écrit :Bon appétit !
Bon j'ai fait simple pour que cela soit plus compréhensible, pas d'astuce pas d'automatisation
Code : Tout sélectionner
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}[domain=0:4,scale=2]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red,line width=.8]%
plot (\x,{0.05*exp(\x))}) node[right] {%
$f(x) = \frac{1}{20} \mathrm e^x$};
% premier crochet axe des abscisses
\path[coordinate] (2.8,0) coordinate (XA)
(3.2,0) coordinate (XB);
\draw[blue, line width=2pt] (XA)--(XB);
\draw[blue, line width=2pt] (XA)--+(0,+.2)--+(-.2,+.2);
\draw[blue, line width=2pt] (XA)--+(0,-.2)--+(-.2,-.2);
\draw[blue, line width=2pt] (XB)--+(0,+.2)--+(+.2,+.2);
\draw[blue, line width=2pt] (XB)--+(0,-.2)--+(+.2,-.2);
% la courbe
\draw[blue] (2.8,0)--(2.8,{0.05*exp(2.8)}) coordinate (FA)--+(-2.8,0) coordinate (YA);
\draw[blue] (3.2,0)--(3.2,{0.05*exp(3.2)}) coordinate (FB)--+(-3.2,0) coordinate (YB);
% second crochet axe des ordonnées
\draw[blue, line width=2pt] (YA)--(YB);
\draw[blue, line width=2pt] (YA)--+(+.2,0)--+(+.2,-.2);
\draw[blue, line width=2pt] (YA)--+(-.2,0)--+(-.2,-.2);
\draw[blue, line width=2pt] (YB)--+(+.2,0)--+(+.2,.2);
\draw[blue, line width=2pt] (YB)--+(-.2,0)--+(-.2,.2);
\path[fill=gray,opacity=.4](XA)--(FA)--(YA)--(YB)--(FB)--(XB)--cycle;
\end{tikzpicture}
\end{document}
On peut également faire une macro pour automatiser la fabrication.
Je n'ai pas utiliser gnuplot ni fp c'est donc tikz (enfin tex) qui calcule
et ce n'est pas si mauvais (ok avec les détracteurs, ce n'est pas son boulot)
Je peux donner bien sûr toutes les explications nécessaires
Alain Matthes
Re: tikz-Représenter des intervalles
Superbe ton exemple.
Une question relativement à ce que tu as écrit :
Une question relativement à ce que tu as écrit :
Je pense m'occuper du calcul des segments pour tracer la courbe via Python. Peut-on les passer à tikz pour qu'il les trace ?Altermundus a écrit :Je n'ai pas utiliser gnuplot ni fp c'est donc tikz (enfin tex) qui calcule et ce n'est pas si mauvais (ok avec les détracteurs, ce n'est pas son boulot)
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
Oui c'est possible mais là je n'y connais rien 'enfin pas grand-chose) mais je sais que des utilisateurs de mes packages sur les graphes le font.projetmbc a écrit :Superbe ton exemple.
Une question relativement à ce que tu as écrit :Je pense m'occuper du calcul des segments pour tracer la courbe via Python. Peut-on les passer à tikz pour qu'il les trace ?Altermundus a écrit :Je n'ai pas utiliser gnuplot ni fp c'est donc tikz (enfin tex) qui calcule et ce n'est pas si mauvais (ok avec les détracteurs, ce n'est pas son boulot)
Il faudrait savoir comment tu veux procéder. Pourquoi Python ? sur ce coup gnuplot et fp suffisent.
Avec gnuplot on peut tracer précisément la courbe sans problème de dimension. Je l'ai fait pour tkz-fct, ensuite on peut
automatiser le calcul avec fp , sans avoir à réécrire la fonction pour le calcul de FA et FB. Cela aussi je sais faire.
Il y a un problème de syntaxe entre gnuplot et fp . Il y a sur le forum je crois, un exemple pour travailler avec bc, il te suffit
de suivre cet exemple si tu veux passer par python ou bien voir ce que fait R et sweave.
En gros tu passes ta commande à Python ( elle doit comporter le nom du fichier que python va créer pour te rendre
les résultats) mais là je ne vois pas l'avantage que tu as avec python sur gnuplot car c'est déjà fait avec gnuplot sauf si
tu fais d'autre trucs avec python. Cela dit c'est super intéressant à étudier.
Un autre exemple pour sortir de tikz et y revenir c'est gnuplottex.sty
Une autre solution, c'est lualatex et c'est justement intéressant dans des cas comme celui-ci et c'est fait pour ça !
Voici un code un peu plus automatisé
Code : Tout sélectionner
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows}
\tikzset{CrochetStyle/.style ={blue, line width=2pt}}
\newcommand{\xcrochet}[4]{
\draw[CrochetStyle] (#1)--(#2);
\draw[CrochetStyle] (#1)--+(0,+#3)--+(-#4,+#3);
\draw[CrochetStyle] (#1)--+(0,-#3)--+(-#4,-#3);
\draw[CrochetStyle] (#2)--+(0,+#3)--+(+#4,+#3);
\draw[CrochetStyle] (#2)--+(0,-#3)--+(+#4,-#3);
}
\newcommand{\ycrochet}[4]{
\draw[CrochetStyle] (#1)--(#2);
\draw[blue, line width=2pt] (YA)--+(+#4,0)--+(+#4,-#3);
\draw[blue, line width=2pt] (YA)--+(-#4,0)--+(-#4,-#3);
\draw[blue, line width=2pt] (YB)--+(+#4,0)--+(+#4,+#3);
\draw[blue, line width=2pt] (YB)--+(-#4,0)--+(-#4,+#3);
}
\newcommand{\zone}[4]{%
}
\begin{document}
\newcommand\dx{.5} % rayon intervalle X
\newcommand\xo{2.5} % centre intervalle X
\newcommand\cl{.1} % largeur des crochets
\newcommand\ch{.3} % hauteur des crochets
\begin{tikzpicture}[domain=0:4,scale=2]
% la grille
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
% les axes
\draw[->] (-0.2,0) -- (4.2,0) node(xline)[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node(yline)[above] {$f(x)$};
% la courbe
\draw[color=red,line width=.8]%
plot (\x,{0.05*exp(\x))}) node[right] {%
$f(x) = \frac{1}{20} \mathrm e^x$};
% abscisse
\path[coordinate] (\xo-\dx,0) coordinate (XA)
(\xo+\dx,0) coordinate (XB);
% les points sur la courbe FA et FB
\draw[blue] (XA)--++(0,{0.05*exp(\xo-\dx)}) coordinate (FA)%
-- (FA -| yline) coordinate (YA);
\draw[blue] (XB)--++(0,{0.05*exp(\xo+\dx)}) coordinate (FB)%
-- (FB -| yline) coordinate (YB);
\path[fill=gray,opacity=.4](XA)--(FA)--(YA)--(YB)--(FB)--(XB)--cycle;
% les crochets
\xcrochet{XA}{XB}{\ch}{\cl}
\ycrochet{YA}{YB}{\cl} {\ch}
\end{tikzpicture}
\end{document}
Re: tikz-Représenter des intervalles
En fait je me pose la question au cas où tikz ne répondrait pas à toutes mes attentes.Altermundus a écrit :Oui c'est possible mais là je n'y connais rien 'enfin pas grand-chose) mais je sais que des utilisateurs de mes packages sur les graphes le font.projetmbc a écrit :Je pense m'occuper du calcul des segments pour tracer la courbe via Python. Peut-on les passer à tikz pour qu'il les trace ?
Il faudrait savoir comment tu veux procéder. Pourquoi Python ?
Je vais regarder tout cela.Altermundus a écrit :si tu veux passer par python ou bien voir ce que fait R et sweave.
En gros tu passes ta commande à Python ( elle doit comporter le nom du fichier que python va créer pour te rendre
les résultats) mais là je ne vois pas l'avantage que tu as avec python sur gnuplot car c'est déjà fait avec gnuplot sauf si tu fais d'autre trucs avec python.[...]Un autre exemple pour sortir de tikz et y revenir c'est gnuplottex.sty
As-tu un lien avec des exemples concrets d'utilisation ?Altermundus a écrit :Une autre solution, c'est lualatex et c'est justement intéressant dans des cas comme celui-ci et c'est fait pour ça !
Sinon dans ton code, à quoi sert ce qui suit ?
Code : Tout sélectionner
\newcommand{\zone}[4]{%
}
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: tikz-Représenter des intervalles
projetmbc a écrit :
Sinon dans ton code, à quoi sert ce qui suit ?Code : Tout sélectionner
\newcommand{\zone}[4]{% } [/quote] Cela ne sert à rien. C'est la préparation pour une macro qui automatise le tout mais là je suis parti pour quelques jours; ce sera pour plus tard Bonnes fêtes Alain
Re: [tikz] Représenter des intervalles
Ok. Je risque de revenir à l'attaque dans un futur proche car dans mon prog. il y aura la possibilité de travailler avec tikz ou au choix avec asymptote (même si son rendu me gêne un peu).
Au passage, as-tu testé ceci : http://www.fauskes.net/nb/introduction-to-sketch/ ? Cela a l'air pas mal pour la 3D. Je vais tester cela sous Mac O$\$$ et aussi voir cela avec mon pote le Koala.
Au passage, as-tu testé ceci : http://www.fauskes.net/nb/introduction-to-sketch/ ? Cela a l'air pas mal pour la 3D. Je vais tester cela sous Mac O$\$$ et aussi voir cela avec mon pote le Koala.
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: [tikz] Représenter des intervalles
Oui j'ai testé et c'est assez puissant ( j'ai eu quelques problèmes pour compiler sous OS X) mais j'ai commencé à tester TikZ avec la 3D; j'essaie si possible à ne pas avoir un autre langage à apprendre.projetmbc a écrit :Ok. Je risque de revenir à l'attaque dans un futur proche car dans mon prog. il y aura la possibilité de travailler avec tikz ou au choix avec asymptote (même si son rendu me gêne un peu).
Au passage, as-tu testé ceci : http://www.fauskes.net/nb/introduction-to-sketch/ ? Cela a l'air pas mal pour la 3D. Je vais tester cela sous Mac O$\$$ et aussi voir cela avec mon pote le Koala.
Je vais donc essayer de faire le maximum de choses d'abord avec TikZ. Je ne fais pas énormement de dessins 3D et il y a aussi gnuplot qui me suffit
pour le moment
Alain
Re: [tikz] Représenter des intervalles
Quel souci ? Avais-tu installé XCode ?Altermundus a écrit :Oui j'ai testé et c'est assez puissant ( j'ai eu quelques problèmes pour compiler sous OS X) mais j'ai commencé à tester TikZ avec la 3D; j'essaie si possible à ne pas avoir un autre langage à apprendre.
Je vais essayer via un "./configure" , "make all" puis un "sudo make install".
Sinon a-t-on, un support des couleurs RGB dans Sketch 3D ? Je n'ai rien vu à ce sujet dans la doc.
PS : Côté 3D, j'ai besoin de la géométrie basique du Lycée, mais aussi de pouvoir tracer des surfaces avec éventuellement un plan de section. Pour le coup je ferais bosser Python et Sketch 3D pour me faire mes facettes. Je doute que Latex permettent cela.
-
- Utilisateur éprouvé
- Messages : 557
- Inscription : lundi 28 mai 2007, 10:31
- Statut actuel : Autre
- Localisation : Paris
- Contact :
Re: [tikz] Représenter des intervalles
Oui bien sûr, en général je recompile tout avec plus ou moins de facilité mais il y avait un problème que j'ai réglé après un échange avec l'auteur du logiciel; Je ne suis pas chez moi aussi je n'ai pasprojetmbc a écrit :Quel souci ? Avais-tu installé XCode ?Altermundus a écrit :Oui j'ai testé et c'est assez puissant ( j'ai eu quelques problèmes pour compiler sous OS X) mais j'ai commencé à tester TikZ avec la 3D; j'essaie si possible à ne pas avoir un autre langage à apprendre.
Je vais essayer via un "./configure" , "make all" puis un "sudo make install".
le mail qui expliquait le problème. de plus mes neurones sont vieillissants et j'ai oublié ce qui n'allait pas.
c'est sans doute corrigé depuis...
Je n'avais pas regardé donc je n'en sais rien.projetmbc a écrit : Sinon a-t-on, un support des couleurs RGB dans Sketch 3D ? Je n'ai rien vu à ce sujet dans la doc.
Je pense que l'on peut s'en sortir pour de la géométrie basique du Lycée. Je fais des essais depuis quelques semaines dessus aussi si tu as des exemples, je veux bien essayer de les créer avec TikZ.projetmbc a écrit : PS : Côté 3D, j'ai besoin de la géométrie basique du Lycée, mais aussi de pouvoir tracer des surfaces avec éventuellement un plan de section. Pour le coup je ferais bosser Python et Sketch 3D pour me faire mes facettes. Je doute que Latex permettent cela.
En principe, tant que l'on bosse avec des droites, des cercles, des ellipses on peut s'en sortir.
Alain
Re: [tikz] Représenter des intervalles
Voici quelques exemples pris très rapidement dans mes cours de Première S et de Term. S. Si cela peut donner des idées... Ce sera mon cadeau de Noël.
Ame sensible, avant de regarder le PDF, lire ci-dessous ma réponse à oleanet.
Je viens de tester avec succès sketch et je l'adopte. C'est on ne peut plus clean qu'Asymptote. Il reste à le pousser dans ces retranchements.
Ame sensible, avant de regarder le PDF, lire ci-dessous ma réponse à oleanet.
Je viens de tester avec succès sketch et je l'adopte. C'est on ne peut plus clean qu'Asymptote. Il reste à le pousser dans ces retranchements.
Dernière modification par projetmbc le jeudi 24 décembre 2009, 23:38, modifié 2 fois.
Re: [tikz] Représenter des intervalles
Avec les fichiers c'est mieux. C'est ici...
- Pièces jointes
-
- exempleFig3D_Lycee.pdf
- (1.35 Mio) Téléchargé 424 fois
Re: [tikz] Représenter des intervalles
Vous êtes vraiment sérieux? Franchement, quand je vois un fichier de 1.35Mo pour 3 pages, déjà ça freine... Quant à la qualité des figures, honnêtement, je préfère ne pas dire ce que j'en pense... mais dire que c'est bien plus clean qu'Asymptote, alors là on frôle le scandale! Je n'utilise pas asymptote à titre personnel (j'utilise texgraph) mais je parcours régulièrement les galeries consacrées à Asymptote, je connais donc la qualité d'Asymptote, mais le problème est qu'il faut savoir l'utiliser...projetmbc a écrit : Je viens de tester avec succès sketch et je l'adopte. C'est on ne peut plus clean qu'Asymptote.
D'ailleurs si je ne m'abuse, on vous voyait aussi sur le forum texgraph il y a quelques temps, non? Texgraph serait trop difficile pour vous lui aussi ?
Re: [tikz] Représenter des intervalles
Tu peux le dire, c'est... Je pense que tout le monde aura compris et je suis d'accord avec toi. Je te rassure, ces horreurs sont des vestiges d'un futur passé où j'utilisais encore Word sous Windaube. Le passage à LaTeX ne va pas se faire du jour au lendemain étant donné la quantité énorme de documents que j'ai fait sous Word.oleanet a écrit :Vous êtes vraiment sérieux? Franchement, quand je vois un fichier de 1.35Mo pour 3 pages, déjà ça freine... Quant à la qualité des figures, honnêtement, je préfère ne pas dire ce que j'en pense...
Regardes un peu le lien suivant http://www.texample.net/tikz/examples/3d-cone/ , et tu verras que la qualité est meilleure qu'Asymptote côté surface 3D triangularisée. Pas de pixélisation, pas de formules mathématiques floues...oleanet a écrit :Je n'utilise pas asymptote à titre personnel (j'utilise texgraph) mais je parcours régulièrement les galeries consacrées à Asymptote, je connais donc la qualité d'Asymptote, mais le problème est qu'il faut savoir l'utiliser...
Oui pour la première question et non pour la seconde. En fait, je bosse sur un script Python qui va faire pas mal de boulot à ma place et pour le moment tikz et sketch 3D ont retenu mon attention car je cherche une solution multi-os-courant simple, et côté programmation je ne vais pas avoir beaucoup de travail à faire.oleanet a écrit :D'ailleurs si je ne m'abuse, on vous voyait aussi sur le forum texgraph il y a quelques temps, non? Texgraph serait trop difficile pour vous lui aussi ?
Il faut juste que je teste leur comportement sur un vrai exemple de surface.
Asymptote et Texgraph devraient être intégrés dans un second temps. Le rendu de Texgraph est superbe, sans parler de l'export PovRay qui m'impressionne.
-
- Sujets similaires
- Réponses
- Vues
- Dernier message
-
- 6 Réponses
- 2119 Vues
-
Dernier message par Laurentfz
-
- 2 Réponses
- 447 Vues
-
Dernier message par bulledesavon
-
- 8 Réponses
- 1107 Vues
-
Dernier message par pg
-
- 2 Réponses
- 1001 Vues
-
Dernier message par zariski63
-
- 5 Réponses
- 1452 Vues
-
Dernier message par gigiair