Anzeige:
Ergebnis 1 bis 2 von 2

Thema: TikZ - transparente Füllung mit Verlauf unter Schlangenlinie

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.02.2014
    Beiträge
    23

    TikZ - transparente Füllung mit Verlauf unter Schlangenlinie

    Hallo zusammen,

    nachdem ich den Nachmittag mit dem TikZ Handbuch nach einer Lösung durchforstet habe bin ich etwas gefrustet und hoffe mir könnte bitte jemand aus dem Forum die Logik hinter TikZ und dem Befehl \filldraw erklären.
    Was ich machen möchte:
    Ein Quadrat, dessen "Oberseite" aus einer geschlängelten Linie besteht (snake alternative "random steps") - die restlichen Seitenlinien sollen transparent sein.
    Das Quadrat soll einen Farbverlauf (shade) von oben (schwarz) nach unten (weiß) aufweisen und der Hintergrund soll durchscheinen, also die durch das Quadrat markierte Ebene transparent sein.

    Mein Problem:
    i) Die Füllung endet nicht mit der Schlangenlinie sondern geht darüber hinaus.
    ii) Die Transparenz kann ich nicht herstellen.

    Muss ich das Objekt irgendwie als solches definieren? ("decoration"?)
    Bei mir krankt es offensichtlich an einem fundamentalen Unverständnis... :S

    Danke für eure Hilfe...


    Anbei mein Minimalbeispiel:
    Code:
    \documentclass[]{article}
    %\usepackage[backend=biber]{biblatex}
    
    \usepackage{fp}
    \usepackage{tikz}
    \usepackage{xcolor}
    \usetikzlibrary{positioning,shadings}
    \usetikzlibrary{arrows.meta}
    \usetikzlibrary{arrows}
    \usetikzlibrary{shapes}
    \usetikzlibrary{decorations.pathmorphing}
    \usetikzlibrary{decorations.pathreplacing}
    \usetikzlibrary{decorations.shapes}
    \usetikzlibrary{decorations.text}
    \usetikzlibrary{snakes}
    
    \begin{document}
    \begin{tikzpicture}
    
    
    \coordinate (v1) at (0,0) {};
    \coordinate (v2) at (5,0) {};
    
    \coordinate (v3) at (0,-5) {};
    \coordinate (v4) at (5,-5) {};
    
    
    \draw[white!0][fill=black!10] (v1) -- (v2) -- (v4) -- (v3);
    \draw[snake=bumps, segment length=25pt, gray,thick] (v2) -- (v1);
    
    
    \end{tikzpicture}
    \end{document}

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    Zitat Zitat von C3rb3rus Beitrag anzeigen
    Code:
    \draw[white!0][fill=black!10] (v1) -- (v2) -- (v4) -- (v3);
    \draw[snake=bumps, segment length=25pt, gray,thick] (v2) -- (v1);
    so wie ich das sehe, füllst Du erst ein Quadrat und versuchst Dich erst danach an der Schlangenlinie...
    ich würde es anders herum versuchen: erst ein Quadrat mit Schlangenlinien erstellen, das dann mit Verlauf füllen und die störenden Schlangenlinien (links, unten, rechts) per \clip abschneiden, etwa
    Code:
    \documentclass[]{article}
    \usepackage{tikz}
    \usetikzlibrary{positioning,shadings}
    \usetikzlibrary{shapes}
    \usetikzlibrary{decorations.pathmorphing}
    \usetikzlibrary{decorations.pathreplacing}
    \usetikzlibrary{decorations.shapes}
    \usetikzlibrary{decorations.text}
    \usetikzlibrary{snakes}
    
    \begin{document}
    \begin{tikzpicture}
    
    \coordinate (v1) at (0,0);
    \coordinate (v2) at (5,0);
    \coordinate (v3) at (0,-5);
    \coordinate (v4) at (5,-5);
    
    \coordinate (v1a) at (-0.04,0);% v?a: Hilfskoordinaten f. Schlangenlinie
    \coordinate (v2a) at (5.04,0);
    \coordinate (v1b) at (0,0.1);% v?b: Hilfskoordinaten zum Clippen
    \coordinate (v2b) at (5,0.1);
    \coordinate (v3a) at (-0.04,-5.04);
    \coordinate (v4a) at (5.04,-5.04);
    
    \draw[red, thick] (-1,-6) -- (6,1);% zur Demo Transparenz: eine Linie hinter dem Teil
    
    \clip (v1b) -- (v2b) -- (v4) -- (v3) -- cycle;
    \draw[snake=bumps, segment length=25pt, blue, thick, top color=black, bottom color=white, opacity=0.75] (v1a) -- (v2a) -- (v4a) -- (v3a) -- cycle;
    
    \end{tikzpicture}
    \end{document}
    PS) die Farbe der Schlangenlinie hab ich hier nur auf blau geändert, damit man das besser erkennen kann (statt grau gegen grau)

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •