Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » Dynamische Füllhöhe eines Glases mit tikz
Autor
Universität/Hochschule J Dynamische Füllhöhe eines Glases mit tikz
Tillmann
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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 Letzter Besuch: vor mehr als 3 Monaten
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.

Wechsel in ein anderes Forum:
 Suchen    
 
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]