Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » Dynamische Füllhöhe eines Glases mit tikz
Druckversion
Druckversion
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
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  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



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Marco_D
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 11.10.2008
Mitteilungen: 3514
Aus: Hamburg
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2009-01-26


Hallo,

und was ist dein Problem?

Vielleicht meinst du das Paket multido.

Gruß
Marco



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
esdd
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 07.01.2009
Mitteilungen: 323
Aus: Stutensee
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2009-01-26


Hallo Tillman,

hier ein Vorschlag mit \usetikzlibrary{calc} und \clip
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}
 



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Tillmann
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 27.08.2002
Mitteilungen: 165
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  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



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Tillmann
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 27.08.2002
Mitteilungen: 165
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2009-01-26


habe es jetzt mit yscale = #1 hinbekommen danke



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Tillmann
Ehemals Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 27.08.2002
Mitteilungen: 165
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2009-01-26


ich habe herausgefunden, dass ich nicht die neueste Version des Pakages hatte.



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
esdd
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 07.01.2009
Mitteilungen: 323
Aus: Stutensee
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  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:

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}

Da in der Berechnung keine Klammern vorkommen, lässt sich diese sogar gleich für die Koordinate "einsetzen":

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}








Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
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.
Neues Thema [Neues Thema]  Druckversion [Druckversion]

 


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-2020 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]