von esdd » Di 29. Dez 2020, 21:28
TheMrFeedback hat geschrieben: ↑Di 29. Dez 2020, 07:53
Gelöst habe ich das Ganze über eine Linien-"Erweiterung" mit Weiß-Schwarz-Weiß (Double):
\draw [fill=white, draw=white, double=black] (S) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;
Dadurch sieht es so aus, als würde der gezeichnete Pfad (hier: Dreieck) Freistehen. Den Äußeeren Rand von Double würde ich gern beeinflussen - also den Abstand vom Dreieck, bis zu einer abgehende, schwarze Linie von (S) aus zu sehen ist.
Dafür ist es vermutlich sinnvoller die Node-Option outer sep zu nutzen und die Nodes vor den Linien einzufügen. Dann müsste aber auch das pic für die dreieckige Markierung durch einen Node ersetzt werden:
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
mark outer sep/.style={outer sep=1mm},
dot mark/.style={circle, fill=black, inner sep=0pt, minimum size=0.4mm},
circle mark/.style={circle, draw=black, fill=white,
inner sep=0pt, minimum size=1mm, mark outer sep
},
triangle mark/.style={regular polygon, regular polygon sides=3,
draw=black, preaction={fill=white}, path picture={\node[dot mark]{};},
inner sep=0pt, minimum size=2mm, mark outer sep
},
mark label distance/.style={label distance=-1mm}
]
\path [mark label distance]
(10,0) node [triangle mark, label=below left:S] (S) {}
+(68:5.2cm) node [triangle mark, label=above left:A] (A) {}
;
\draw (S) -- ($(S)!0.5!(A)$);
\draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);
\path [mark label distance] (S)
-- +(19:3.2cm) node [circle mark,label={[shift={(-.1,-.2)}]below:P\textsubscript{1}}] (P1){}
-- ([turn]-79:1.5cm) node [circle mark,label=below right:N] (N){}
;
\draw (S) -- (P1) -- (N);
\end{tikzpicture}
\end{document}
- gl_outersep.png (6.66 KiB) 4897 mal betrachtet
Oder "übersetzt" auf dein letztes Beispiel:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, shapes.geometric, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}[
mark outer sep/.style={outer sep=1mm},
% Innenpunkt für TP wird definiert
TPdot/.style={circle, fill, inner sep=0pt, minimum size=.4mm},
% Symbol für PPs wird definiert
PP/.style={circle, draw=black, fill=white,
inner sep=0pt, minimum size=1mm, mark outer sep
},
% Symbol für TPs wird definiert
TP/.style={regular polygon, regular polygon sides=3,
draw=black, preaction={fill=white}, path picture={\node[TPdot]{};},
inner sep=0pt, minimum size=2mm, mark outer sep
},
mark label distance/.style={label distance=-1mm}
]
% Punkte setzen und Linien zeichnen
\path [mark label distance]
(0,0) node [TP, label=below left:S] (S) {}
+(68:5.2cm) node [TP, label=above left:A] (A) {}
;
\draw (S) -- ($(S)!0.5!(A)$);
\draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);
\path [mark label distance] (S)
-- +(19:3.2cm) node [PP, label={[shift={(-.1,-.2)}]below:P\textsubscript{1}}] (P1){}
-- ([turn]-79:1.5cm) node [PP, label=below right:N] (N){}
;
\draw (S) -- (P1) -- (N);
% Brechungswinkel einzeichnen
\pic[arrows=Latex-, draw=black,<-,angle radius=7mm]{angle = P1--S--A};
\pic[draw=black,<-,angle radius=4mm]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
- gl_outersep2.png (7.25 KiB) 4896 mal betrachtet
[quote=TheMrFeedback post_id=113838 time=1609224837 user_id=9234]
Gelöst habe ich das Ganze über eine Linien-"Erweiterung" mit Weiß-Schwarz-Weiß (Double):[code]\draw [fill=white, draw=white, double=black] (S) +(90:1mm) -- +(-150:1mm) -- +(-30:1mm) -- cycle;[/code] Dadurch sieht es so aus, als würde der gezeichnete Pfad (hier: Dreieck) Freistehen. Den Äußeeren Rand von Double würde ich gern beeinflussen - also den Abstand vom Dreieck, bis zu einer abgehende, schwarze Linie von (S) aus zu sehen ist.
[/quote]
Dafür ist es vermutlich sinnvoller die Node-Option `outer sep` zu nutzen und die Nodes vor den Linien einzufügen. Dann müsste aber auch das `pic` für die dreieckige Markierung durch einen `Node` ersetzt werden:
[code]
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
mark outer sep/.style={outer sep=1mm},
dot mark/.style={circle, fill=black, inner sep=0pt, minimum size=0.4mm},
circle mark/.style={circle, draw=black, fill=white,
inner sep=0pt, minimum size=1mm, mark outer sep
},
triangle mark/.style={regular polygon, regular polygon sides=3,
draw=black, preaction={fill=white}, path picture={\node[dot mark]{};},
inner sep=0pt, minimum size=2mm, mark outer sep
},
mark label distance/.style={label distance=-1mm}
]
\path [mark label distance]
(10,0) node [triangle mark, label=below left:S] (S) {}
+(68:5.2cm) node [triangle mark, label=above left:A] (A) {}
;
\draw (S) -- ($(S)!0.5!(A)$);
\draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);
\path [mark label distance] (S)
-- +(19:3.2cm) node [circle mark,label={[shift={(-.1,-.2)}]below:P\textsubscript{1}}] (P1){}
-- ([turn]-79:1.5cm) node [circle mark,label=below right:N] (N){}
;
\draw (S) -- (P1) -- (N);
\end{tikzpicture}
\end{document}
[/code]
[attachment=1]gl_outersep.png[/attachment]
Oder "übersetzt" auf dein letztes Beispiel:
[code]
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, shapes.geometric, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}[
mark outer sep/.style={outer sep=1mm},
% Innenpunkt für TP wird definiert
TPdot/.style={circle, fill, inner sep=0pt, minimum size=.4mm},
% Symbol für PPs wird definiert
PP/.style={circle, draw=black, fill=white,
inner sep=0pt, minimum size=1mm, mark outer sep
},
% Symbol für TPs wird definiert
TP/.style={regular polygon, regular polygon sides=3,
draw=black, preaction={fill=white}, path picture={\node[TPdot]{};},
inner sep=0pt, minimum size=2mm, mark outer sep
},
mark label distance/.style={label distance=-1mm}
]
% Punkte setzen und Linien zeichnen
\path [mark label distance]
(0,0) node [TP, label=below left:S] (S) {}
+(68:5.2cm) node [TP, label=above left:A] (A) {}
;
\draw (S) -- ($(S)!0.5!(A)$);
\draw [dash pattern=on 10pt off 3pt] ($(S)!0.5!(A)$) -- (A);
\path [mark label distance] (S)
-- +(19:3.2cm) node [PP, label={[shift={(-.1,-.2)}]below:P\textsubscript{1}}] (P1){}
-- ([turn]-79:1.5cm) node [PP, label=below right:N] (N){}
;
\draw (S) -- (P1) -- (N);
% Brechungswinkel einzeichnen
\pic[arrows=Latex-, draw=black,<-,angle radius=7mm]{angle = P1--S--A};
\pic[draw=black,<-,angle radius=4mm]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
[/code]
[attachment=0]gl_outersep2.png[/attachment]