Dimension to large

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Dimension to large

Messagepar masiuxus » Dimanche 10 Août 2008, 15:33

Je souhaite compiler ceci :

Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\\usepackage[usenames,dvipsnames,pdftex]{xcolor}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{fadings}
\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}[scale=.75]
\pgfmathparse{2} \let \petitaxe \pgfmathresult
\pgfmathparse{4} \let \grandaxe \pgfmathresult
\pgfmathparse{0} \let \Ox \pgfmathresult
\pgfmathparse{0} \let \Oy \pgfmathresult

\foreach \i in {0,1,...,500}
{
%\pgfmathparse{100-\i}
%\let \j \pgfmathresult
\pgfmathparse{0.5*\grandaxe}
\let \grandaxe \pgfmathresult
\pgfmathparse{0.5*\petitaxe}
\let \petitaxe \pgfmathresult
\pgfmathparse{\Ox+1/(\i+1)}
\let \Ox \pgfmathresult
\pgfmathparse{\Oy+1/((\i+1)^2)}
\let \Oy \pgfmathresult
\shade [ball color=blue!\i,inner color=white,outer color=red!\i ,rotate=\i] (\Ox,\Oy) ellipse (\grandaxe cm and \petitaxe cm);
}
\end{tikzpicture}
\end{document}


Mais ça me met "Dimension to large". Connaissez-vous un moyen d'arriver à exécuter cette bloucle ? (précision : jusqu'à 100, ça marche ...)
masiuxus
 

Publicité

Re: Dimension to large

Messagepar pg » Dimanche 10 Août 2008, 15:42

La dimension devient trop grande à cause du (i+1)^2. Mais si on fait (1/(i+1))^2, ça passe :

Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{fadings}
\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}[scale=.75]
\pgfmathparse{2} \let \petitaxe \pgfmathresult
\pgfmathparse{4} \let \grandaxe \pgfmathresult
\pgfmathparse{0} \let \Ox \pgfmathresult
\pgfmathparse{0} \let \Oy \pgfmathresult

\foreach \i in {0,1,...,500}
{
%\pgfmathparse{100-\i}
%\let \j \pgfmathresult
\pgfmathparse{0.5*\grandaxe}
\let \grandaxe \pgfmathresult
\pgfmathparse{0.5*\petitaxe}
\let \petitaxe \pgfmathresult
\pgfmathparse{\Ox+1/(\i+1)}
\let \Ox \pgfmathresult
\pgfmathparse{\Oy+(1/(\i+1))^2}
\let \Oy \pgfmathresult
\shade [ball color=blue!\i,inner color=white,outer color=red!\i ,rotate=\i] (\Ox,\Oy) ellipse (\grandaxe cm and \petitaxe cm);
}
\end{tikzpicture}
\end{document}
pg
Modérateur
 
Messages: 2593
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Dimension to large

Messagepar masiuxus » Dimanche 10 Août 2008, 15:47

arf ! c'était si simple ... merci !
masiuxus
 

Re: Dimension to large

Messagepar masiuxus » Dimanche 10 Août 2008, 16:01

Toujours dans le même ECM, j'ai remarqué que mes grands axes et petits axes ne sont pas réduits à chaque occurrences ... J'aimerais qu'à chaque fois, les valeurs soient multipliés (ici par 0.5) mais ce n'est pas le cas ... Comment je peux faire ?
masiuxus
 

Re: Dimension to large

Messagepar pg » Dimanche 10 Août 2008, 16:24

Les \let sont dans un groupe donc sont locaux, donc n'ont aucun effet d'une itération à l'autre. Il faut rajouter un \global devant pour que ça fonctionne. Par contre, un facteur 0.5 à chaque étape ne semble pas plaire à acrobat reader (mais 0.99 ne pose pas de problème).

Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{fadings}
\usepackage[french]{babel}
\begin{document}
\begin{tikzpicture}[scale=.75]
\pgfmathparse{2} \let \petitaxe \pgfmathresult
\pgfmathparse{4} \let \grandaxe \pgfmathresult
\pgfmathparse{0} \let \Ox \pgfmathresult
\pgfmathparse{0} \let \Oy \pgfmathresult

\foreach \i in {0,1,...,500}
{
%\pgfmathparse{100-\i}
%\let \j \pgfmathresult
\pgfmathparse{0.99*\grandaxe}
\global\let\grandaxe\pgfmathresult
\pgfmathparse{0.99*\petitaxe}
\global\let\petitaxe\pgfmathresult
\pgfmathparse{\Ox+1/(\i+1)}
\global\let\Ox\pgfmathresult
\pgfmathparse{\Oy+(1/(\i+1))^2}
\global\let\Oy\pgfmathresult
\shade [ball color=blue!\i,inner color=white,outer color=red!\i ,rotate=\i] (\Ox,\Oy) ellipse (\grandaxe cm and \petitaxe cm);
}
\end{tikzpicture}
\end{document}
pg
Modérateur
 
Messages: 2593
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Dimension to large

Messagepar masiuxus » Dimanche 10 Août 2008, 16:30

Merci ! je ne connaissais pas la commande \global ... ça va me servir souvent je pense.
masiuxus
 


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], pg et 2 invités