|
Autor |
Dynamische Füllhöhe eines Glases mit tikz |
|
Tillmann
Ehemals Aktiv  Dabei seit: 27.08.2002 Mitteilungen: 165
 | Themenstart: 2009-01-26
|
Hallo Allerseits,
für einen Vortrag möchte ich mit Latex Gläser, die mit Wasser gefüllt sind zeichnen.
Ich habe mir also einen neuen Befehl mit \newcommand{\Glas}[1]{...} gebaut.
Ich bin jetzt auch schon in der Lage diese Gläser zu zeichnen.
Als Argument möchte ich dann die die Wasserhöhe = h einlesen und das Glas rihtig zeichnen.
Ich muss dafür einen Wert auf 2 * h setzen und einen anderen auf 0.25 - h*0.25
Das kriege ich nicht hin. Hier mal der Code, wenn ich das Wasserglas ganz fülle:
\newcommand{\Glas}[1]{\begin{tikzpicture}
\fill[blue!50!black] (0 , 2 ) -- (0.25, 0) -- (1.5, 0) -- (1.75,1 );
\draw[very thick] (0,2) -- (0.25, 0) -- (1.5, 0) -- (1.75,2);
\end{tikzpicture}
}
Ich habe folgende Packete noch dazu eingebunden:
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,snakes,automata,backgrounds,petri}
Da ich viele Gläser malen will kommt für mich eine Lösung bei der ich für jede Wasserhöhe einen eigenen Befehl baue nicht in Frage!
danke für die Hilfe
Tillmann
|
Profil
|
Marco_D
Senior  Dabei seit: 11.10.2008 Mitteilungen: 3514
Wohnort: Hamburg
 | Beitrag No.1, eingetragen 2009-01-26
|
Hallo,
und was ist dein Problem?
Vielleicht meinst du das Paket multido.
Gruß
Marco
|
Profil
|
esdd
Senior  Dabei seit: 07.01.2009 Mitteilungen: 323
Wohnort: Stutensee
 | Beitrag No.2, eingetragen 2009-01-26
|
Hallo Tillman,
hier ein Vorschlag mit \usetikzlibrary{calc} und \clip
\sourceon latex
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\Glas}[1]{%
\begin{tikzpicture}%
\clip(0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2)--cycle;
\fill[blue!50!black] (0,0)rectangle($(1.75,0)+2*(0,#1)$);
\draw[very thick] (0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2);
\end{tikzpicture}%
}
\begin{document}
\Glas{1} %volles Glas
\Glas{0.5} %halbvolles Glas
\end{document}
\sourceoff
|
Profil
|
Tillmann
Ehemals Aktiv  Dabei seit: 27.08.2002 Mitteilungen: 165
 | Beitrag No.3, vom Themenstarter, eingetragen 2009-01-26
|
Hey danke,
das sieht sehr gut aus.
Leider funktioniert bei mir \usetikzlibrary{calc} nicht.
Aber irgendwie sollte ich das durch xscale = #1 von (2,1.75) hinkriegen.
Tillmann
|
Profil
|
Tillmann
Ehemals Aktiv  Dabei seit: 27.08.2002 Mitteilungen: 165
 | Beitrag No.4, vom Themenstarter, eingetragen 2009-01-26
|
habe es jetzt mit yscale = #1 hinbekommen danke
|
Profil
|
Tillmann
Ehemals Aktiv  Dabei seit: 27.08.2002 Mitteilungen: 165
 | Beitrag No.5, vom Themenstarter, eingetragen 2009-01-26
|
ich habe herausgefunden, dass ich nicht die neueste Version des Pakages hatte.
|
Profil
|
esdd
Senior  Dabei seit: 07.01.2009 Mitteilungen: 323
Wohnort: Stutensee
 | Beitrag No.6, eingetragen 2009-01-27
|
Hallo Tillmann,
es geht auch ohne \usetikzlibrary{calc}. Bei pgf und tikz ist eine Mathematical Engine dabei, die sich für verschiedene Berechnungen (Beschreibung im pgfmanual) nutzen lässt:
\sourceon latex
\documentclass{scrartcl}
\usepackage{tikz}
\newcommand{\Glas}[1]{%
\begin{tikzpicture}%
\clip(0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2)--cycle;
\pgfmathsetmacro{\Hoehe}{2*#1}
\fill[blue!50!black] (0,0)rectangle(1.75,\Hoehe);
\draw[very thick] (0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2);
\end{tikzpicture}%
}
\begin{document}
\Glas{1} %volles Glas
\Glas{0.5} %halbvolles Glas
\end{document}
\sourceoff
Da in der Berechnung keine Klammern vorkommen, lässt sich diese sogar gleich für die Koordinate "einsetzen":
\sourceon latex
\documentclass{scrartcl}
\usepackage{tikz}
\newcommand{\Glas}[1]{%
\begin{tikzpicture}%
\clip(0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2)--cycle;
\fill[blue!50!black] (0,0)rectangle(1.75,2*#1);
\draw[very thick] (0,2) -- (0.25,0) -- (1.5,0) -- (1.75,2);
\end{tikzpicture}%
}
\begin{document}
\Glas{1} %volles Glas
\Glas{0.5} %halbvolles Glas
\end{document}
\sourceoff
|
Profil
|
Tillmann hat die Antworten auf ihre/seine Frage gesehen. Tillmann hat selbst das Ok-Häkchen gesetzt. | Tillmann wird per Mail über neue Antworten informiert. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|