|
Autor |
Streichholzgraphen 4-regulär und 4/n-regulär (n>4) und 2/5 |
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1840, vom Themenstarter, eingetragen 2019-12-18
|
4 Stunden Arbeit und verdammt knapp dieser 4/4 mit 118 (Der Gipfel der Asymmetrie ;-) ). Vielleicht kann Stefan den mit einer neuen Eingabe retten?
59 Knoten, 59×Grad 4, 0 Überschneidungen
118 Kanten, minimal 0.99999999999999256151, maximal 1.04410692375917557584
einzustellende Kanten, Abstände und Winkel:
|P30-P32|=1.00000000000000044409
|P3-P42|=1.00000000000000222045
|P16-P18|=1.00000000000000022204
|P57-P62|=0.99999999999999256151
|P58-P59|=1.00000000000000000000
|P46-P47|=0.99999999999999877875
|P45-P46|=0.99999999999999877875
|P51-P56|=1.00000000000000266454
|P63-P64|=1.00000000000001953993
|P56-P61|=1.04207360900287260286
|P54-P64|=1.01432134839143883731
|P61-P63|=1.04410692375917557584
nicht passende Kanten:
|P54-P64|=1.01432134839143883731
|P56-P61|=1.04207360900287260286
|P61-P63|=1.04410692375917557584
$
%Eingabe war:
%
%4-regulärerGraph
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[483.29260521898533,27.111410416570777];
%P[2]=[470.6134232880413,107.85515139786837]; D=ab(1,2); A(2,1); N(3,1,2);
%
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,1,fifth_angle,2,
%sixth_angle,2,seventh_angle,2,eighth_angle,1,nineth_angle,2,"zumachen",2,2,2);
%
%N(43,4,3); N(45,8,6); N(46,12,10); N(47,16,14);
%N(49,24,22); N(51,30,28); N(52,49,20); N(54,38,36);
%N(55,26,49); N(56,54,34); N(57,55,52); N(58,57,52);
%N(59,47,45); N(61,51,55); N(62,58,59); N(63,62,43);
%N(64,43,40);
%
%RA(30,32); RA(3,42); RA(16,18);
%RA(57,62); RA(58,59); RA(46,47);
%RA(45,46); RA(51,56); RA(63,64);
%RA(56,61); RA(54,64); RA(61,63);
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{20,28,47}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{5.24579640744598485469,3.26933359270892598403}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
16 18 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
29 27 \\
29 28 \\
30 29 \\
30 32 \\
31 29 \\
31 30 \\
32 31 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
44 44 \\
45 8 \\
45 6 \\
45 46 \\
46 12 \\
46 10 \\
46 47 \\
47 16 \\
47 14 \\
48 48 \\
49 24 \\
49 22 \\
50 50 \\
51 30 \\
51 28 \\
51 56 \\
52 49 \\
52 20 \\
53 53 \\
54 38 \\
54 36 \\
54 64 \\
55 26 \\
55 49 \\
56 54 \\
56 34 \\
56 61 \\
57 55 \\
57 52 \\
57 62 \\
58 57 \\
58 52 \\
58 59 \\
59 47 \\
59 45 \\
60 60 \\
61 51 \\
61 55 \\
61 63 \\
62 58 \\
62 59 \\
63 62 \\
63 43 \\
63 64 \\
64 43 \\
64 40 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.93213188215753550736 1.83047924229332892310 \\
2 6.77700294535519542904 2.81837347396318493864 \\
3 5.99902591287815933896 2.19008075799535939510 \\
4 5.93805613968448398055 1.93916879205158343424 \\
5 6.34096609970446944970 1.02392917090491653020 \\
6 5.34689035723141792289 1.13261872066317081931 \\
7 5.74980031725140161569 0.21737909951650397078 \\
8 5.15863453479833733439 1.02392917090491808452 \\
9 4.75572457477835097706 0.10868954975825216580 \\
10 4.16455879232528580758 0.91523962114666590484 \\
11 3.76164883230529945024 0.00000000000000000000 \\
12 3.35873887228531664562 0.91523962114666757017 \\
13 2.76757308983224881160 0.10868954975825616260 \\
14 2.36466312981226600698 1.02392917090492363563 \\
15 1.77349734735919839501 0.21737909951651232521 \\
16 2.17640730737918364213 1.13261872066317903496 \\
17 1.18233156490613233736 1.02392917090492541199 \\
18 1.58524152492611736243 1.93916879205159231603 \\
19 0.59116578245306616868 1.83047924229333869306 \\
20 0.99407574247305119375 2.74571886344000537505 \\
21 0.00000000000000000000 2.63702931368175130800 \\
22 0.97420885517977051649 2.86267750554093991511 \\
23 0.29168736112180287945 3.59354302678878267940 \\
24 1.26589621630157345145 3.81919121864797173060 \\
25 0.58337472224360575890 4.55005673989581360672 \\
26 1.56453476698642846010 4.35686003547189759644 \\
27 1.24126799857356173717 5.30316791160941658489 \\
28 2.22242804331638454940 5.10997120718550057461 \\
29 1.89916127490351827056 6.05627908332301956307 \\
30 2.39333160192511051889 5.18691397711540691517 \\
31 2.89913870555386310457 6.04956058721637646158 \\
32 3.39330903257545601903 5.18019548100876559005 \\
33 3.89911613620420771653 6.04284209110973336010 \\
34 4.39328646322579974282 5.17347698490212248856 \\
35 4.89909356685455144031 6.03612359500309025861 \\
36 4.75322127003124350608 5.04682016681763556676 \\
37 5.68291931930253468863 5.41514276615299472439 \\
38 5.53704702247922853076 4.42583933796754003254 \\
39 6.46674507175051971331 4.79416193730289919017 \\
40 5.68876803927348184686 4.16586922133507453481 \\
41 6.62187400855285712709 3.80626770563304139827 \\
42 5.84389697607582103700 3.17797498966521807517 \\
43 5.00495017040510870032 2.29877030775361212989 \\
44 7.03 0 0 \\
45 4.75572457477835364159 1.93916879205158521060 \\
46 3.76164883230530344704 1.83047924229333336399 \\
47 2.76757308983225369658 1.93916879205158920740 \\
48 7.03 0.1 0 \\
49 1.94841771035954103297 3.08832569740012941040 \\
50 7.03 0.2 0 \\
51 2.71659837033797701977 4.24060610097788792672 \\
52 1.76248723942043672430 2.10576279357342643905 \\
53 7.03 0.30000000000000004 0 \\
54 4.60734897320793646003 4.05751673863218087490 \\
55 2.47328147169049472609 3.93951194731346188149 \\
56 3.69212875347010305305 4.46047076750276083601 \\
57 2.28735100075139019538 2.95694904348675979833 \\
58 2.76206803586287019669 2.07681056769163507880 \\
59 3.76164883230530433522 2.04785834180985260033 \\
60 7.03 0.4 0 \\
61 3.35801367439031439588 3.47341224820829763686 \\
62 3.28693179719381589621 2.92799681760497332306 \\
63 4.28484082817375444563 2.99263090991454028256 \\
64 5.24579640744598485469 3.26933359270892598403 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
16 17 18 0.5 Teal {} 1.5 \\
20 21 22 0.5 Lime {} 1.5 \\
24 25 26 0.5 LightBlue {} 1.5 \\
28 29 30 0.5 LightCoral {} 1.5 \\
30 31 32 0.5 LightCyan {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,very thick] (P30) -- (P32);
\draw[green,very thick] (P3) -- (P42);
\draw[green,very thick] (P16) -- (P18);
\draw[green,very thick] (P57) -- (P62);
\draw[green,very thick] (P58) -- (P59);
\draw[green,very thick] (P46) -- (P47);
\draw[green,very thick] (P45) -- (P46);
\draw[green,very thick] (P51) -- (P56);
\draw[green,very thick] (P63) -- (P64);
\draw[green,very thick] (P56) -- (P61);
\draw[green,very thick] (P54) -- (P64);
\draw[green,very thick] (P61) -- (P63);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P54) -- (P64);
\draw[magenta,dash pattern=on 1pt off 9pt] (P56) -- (P61);
\draw[magenta,dash pattern=on 1pt off 9pt] (P61) -- (P63);
\end{tikzpicture}
\end{document}
$
Nicht über die Knotenzahlen >59 wundern. Der Graph begann als Experiment mit dem 114er Rahmen und bei den vielen Umkonstruktionen war es einfacher alte Knoten zu löschen und neue einzugeben. Es ist sogar eine "faire" Fast-Lösung und eine bessere Approximation als der alte Graph.
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_118er_alt.png
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1841, eingetragen 2019-12-19
|
ja, ich hab auch gestern stundenlang an symetrischen rumprobiert, ohne weiterzukommen und landete dann auch wieder beim 114er... s.u.
der unsymetrische aus dem 114er ist interessant, und wir alle wissen das ein minimalrekord mit unsymetrie viel warscheinlicher ist als mit 90/60/45 grad spiegelungen...
mein vorschlag wäre ihn bei 35 aufzuschneiden, ggfls dort auch überschneidung zuzulassen und nochmal zu versuchen ob sich dann nicht wenigstens a+c auf eins ziehen lassen, dann eben den rest-abstand bei 35 angeben
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st118test.PNG
(wiso diese copie schwarz wird weiss ich nicht, hab aber ausser abc35 nix verändert...)
ähnliches hatten wir doch schonmal bei einem 114er derivat
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st114derivat.png
x entspricht noch nicht exakt x...
(warscheinlich habe ich den damals auch schon gesendet, finde ihn aber gerade nichtmehr bzw weiss nicht mehr wann?, darum weiss ich nicht mehr ob ihr den auch schon eingegeben hattet???
solltest du ihn neu eingeben, beachte dass der angegebene winkel <180° ist)
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1842, vom Themenstarter, eingetragen 2019-12-19
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1843, eingetragen 2019-12-19
|
p.s. nachtrag
es findet sich alles wieder, war vor über drei jahren im november´16, du kämpftest dich damals ins programm hinein, "repeat until the earth stands still"
https://www.matheplanet.de/matheplanet/nuke/html/viewtopic.php?rd2&topic=216644&start=560#p1634837
ach ja du verwiesest mich dann damals auf juli´16:
https://www.matheplanet.de/matheplanet/nuke/html/viewtopic.php?rd2&topic=216644&start=400#p1614049
[Die Antwort wurde nach Beitrag No.1841 begonnen.]
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1844, eingetragen 2019-12-19
|
sach ja wir hatten das schon, ich bin nur drüber gestolpert weil wenn man den alten mal fertig zeichnen würde(haben wir bisher nie exakt gemacht) hätte er wohl ähnlich kleine fehllängen wie dein gestriger beide mit 114 als ausgangsgraph...
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1845, vom Themenstarter, eingetragen 2019-12-19
|
Ich habe die Knoten neu durchnummeriert und eine andere Kante gemessen. Ergebnis ist eine noch bessere Approximation. Jetzt sind auch alle starren Teilgraphen korrekt mit Einheitskanten. Interessant ist übrigens der innere starre Teilgraph aus drei Dreiecken, sowie die Gleichheit der Winkel bei P15 und P7 (gibt es dafür einen Grund?). Auch sind die Geraden durch P15 und P7 sowie P29 und P35 fast parallel.
59 Knoten, 59×Grad 4, 0 Überschneidungen
118 Kanten, minimal 0.99519807443975771832, maximal 1.04156471992379295877
nicht passende Kanten:
|P50-P59|=1.01073331956039802471
|P50-P52|=0.99519807443975771832
|P56-P58|=1.04156471992379295877
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[475.8752196679355,29.525670213742863];
%P[2]=[464.3347232025818,102.82525905350094]; D=ab(1,2); A(2,1); N(3,1,2);
%
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,1,fifth_angle,2,
%sixth_angle,2,seventh_angle,2,eighth_angle,1,nineth_angle,2,"zumachen",2,2,2);
%
%N(43,4,3); N(44,8,6); N(45,12,10); N(46,16,14);
%N(47,24,22); N(48,30,28); N(49,47,20); N(50,38,36);
%N(51,26,47); N(52,34,48); N(53,51,49); N(54,53,49);
%N(55,46,44); N(56,48,51); N(57,54,55); N(58,57,43);
%N(59,43,40);
%
%RA(30,32); RA(3,42); RA(16,18);
%RA(53,57); RA(54,55); RA(45,46);
%RA(44,45); RA(58,59); RA(52,56);
%RA(50,59); RA(56,58); RA(50,52);
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{20,28,46}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{5.24396594535051274732,3.26734377703732459253}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{black}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
16 18 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
29 27 \\
29 28 \\
30 29 \\
30 32 \\
31 29 \\
31 30 \\
32 31 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
44 8 \\
44 6 \\
44 45 \\
45 12 \\
45 10 \\
45 46 \\
46 16 \\
46 14 \\
47 24 \\
47 22 \\
48 30 \\
48 28 \\
49 47 \\
49 20 \\
50 38 \\
50 36 \\
50 59 \\
50 52 \\
51 26 \\
51 47 \\
52 34 \\
52 48 \\
52 56 \\
53 51 \\
53 49 \\
53 57 \\
54 53 \\
54 49 \\
54 55 \\
55 46 \\
55 44 \\
56 48 \\
56 51 \\
56 58 \\
57 54 \\
57 55 \\
58 57 \\
58 43 \\
58 59 \\
59 43 \\
59 40 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.92944380019562711226 1.82987713184413580692 \\
2 6.77391676803896825021 2.81770876844449391641 \\
3 5.99619299215942991310 2.18910258932144863309 \\
4 5.93528719048513231371 1.93782450498926439586 \\
5 6.33888032792490108136 1.02288593906719937898 \\
6 5.34472371821440539463 1.13083331221232707975 \\
7 5.74831685565417416228 0.21589474629026261798 \\
8 5.15775338338344457867 1.02288593906719715854 \\
9 4.75416024594367847556 0.10794737314513121185 \\
10 4.16359677367294889194 0.91493856592206623812 \\
11 3.76000363623318323292 0.00000000000000000000 \\
12 3.35641049879341402118 0.91493856592206446177 \\
13 2.76584702652268754619 0.10794737314512796444 \\
14 2.36225388908291877854 1.02288593906719271764 \\
15 1.77169041681219163742 0.21589474629025631747 \\
16 2.17528355425195618622 1.13083331221232263886 \\
17 1.18112694454146138767 1.02288593906718983106 \\
18 1.58472008198122549238 1.93782450498925595817 \\
19 0.59056347227073058281 1.82987713184412315037 \\
20 0.99415660971049502059 2.74481569776618972156 \\
21 0.00000000000000000000 2.63686832462105691377 \\
22 0.97459003264998567140 2.86086445909506892349 \\
23 0.29330867352098283218 3.59288611840805582887 \\
24 1.26789870617096855909 3.81688225288206917085 \\
25 0.58661734704196544232 4.54890391219505474396 \\
26 1.56913036633084934657 4.36271001614085740528 \\
27 1.23912250069894169791 5.30668819842107986062 \\
28 2.22163551998782615726 5.12049430236688163376 \\
29 1.89162765435591806451 6.06447248464710497728 \\
30 2.38180410799723674131 5.19284926083097708727 \\
31 2.89156373552983358977 6.05316613392938851490 \\
32 3.38174018917115226657 5.18154291011325973670 \\
33 3.89149981670374955911 6.04185978321167116434 \\
34 4.38167627034506868000 5.17023655939554416250 \\
35 4.89143589787766597254 6.03055343249395559013 \\
36 4.74857734255746777308 5.04081031775567911524 \\
37 5.67714930080165114390 5.41196273706958130845 \\
38 5.53429074548145294443 4.42221962233130394537 \\
39 6.46286270372563631526 4.79337204164520791494 \\
40 5.68513892784610241904 4.16476586252215774664 \\
41 6.61838973588230228273 3.80554040504485024954 \\
42 5.84066596000276838652 3.17693422592179963715 \\
43 5.00203638244893422637 2.29704996246657744408 \\
44 4.75416024594367669920 1.93782450498926217541 \\
45 3.76000363623317923611 1.82987713184413047784 \\
46 2.76584702652268266121 1.93782450498925906679 \\
47 1.94918006529997134280 3.08486059356908226547 \\
48 2.71181197362914794269 4.24887107855075640828 \\
49 1.76081575165586423637 2.10276136979106453850 \\
50 4.60571878723727046179 4.05106720301740264034 \\
51 2.47365421020601949920 3.93628696814592649034 \\
52 3.69220490287037472754 4.44592362051306455584 \\
53 2.28528989656191283686 2.95418774436790920745 \\
54 2.76040969394452107011 2.07426662396272787348 \\
55 3.76000363623318012429 2.04577187813437744168 \\
56 3.37266094546941586074 3.49835216711836682890 \\
57 3.28488383885058254918 2.92569299853956499291 \\
58 4.28270207134660019221 2.99171401715123641551 \\
59 5.24396594535051274732 3.26734377703732459253 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
16 17 18 0.5 Teal {} 1.5 \\
20 21 22 0.5 Lime {} 1.5 \\
24 25 26 0.5 LightBlue {} 1.5 \\
28 29 30 0.5 LightCoral {} 1.5 \\
30 31 32 0.5 LightCyan {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[red,thick] (P50) -- (P59);
\draw[red,thick] (P56) -- (P58);
\draw[red,thick] (P50) -- (P52);
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1846, eingetragen 2019-12-19
|
ist halt in diesem unteren bereich, also teilweise, symetrisch
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st-114-gesp.PNG
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1847, vom Themenstarter, eingetragen 2019-12-19
|
\quoteon(2019-12-19 14:05 - haribo in Beitrag No. 1846)
ist halt in diesem unteren bereich, also teilweise, symetrisch
\quoteoff
Ja, aber warum? Die Winkel waren ja nicht vorgegeben und der Graph wurde unten so exakt symmetrisch zusammengezogen. Der obere Teil ist komplett asymmetrisch.
Stefans Erklärung für die ersten minimalen asymmetrischen 4er war diese hier.
Aber ist das auf diesen Graphen übertragbar? Wenn der Graph existieren würde, dann müssten die Geraden durch P15 und P7 sowie P29 und P35 genau parallel sein, oder?
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1848, eingetragen 2019-12-19
|
%
%
diese beiden winkel zusammen sind 60
also ist z.B. 6-7 parallel zu 11-12 (weil 7-8 ja gegen 11-10 60° hat)
dass muss auch so sein (!) weil dazwischen ja nur parallelogramme gespannt sind
6,7,8,44... 8,44,10,45....10,45,11,12
mit der gleichen begründung ist 11-10 parallel zu 12-45...14-46... und dann auch 13-16
da 11-10 gespiegelt zu 11-12 ist(und die senkrechte spiegelachse dabei den untersten winkel halbiert) ist folglich auch 6-7 gespiegelt zu 15-16
also sind auch die beiden winkel gleich...
q.e.d.
oder in anderen worten: die untere konstruktion ist in sich, durch die parallelogramme, einfach nur symetrisch beweglich, hat mit oben also nichts zu tun, ausser dass die obere konstruktion die entsprechenden symetrisch zueinander liegenden punkte 1+19 ; 4+18; sowie den mittleren punkt 55 treffen muss äh müsste denn es passt ja nun (noch) nicht ganz
du könntest also den unteren symetrischen teil entfernen und untersuchen wie die obere beweglichkeit sich verhält, dabei natürlich 55 festhalten
nein 15-7 und 29-35 müssten dazu nicht zwangsweise parallisiert sein, von oben konstruiert muss nur 1-4 symetrisch zu 19-18 im richtigen winkel und abstand liegen, genau dazwischen 55...
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1849, eingetragen 2019-12-19
|
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st114-unten-bew.PNG
sollte die obere beweglichkeit es hergeben dass 1-4 und 18-19 auf einer linie liegen (oder sonstwie punktsymetrisch zu 55 angeordnet sind) dann kannst du aus zweien einen 180° winkel-graphen zusammenschustern, wird aber wohl ein 3/4/5er mit 152 hölzern...
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1850, vom Themenstarter, eingetragen 2019-12-19
|
Das mit den Parallelogrammen leuchtet mir ein und reicht ja völlig als Erklärung. Danke.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1851, eingetragen 2019-12-20
|
um sich noch etwas mit der unsymetrie zu beschäftigen
hier die gummiband- und flächen-analyse
-zweites band(von aussen) doppelt zu erstem heißt aussen nur dreiecke
-interessant ist eigendlich das fünfte band, ein einziges dreieck
gab es das schonmal?
an der flächenanalyse kann man wohl die symetrie erkennen, sei herrscht evtl. zwangsläufig in bereichen die nur aus 3 und 4 bestehen???
hoch beweglich sind immer die >5er bereiche
alles noch im suchfluss
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st-114-gummi.png
als beschreibung könnte man auch die flächen zwischen den bändern angeben, angefangen z.B. mittig unten im uhrzeigersinn
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1852, vom Themenstarter, eingetragen 2019-12-20
|
Hier die Flächenexplosion aus Stefans Programm.
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_4_4_59b_fast_explosion.png
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1853, eingetragen 2019-12-20
|
\quoteon(2019-12-20 11:03 - haribo in Beitrag No. 1851)
als beschreibung könnte man auch die flächen zwischen den bändern angeben, angefangen z.B. mittig unten im uhrzeigersinn
\quoteoff
versuch:
rot-gelb:3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
gelb-blau:4,3,4,3,3,5,3,5,3,4,3,3,5,3,5,3,3,4,3,4,3,
hm jetzt gibt es zweimal blau-blaue, wo setze ich die zwischen? ich schreib sie mal in klammern
blau-pink:4,7,4,(3),5,5,5,(3),5,7,4,
pink-grün:(4),3,3,5,(3),
grün-grün:3
ist noch nicht schlüssig mit den klammern, aber irgend solche sequenzen müsste man variieren wenn man programiert nach lösungen suchen wollte
wie komme ich drauf?, ich hab gestern den kumpel, der damals in wien wohnte, getroffen und er philosophierte über die langsamkeit unseres damaligen java-tools "da hätte man ja nach einem tag evtl nur tausend varianten durchprobiert, stell dir vor es gibt myriaden möglichkeiten... das führt doch dann nur zufälligst zu ergebnissen also mit gaaaanz kleiner warscheinlichkeit"
ich erwiederte: "slash hat eine einzige testkonfiguration in 4 stunden geschafft und dienoch nichtmal abschliessen können..."
p.s. ich liebe stefans explosions-stadtpläne!!!
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1854, vom Themenstarter, eingetragen 2019-12-20
|
Versuch mit engen Winkeln.
59 Knoten, 1×Grad 2, 2×Grad 3, 56×Grad 4, 0 Überschneidungen
116 Kanten, minimal 0.97738888405653467917, maximal 1.14684376697438339399
nicht passende Kanten:
|P43-P54|=1.14684376697438339399
|P54-P59|=0.97738888405653467917
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%
%
%
%P[1]=[293.15246684571935,-89.67094243855247];
%P[2]=[324.7251418961746,-33.6667241563961]; D=ab(1,2); A(2,1); N(3,1,2);
%
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,2,fifth_angle,3,
%sixth_angle,2,seventh_angle,3,"zumachen",2,2,2); RA(3,42);
%
%N(43,4,3); N(44,8,6); N(45,12,10); N(46,16,14);
%N(47,20,18); N(48,28,26); N(49,47,46); N(50,38,36); N(54,40,50);
%N(56,24,47); N(57,50,34); N(58,57,30); N(59,57,58);
%N(60,59,48); N(61,46,45); N(62,48,56); N(63,60,62);
%
%RA(60,58); RA(43,63);
%RA(56,49); RA(44,45); RA(49,62);
%RA(43,54); RA(54,59);
%
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,10,18,30,36,50,57}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.36449520787752831552,2.48145465884524840661}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
29 27 \\
29 28 \\
30 29 \\
31 29 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
43 63 \\
43 54 \\
44 8 \\
44 6 \\
44 45 \\
45 12 \\
45 10 \\
46 16 \\
46 14 \\
47 20 \\
47 18 \\
48 28 \\
48 26 \\
49 47 \\
49 46 \\
49 62 \\
50 38 \\
50 36 \\
51 51 \\
52 52 \\
53 53 \\
54 40 \\
54 50 \\
54 59 \\
55 55 \\
56 24 \\
56 47 \\
56 49 \\
57 50 \\
57 34 \\
58 57 \\
58 30 \\
59 57 \\
59 58 \\
60 59 \\
60 48 \\
60 58 \\
61 46 \\
61 45 \\
62 48 \\
62 56 \\
63 60 \\
63 62 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 5.06921977988183414254 0.03148175110516231862 \\
2 5.56031147081571486268 0.90258963827856042439 \\
3 4.56036406561962248674 0.89233357462805829030 \\
4 4.55564972940378787314 0.88952942067368778734 \\
5 4.06934367513843131547 0.01574087555258104829 \\
6 3.55577362466038593425 0.87378854512110704089 \\
7 3.06946757039502937658 0.00000000000000000000 \\
8 2.58316151612967415119 0.87378854512110726294 \\
9 2.06959146565162743769 0.01574087555258215157 \\
10 1.58328541138627221230 0.88952942067368934165 \\
11 1.06971536090822594289 0.03148175110516430314 \\
12 1.55602141517357961398 0.90527029622627241956 \\
13 0.55614531043017800815 0.88952942067368834245 \\
14 1.04245136469553156822 1.76331796579479638254 \\
15 0.04257525995213005260 1.74757709024221252747 \\
16 0.89776060109566468981 2.26589941495263458293 \\
17 0.02128762997606508181 2.74735048297178607868 \\
18 0.87647297111959965310 3.26567280768220857823 \\
19 0.00000000000000000000 3.74712387570135962989 \\
20 0.93673999588241951830 3.39709790507317244135 \\
21 0.77150138048952554559 4.38335152356237145455 \\
22 1.70824137637194484185 4.03332555293418426601 \\
23 1.54300276097905109118 5.01957917142338327920 \\
24 2.47974275686147027642 4.66955320079519697885 \\
25 2.31450414146857630371 5.65580681928439510386 \\
26 3.08846768262874649125 5.02257665816222420574 \\
27 3.24987931802297413952 6.00946382697098080428 \\
28 4.02384285918314432706 5.37623366584880990615 \\
29 4.18525449457737241943 6.36312083465756561651 \\
30 4.09806017991820503710 5.36692951192326361820 \\
31 5.00438432976531721863 5.78951268173000244133 \\
32 4.91719001510614894812 4.79332135899569955484 \\
33 5.82351416495326112965 5.21590452880243748979 \\
34 5.73631985029409285914 4.21971320606813637966 \\
35 6.64264400014120504068 4.64229637587487431460 \\
36 5.75266775427480681060 4.18628948799536626524 \\
37 6.59256942641234111591 3.64355089425011424709 \\
38 5.70259318054594288583 3.18754400637060752999 \\
39 6.54249485268347719114 2.64480541262535506775 \\
40 5.54254744748738481519 2.63454934897485371081 \\
41 6.05140316174959558282 1.77369752545195757953 \\
42 5.05145575655350409505 1.76344146180145577851 \\
43 4.04679401514158243458 1.75038124419658713826 \\
44 3.06946757039503026476 1.74757709024221408178 \\
45 2.06959146565162566134 1.76331796579479793685 \\
46 1.89763670583906662870 2.28164029050521799391 \\
47 1.81321296700201961549 2.91564683705402227787 \\
48 3.86243122378891667879 4.38934649704005419579 \\
49 2.79461943966239312331 2.72370586847169082745 \\
50 4.86269150840840858052 3.73028260011586043632 \\
51 6.74 0 0 \\
52 6.74 0.1 0 \\
53 6.74 0.2 0 \\
54 4.55309600298624861381 2.77941424801742353878 \\
55 6.74 0.30000000000000004 0 \\
56 2.47014195815149761870 3.66959928952521652334 \\
57 4.87642728754869558827 4.73018825985152346902 \\
58 3.93993087620662052473 4.37951109842891916912 \\
59 4.71187441219664915337 3.74381999636502271755 \\
60 3.77537800085457497801 3.39314283494241708539 \\
61 2.89667919309881449763 2.32539081792897128764 \\
62 3.45154843081187134857 3.47765832094288596110 \\
63 3.36449520787752831552 2.48145465884524840661 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
18 19 20 0.5 Teal {} 1.5 \\
24 25 26 0.5 Lime {} 1.5 \\
28 29 30 0.5 LightBlue {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,very thick] (P3) -- (P42);
\draw[green,very thick] (P60) -- (P58);
\draw[green,very thick] (P43) -- (P63);
\draw[green,very thick] (P56) -- (P49);
\draw[green,very thick] (P44) -- (P45);
\draw[green,very thick] (P49) -- (P62);
\draw[green,very thick] (P43) -- (P54);
\draw[green,very thick] (P54) -- (P59);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P43) -- (P54);
\draw[cyan,dash pattern=on 1pt off 9pt] (P54) -- (P59);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1855, vom Themenstarter, eingetragen 2019-12-21
|
Fast ein 112er.
56 Knoten, 56×Grad 4, 0 Überschneidungen
112 Kanten, minimal 0.99999999999999644729, maximal 1.14570626690155252803
nicht passende Kanten:
|P27-P55|=1.14570626690155230598
|P52-P56|=1.14570626690155252803
$
%Eingabe war:
%<Streichholzgraph>
%<Bildtext>4-regulärer Graph</Bildtext>
%<Ausrichten von="1" nach="28"/>
%<Winkel size="18" color="blue" id="blue_angle" value="7.905578595288283"/>
%<Winkel size="18" color="green" id="green_angle" value="24.26094692131399"/>
%<Winkel size="18" color="orange" id="orange_angle" value="5.058696652729749"/>
%<Feinjustieren Anzahl="3"/>
%<Rechenweg>
%P[1]=[62.47418823595721,-71.20780114404654];
%P[2]=[119.17318336734786,-85.24292308891545]; D=ab(1,2); A(2,1); N(3,1,2); N(4,3,2); N(5,4,2);
%M(6,1,3,blue_angle,3,green_angle,2,orange_angle,3);
%N(22,6,3); N(23,14,12); N(24,23,10); N(25,16,23);
%N(26,20,25); N(27,26,25);
%A(22,24);
%A(5,21,ab(5,21,[1,27],"gespiegelt"));
%N(53,4,31); N(54,51,26);
%N(55,22,53); N(56,53,47);
%A(22,24);
%RA(22,24);
%RA(24,55); A(49,56);
%RA(27,54); A(52,54);
%RA(27,55); A(52,56);
%</Rechenweg>
%</Streichholzgraph>
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{3,14,25,30,40,50}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.36650759066349714033,2.90039742179893700325}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
5 29 \\
5 31 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
21 45 \\
21 46 \\
22 6 \\
22 3 \\
22 24 \\
23 14 \\
23 12 \\
24 23 \\
24 10 \\
24 55 \\
25 16 \\
25 23 \\
26 20 \\
26 25 \\
27 26 \\
27 25 \\
27 54 \\
27 55 \\
28 28 \\
29 28 \\
30 28 \\
30 29 \\
31 29 \\
31 30 \\
32 28 \\
33 28 \\
33 32 \\
34 32 \\
34 33 \\
35 33 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 37 \\
39 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 41 \\
43 41 \\
43 42 \\
44 42 \\
44 43 \\
45 43 \\
45 44 \\
46 44 \\
46 45 \\
47 30 \\
47 32 \\
47 49 \\
48 38 \\
48 40 \\
49 36 \\
49 48 \\
49 56 \\
50 42 \\
50 48 \\
51 46 \\
51 50 \\
52 50 \\
52 51 \\
52 54 \\
52 56 \\
53 4 \\
53 31 \\
54 51 \\
54 26 \\
55 22 \\
55 53 \\
56 53 \\
56 47 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 1.22031557094340503689 0.48057027553387088314 \\
2 2.19101792108392290359 0.24028513776693544157 \\
3 1.91375977947167386084 1.20108060138534877836 \\
4 2.88446212961219128346 0.96079546361841339230 \\
5 3.16172027122444099234 0.00000000000000000000 \\
6 1.80806963782413032682 1.28960992651839956302 \\
7 0.81354371396226998758 1.39410005412246129630 \\
8 1.40129778084299561058 2.20313970510698986516 \\
9 0.40677185698113499379 2.30762983271105159844 \\
10 0.99452592386186056128 3.11666948369558083343 \\
11 0.00000000000000000000 3.22115961129964256671 \\
12 0.94962719670170347985 3.53454146668451318902 \\
13 0.20341695050245237053 4.20025181546035586422 \\
14 1.15304414720415548956 4.51363367084522604245 \\
15 0.40683390100490468555 5.17934401962106782946 \\
16 1.20883741625645302342 4.58202470675385509224 \\
17 1.32512935774475026918 5.57523978131972253180 \\
18 2.12713287299629794092 4.97792046845250979459 \\
19 2.24342481448459585280 5.97113554301837723415 \\
20 3.04542832973614352454 5.37381623015116449693 \\
21 3.16172027122444099234 6.36703130471703193649 \\
22 2.50151384635239937282 2.01012025236987712518 \\
23 1.89925439340340695971 3.84792332206938469952 \\
24 1.95822075393402372789 2.84966335175815732583 \\
25 2.18326054797584623302 4.80674577913063671986 \\
26 3.08506530885887908511 4.37460208399128180901 \\
27 2.25991551034140414345 3.80968809938250041469 \\
28 5.10312497150547805802 0.48057027553387038354 \\
29 4.13242262136495952518 0.24028513776693519177 \\
30 4.40968076297720923407 1.20108060138534833428 \\
31 3.43897841283669070123 0.96079546361841328128 \\
32 4.51537090462475276809 1.28960992651839911893 \\
33 5.50989682848661210812 1.39410005412246151835 \\
34 4.92214276160588770637 2.20313970510698897698 \\
35 5.91666868546774704640 2.30762983271105159844 \\
36 5.32891461858702175647 3.11666948369558083343 \\
37 6.32344054244888287286 3.22115961129964123444 \\
38 5.37381334574718128039 3.53454146668451230084 \\
39 6.12002359194643119622 4.20025181546035586422 \\
40 5.17039639524472782739 4.51363367084522604245 \\
41 5.91660664144397863140 5.17934401962106782946 \\
42 5.11460312619243140375 4.58202470675385509224 \\
43 4.99831118470413571231 5.57523978131972075545 \\
44 4.19630766945258404377 4.97792046845250979459 \\
45 4.08001572796428924050 5.97113554301837634597 \\
46 3.27801221271274201285 5.37381623015116449693 \\
47 3.82192669609648305595 2.01012025236987712518 \\
48 4.42418614904547524702 3.84792332206938469952 \\
49 4.36521978851485847883 2.84966335175815688174 \\
50 4.14017999447303619576 4.80674577913063671986 \\
51 3.23837523359000378775 4.37460208399128180901 \\
52 4.06352503210747961759 3.80968809938249997060 \\
53 3.16172027122444099234 1.92159092723682678461 \\
54 3.16172027122444143643 3.37754440424314683611 \\
55 2.95693295178538573253 2.90039742179893700325 \\
56 3.36650759066349714033 2.90039742179893700325 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 6 0.5 Blue {} 1.5 \\
10 11 12 0.5 Green {} 1.5 \\
14 15 16 0.5 Orange {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P22) -- (P24);
\draw[green,thick] (P24) -- (P55);
\draw[green,thick] (P27) -- (P54);
\draw[green,thick] (P27) -- (P55);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P27) -- (P55);
\draw[magenta,dash pattern=on 1pt off 9pt] (P52) -- (P56);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1856, vom Themenstarter, eingetragen 2019-12-21
|
Knapper 4/5 mit 114.
56 Knoten, 52×Grad 4, 4×Grad 5, 0 Überschneidungen
114 Kanten, minimal 0.99999999999999811262, maximal 1.06972210587918592495
nicht passende Kanten:
|P22-P55|=1.03744602037121214089
|P28-P24|=1.06972210587918592495
|P48-P55|=1.03744602037121214089
|P54-P50|=1.06972210587918459268
$
%Eingabe war:
%<Streichholzgraph>
%<Bildtext>4-regulärer Graph</Bildtext>
%<Ausrichten von="1" nach="29"/>
%<Winkel size="18" color="blue" id="blue_angle" value="6.795047975472392"/>
%<Winkel size="18" color="green" id="green_angle" value="3.679305371108291"/>
%<Winkel size="18" color="orange" id="orange_angle" value="1.1548501018496233"/>
%<Feinjustieren Anzahl="3"/>
%<Rechenweg>
%P[1]=[15.026591450860515,-87.53900496257432];
%P[2]=[84.03259049652777,-90.21891482804395]; D=ab(1,2); A(2,1); N(3,1,2); N(4,3,2); N(5,4,2);
%M(6,1,3,blue_angle,3,green_angle,2,orange_angle,3);
%N(22,6,3); N(23,14,12); N(24,23,10); N(25,16,23);
%N(26,20,25); N(27,26,25); N(28,26,27);
%RA(22,24); RA(24,27);
%A(5,21,ab(5,21,[1,28],"gespiegelt"));
%N(55,4,32); N(56,28,54);
%RA(26,56); RA(52,56);
%RA(28,24); RA(54,50);
%RA(22,55); A(48,55);
%
%</Rechenweg>
%</Streichholzgraph>
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{3,8,10,14,25,27,31,35,37,41,51,53}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.70077602127562244050,2.26467433731187517409}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
5 30 \\
5 32 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
21 46 \\
21 47 \\
22 6 \\
22 3 \\
22 24 \\
22 55 \\
23 14 \\
23 12 \\
24 23 \\
24 10 \\
24 27 \\
25 16 \\
25 23 \\
26 20 \\
26 25 \\
26 56 \\
27 26 \\
27 25 \\
28 26 \\
28 27 \\
28 24 \\
29 29 \\
30 29 \\
31 29 \\
31 30 \\
32 30 \\
32 31 \\
33 29 \\
34 29 \\
34 33 \\
35 33 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 40 \\
42 41 \\
43 42 \\
44 42 \\
44 43 \\
45 43 \\
45 44 \\
46 44 \\
46 45 \\
47 45 \\
47 46 \\
48 31 \\
48 33 \\
48 50 \\
48 55 \\
49 39 \\
49 41 \\
50 37 \\
50 49 \\
50 53 \\
51 43 \\
51 49 \\
52 47 \\
52 51 \\
52 56 \\
53 51 \\
53 52 \\
54 52 \\
54 53 \\
54 50 \\
55 4 \\
55 32 \\
56 28 \\
56 54 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 1.70228254424501734832 0.07761328665970969320 \\
2 2.70152928276031989441 0.03880664332985494375 \\
3 2.23551345246192534333 0.92358302519778068262 \\
4 3.23476019097722744533 0.88477638186792573194 \\
5 3.70077602127562244050 0.00000000000000000000 \\
6 2.13167432718721094886 0.98073160490030675263 \\
7 1.13485502949667838024 0.90103663798424127318 \\
8 1.56424681243887175874 1.80415495622483801341 \\
9 0.56742751474833907910 1.72445998930877264499 \\
10 0.99681929769053256862 2.62757830754936927420 \\
11 0.00000000000000000000 2.54788334063330434986 \\
12 0.98965054026643428653 2.69138180107924451789 \\
13 0.37055195798307655197 3.47669507959600032621 \\
14 1.36020249824951067197 3.62019354004194049423 \\
15 0.74110391596615299292 4.40550681855869719072 \\
16 1.37590439740217873599 3.63283072292185771346 \\
17 1.72766128440264288280 4.56892211399846726039 \\
18 2.36246176583866862586 3.79624601836162822721 \\
19 2.71421865283913232858 4.73233740943823821823 \\
20 3.34901913427515784960 3.95966131380139918505 \\
21 3.70077602127562199641 4.89575270487800828789 \\
22 2.66490523540411761161 1.82670134343837786695 \\
23 1.97930108053286857306 2.83488026152518468592 \\
24 1.66660757775689494231 1.88502618150989476042 \\
25 2.36827399768852409068 3.75612945133183995239 \\
26 3.03452500948207282150 3.01040189432186000573 \\
27 2.05558049491254735130 2.80627537131655158120 \\
28 2.72183150670609652622 2.06054781430657163455 \\
29 5.69926949830622753268 0.07761328665970988749 \\
30 4.70002275979092498659 0.03880664332985536008 \\
31 5.16603859008931998176 0.92358302519778134876 \\
32 4.16679185157401743567 0.88477638186792595398 \\
33 5.26987771536403393213 0.98073160490030730774 \\
34 6.26669701305456694485 0.90103663798424216136 \\
35 5.83730523011237334430 1.80415495622483867955 \\
36 6.83412452780290635701 1.72445998930877419930 \\
37 6.40473274486071098011 2.62757830754937016238 \\
38 7.40155204255124399282 2.54788334063330568213 \\
39 6.41190150228480959527 2.69138180107924629425 \\
40 7.03100008456816727431 3.47669507959600210256 \\
41 6.04134954430173376494 3.62019354004194227059 \\
42 6.66044812658509144399 4.40550681855869719072 \\
43 6.02564764514906592296 3.63283072292185815755 \\
44 5.67389075814860088798 4.56892211399846814857 \\
45 5.03909027671257536696 3.79624601836162733903 \\
46 4.68733338971211210833 4.73233740943823821823 \\
47 4.05253290827608747549 3.95966131380139918505 \\
48 4.73664680714712815757 1.82670134343837831103 \\
49 5.42225096201837608589 2.83488026152518468592 \\
50 5.73494446479434838437 1.88502618150989520451 \\
51 5.03327804486271990214 3.75612945133183995239 \\
52 4.36702703306917250359 3.01040189432186044982 \\
53 5.34597154763869664151 2.80627537131655158120 \\
54 4.67972053584514835478 2.06054781430657163455 \\
55 3.70077602127562244050 1.76955276373585146388 \\
56 3.70077602127562244050 2.26467433731187517409 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 6 0.5 Blue {} 1.5 \\
10 11 12 0.5 Green {} 1.5 \\
14 15 16 0.5 Orange {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P22) -- (P24);
\draw[green,thick] (P24) -- (P27);
\draw[green,thick] (P26) -- (P56);
\draw[green,thick] (P52) -- (P56);
\draw[green,thick] (P28) -- (P24);
\draw[green,thick] (P54) -- (P50);
\draw[green,thick] (P22) -- (P55);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P22) -- (P55);
\draw[magenta,dash pattern=on 1pt off 9pt] (P28) -- (P24);
\draw[magenta,dash pattern=on 1pt off 9pt] (P48) -- (P55);
\draw[magenta,dash pattern=on 1pt off 9pt] (P54) -- (P50);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1857, vom Themenstarter, eingetragen 2019-12-21
|
Symmetrischer Rahmen ergibt einen schlechten 114er.
57 Knoten, 57×Grad 4, 0 Überschneidungen
114 Kanten, minimal 0.93446574835377305135, maximal 1.30008732020609940605
nicht passende Kanten:
|P52-P59|=0.93446574835377305135
|P60-P59|=1.16350440867475390938
|P60-P53|=1.30008732020609940605
$
%Eingabe war:
%<Streichholzgraph>
%<Bildtext>4-regulärer Graph</Bildtext>
%<Ausrichten von="15" nach="7"/>
%<Winkel size="18" color="blue" id="blue_angle" value="11.593828510969319"/>
%<Winkel size="18" color="green" id="green_angle" value="23.070675959489"/>
%<Winkel size="18" color="orange" id="orange_angle" value="36.92932404051086"/>
%<Winkel size="18" color="violet" id="fourth_angle" value="23.07067595948917"/>
%<Winkel size="18" color="teal" id="fifth_angle" value="11.593828510969237"/>
%<Winkel size="18" color="lime" id="sixth_angle" value="21.4939046453575"/>
%<Winkel size="18" color="LightBlue" id="seventh_angle" value="15.245092854528327"/>
%<Feinjustieren Anzahl="7"/>
%<Rechenweg>
%P[1]=[440.948567841508,34.718235083951626];
%P[2]=[433.8644425118717,93.50920714214128]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,2,fifth_angle,3,
%sixth_angle,2,seventh_angle,3,"zumachen",2,2,2);
%N(43,4,3); N(44,8,6); N(45,12,10); N(46,16,14);
%N(47,20,18); N(50,38,36); N(51,46,44);
%N(52,51,43); N(53,47,51);
%N(54,40,50); N(56,24,47); N(57,50,34);
%N(58,57,30); N(59,57,58); N(60,26,56);
%
%RA(3,42); RA(45,46); RA(44,45); RA(28,58);
%RA(43,54); RA(54,52);
%RA(53,56); RA(60,59); RA(60,53); RA(52,59);
%
%</Rechenweg>
%</Streichholzgraph>
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.28468994661182689399,4.33584734240606994859}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
28 58 \\
29 27 \\
29 28 \\
30 29 \\
31 29 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
43 54 \\
44 8 \\
44 6 \\
44 45 \\
45 12 \\
45 10 \\
45 46 \\
46 16 \\
46 14 \\
47 20 \\
47 18 \\
48 48 \\
49 49 \\
50 38 \\
50 36 \\
51 46 \\
51 44 \\
52 51 \\
52 43 \\
52 59 \\
53 47 \\
53 51 \\
53 56 \\
54 40 \\
54 50 \\
54 52 \\
55 55 \\
56 24 \\
56 47 \\
57 50 \\
57 34 \\
58 57 \\
58 30 \\
59 57 \\
59 58 \\
60 26 \\
60 56 \\
60 59 \\
60 53 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.57153362567935772631 1.89703835388732966472 \\
2 6.45190216679835071290 2.88985672299922402573 \\
3 5.65191196724411870633 2.28984365596053063285 \\
4 5.59173207041555198060 2.09701063272273957594 \\
5 5.90845177452332492862 1.14849145577907618687 \\
6 4.92865021925951918291 1.34846373461448654218 \\
7 5.24536992336729124276 0.39994455767082298658 \\
8 4.58228807221125666871 1.14849145577907552074 \\
9 4.26556836810348549704 0.19997227883541149329 \\
10 3.60248651694745136709 0.94851917694366416622 \\
11 3.28576681283967930725 0.00000000000000000000 \\
12 2.96904710873190991194 0.94851917694366461031 \\
13 2.30596525757587400562 0.19997227883541318638 \\
14 1.98924555346810461032 1.14849145577907774118 \\
15 1.32616370231206892605 0.39994455767082637276 \\
16 1.64288340641984031976 1.34846373461449031694 \\
17 0.66308185115603435200 1.14849145577907907345 \\
18 0.97980155526380574571 2.09701063272274312865 \\
19 0.00000000000000000000 1.89703835388733188516 \\
20 0.91962165843523990816 2.28984365596053329739 \\
21 0.11963145888100756853 2.88985672299922624617 \\
22 1.03925311731624758771 3.28266202507242743636 \\
23 0.23926291776201502604 3.88267509211112038514 \\
24 1.15888457619725482317 4.27548039418432157532 \\
25 0.35889437664302281661 4.87549346122301408002 \\
26 1.32309663347584871573 4.61032557493493921896 \\
27 1.07063763085273233600 5.57793316688249252167 \\
28 2.03483988768555823512 5.31276528059441588425 \\
29 1.78238088506244207743 6.28037287254196829878 \\
30 2.28038686261925649390 5.41319927612791662597 \\
31 2.78237823782653270754 6.27807190213564680903 \\
32 3.28038421538334690197 5.41089830572159424804 \\
33 3.78237559059062311562 6.27577093172932443110 \\
34 4.28038156814743686596 5.40859733531527275829 \\
35 4.78237294335471219142 6.27346996132300205318 \\
36 4.53459793828499524437 5.30465235884939723121 \\
37 5.49750609619552932372 5.57448171127300806660 \\
38 5.24973109112581326485 4.60566410879940413281 \\
39 6.21263924903634645602 4.87549346122301408002 \\
40 5.41264904948211000857 4.27548039418432512804 \\
41 6.33227070791734814037 3.88267509211111905287 \\
42 5.53228050836311258109 3.28266202507242965680 \\
43 4.67211041198031118427 2.48981593479594032203 \\
44 4.26556836810348460887 2.09701063272273957594 \\
45 3.28576681283968152769 1.89703835388732833245 \\
46 2.30596525757587622607 2.09701063272274179639 \\
47 1.89942321369904565387 2.48981593479594431884 \\
48 6.67 0 0 \\
49 6.67 0.1 0 \\
50 4.28682293321528185004 4.33583475637579240924 \\
51 3.28576681283968108360 2.29698291155815814690 \\
52 3.88053143535275024689 3.10088280819136796751 \\
53 2.69100219032660925578 3.10088280819136707933 \\
54 4.80552035943811350904 3.48087687435480708231 \\
55 6.67 0.2 0 \\
56 1.76601326624126930831 3.48087687435481596410 \\
57 3.43964783247507233099 4.86714855130852086518 \\
58 2.53284586524237331773 4.44559168418036421144 \\
59 3.35132580493148735101 3.87105657791922075361 \\
60 2.28468994661182689399 4.33584734240606994859 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
18 19 20 0.5 Teal {} 1.5 \\
24 25 26 0.5 Lime {} 1.5 \\
28 29 30 0.5 LightBlue {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P3) -- (P42);
\draw[green,thick] (P45) -- (P46);
\draw[green,thick] (P44) -- (P45);
\draw[green,thick] (P28) -- (P58);
\draw[green,thick] (P43) -- (P54);
\draw[green,thick] (P54) -- (P52);
\draw[green,thick] (P53) -- (P56);
\draw[green,thick] (P60) -- (P59);
\draw[green,thick] (P60) -- (P53);
\draw[green,thick] (P52) -- (P59);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P52) -- (P59);
\draw[magenta,dash pattern=on 1pt off 9pt] (P60) -- (P59);
\draw[magenta,dash pattern=on 1pt off 9pt] (P60) -- (P53);
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1858, eingetragen 2019-12-22
|
weiter so und frohe feiertage...
haribo
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1859, vom Themenstarter, eingetragen 2019-12-22
|
vieeel Arbeit ...aber es kann nicht immer klappen. :-(
58 Knoten, 56×Grad 4, 2×Grad 5, 0 Überschneidungen
117 Kanten, minimal 0.93898124826193407610, maximal 1.25479314178646239597
nicht passende Kanten:
|P48-P71|=1.16365208243359030682
|P59-P61|=1.07919761858398377541
|P67-P71|=0.93898124826193407610
|P68-P71|=1.25479314178646239597
$
%Eingabe war:
%<Streichholzgraph>
%<Bildtext>4-regulärer Graph</Bildtext>
%<Ausrichten von="11" nach="9"/>
%<Winkel size="18" color="blue" id="blue_angle" value="10.752376419551172"/>
%<Winkel size="18" color="green" id="green_angle" value="8.689424016615465"/>
%<Winkel size="18" color="orange" id="orange_angle" value="60.00000000000001"/>
%<Winkel size="18" color="violet" id="fourth_angle" value="3.232148220749542"/>
%<Winkel size="18" color="teal" id="fifth_angle" value="13.67954883823172"/>
%<Winkel size="18" color="lime" id="sixth_angle" value="28.942263913791432"/>
%<Winkel size="18" color="LightBlue" id="seventh_angle" value="13.027595366550324"/>
%<Feinjustieren Anzahl="7"/>
%<Rechenweg>
%P[1]=[469.87552345230966,15.592208112506427];
%P[2]=[458.3109508244867,77.63726546384841]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,3,fifth_angle,2,
%sixth_angle,2,seventh_angle,3,"zumachen",2,2,2);
%
%N(44,8,6); N(48,26,24); N(50,38,36);
%N(55,4,3); N(56,55,40); N(57,50,34);
%N(58,57,30); N(59,58,48); N(61,56,57);
%N(64,44,55); N(65,44,64); N(66,14,65);
%N(67,22,20); N(68,16,66); N(70,65,61); N(71,66,70);
%
%RA(3,42); RA(12,10); RA(67,68);
%RA(28,58); RA(50,56); RA(61,64);
%RA(59,70); RA(67,71); RA(68,71);
%RA(59,61); RA(48,71);
%
%</Rechenweg>
%</Streichholzgraph>
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,8,14}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.85999938673689912960,2.60573613723125196984}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
28 58 \\
29 27 \\
29 28 \\
30 29 \\
31 29 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 43 \\
44 8 \\
44 6 \\
45 45 \\
46 46 \\
47 47 \\
48 26 \\
48 24 \\
48 71 \\
49 49 \\
50 38 \\
50 36 \\
50 56 \\
51 51 \\
52 52 \\
53 53 \\
54 54 \\
55 4 \\
55 3 \\
56 55 \\
56 40 \\
57 50 \\
57 34 \\
58 57 \\
58 30 \\
59 58 \\
59 48 \\
59 70 \\
59 61 \\
60 60 \\
61 56 \\
61 57 \\
61 64 \\
62 62 \\
63 63 \\
64 44 \\
64 55 \\
65 44 \\
65 64 \\
66 14 \\
66 65 \\
67 22 \\
67 20 \\
67 68 \\
67 71 \\
68 16 \\
68 66 \\
68 71 \\
69 69 \\
70 65 \\
70 61 \\
71 66 \\
71 70 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.89429509659994810278 1.56109160983102235321 \\
2 6.71106090051217751835 2.54416090005631900794 \\
3 5.95131501954061903348 1.89394078628964201982 \\
4 5.90577330604216843568 1.71216996563503309758 \\
5 6.26919650723280064142 0.78054580491551106558 \\
6 5.28067471667502097432 0.93162416071952225405 \\
7 5.64409791786565318006 0.00000000000000000000 \\
8 5.14409791786565406824 0.86602540378443915170 \\
9 4.64409791786565229188 0.00000000000000135098 \\
10 4.14409791786565406824 0.86602540378444103908 \\
11 3.64409791786565318006 0.00000000000000360261 \\
12 3.14409791786565451233 0.86602540378444337055 \\
13 2.64409791786565318006 0.00000000000000562908 \\
14 2.14409791786565451233 0.86602540378444503588 \\
15 1.64409791786565295801 0.00000000000000743038 \\
16 2.09447456457722092082 0.89283866185154459050 \\
17 1.09606527857710212004 0.83645694824924321509 \\
18 1.54644192528867008285 1.72929561010077992300 \\
19 0.54803263928855106002 1.67291389649847888066 \\
20 0.99840928600011913385 2.56575255835001536653 \\
21 0.00000000000000000000 2.50937084474771410214 \\
22 0.95675421662887671914 2.80026836787719091149 \\
23 0.22645246338634053562 3.48339306309093998948 \\
24 1.18320668001521722701 3.77429058622041591065 \\
25 0.45290492677268129329 4.45741528143416498864 \\
26 1.42258087636632835071 4.21302102458744798241 \\
27 1.14939453653778089759 5.17498215879770295800 \\
28 2.11907048613142778848 4.93058790195098595177 \\
29 1.84588414630288077944 5.89254903616124181553 \\
30 2.32888469021180855023 5.01692898466420089676 \\
31 2.84569362691682048450 5.87302975147955397262 \\
32 3.32869417082574825528 4.99740969998251305384 \\
33 3.84550310753075930137 5.85351046679786612970 \\
34 4.32850365143968662807 4.97789041530082609910 \\
35 4.84531258814469811824 5.83399118211617917495 \\
36 4.64695724800654819120 4.85386100757879646039 \\
37 5.59495254824066989841 5.17214533131154574619 \\
38 5.39659720810251997136 4.19201515677416480798 \\
39 6.34459250833664256675 4.51029948050691320560 \\
40 5.58484662736508230552 3.86007936674023888202 \\
41 6.52782670442441048664 3.52723019028161566268 \\
42 5.76808082345284933723 2.87701007651494267137 \\
43 6.99 0 0 \\
44 4.78067471667502186250 1.79764956450396073961 \\
45 6.99 0.1 0 \\
46 6.99 0.2 0 \\
47 6.99 0.30000000000000004 0 \\
48 2.15288262960886411790 3.52989632937369757215 \\
49 6.99 0.4 0 \\
50 4.44860190786839648780 3.87373083304141507810 \\
51 6.99 0.5 0 \\
52 6.99 0.6 0 \\
53 6.99 0.7 0 \\
54 6.99 0.7999999999999999 0 \\
55 4.96279322898283936638 2.04501914209365276420 \\
56 5.00683802020075940931 3.04404869939742361851 \\
57 3.56180278567593067152 4.33588591186093097463 \\
58 2.60207103004035644744 4.05496785045394503300 \\
59 3.09056397495060242164 3.18240000623040497629 \\
60 6.99 0.8999999999999999 0 \\
61 4.12003889800829181667 3.50620377821693551823 \\
62 6.99 0.9999999999999999 0 \\
63 6.99 1.0999999999999999 0 \\
64 4.07599410679037355010 2.50717422091316555210 \\
65 3.81386803467090018671 1.54214058299414613629 \\
66 2.81595459551898441575 1.60670657992748000531 \\
67 1.95516350262899574197 2.85665008147949173178 \\
68 1.84916592219708397771 1.86228369380210034834 \\
69 6.99 1.2 0 \\
70 3.85791282588881534465 2.54117014029791743468 \\
71 2.85999938673689912960 2.60573613723125196984 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
20 21 22 0.5 Teal {} 1.5 \\
24 25 26 0.5 Lime {} 1.5 \\
28 29 30 0.5 LightBlue {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P3) -- (P42);
\draw[green,thick] (P12) -- (P10);
\draw[green,thick] (P67) -- (P68);
\draw[green,thick] (P28) -- (P58);
\draw[green,thick] (P50) -- (P56);
\draw[green,thick] (P61) -- (P64);
\draw[green,thick] (P59) -- (P70);
\draw[green,thick] (P67) -- (P71);
\draw[green,thick] (P68) -- (P71);
\draw[green,thick] (P59) -- (P61);
\draw[green,thick] (P48) -- (P71);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P48) -- (P71);
\draw[magenta,dash pattern=on 1pt off 9pt] (P59) -- (P61);
\draw[cyan,dash pattern=on 1pt off 9pt] (P67) -- (P71);
\draw[magenta,dash pattern=on 1pt off 9pt] (P68) -- (P71);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1860, vom Themenstarter, eingetragen 2019-12-25
|
Aus dem letzten Graph eine 116ern Approximation. Wäre richtig gut, wenn da nicht die kurze Kante wäre. Es gibt bestimmt eine Eingabe für 3 fast richtige Kanten.
58 Knoten, 58×Grad 4, 0 Überschneidungen
116 Kanten, minimal 0.85022708679134328946, maximal 1.07854245091858236272
nicht passende Kanten:
|P59-P61|=1.07854245091858236272
|P59-P70|=1.04297588865241985800
|P67-P68|=0.85022708679134328946
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%
%
%
%P[1]=[483.6615776629585,22.571821496996073];
%P[2]=[466.1535361450163,84.5897751880895]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,3,fifth_angle,2,
%sixth_angle,2,seventh_angle,3,"zumachen",2,2,2);
%
%N(44,8,6); N(48,26,24); N(50,38,36);
%N(55,4,3); N(56,55,40); N(57,50,34);
%N(58,57,30); N(59,58,48); N(61,56,57);
%N(64,44,55); N(65,44,64); N(66,14,65);
%N(67,22,20); N(68,16,66); N(70,66,65); N(71,68,70);
%
%RA(3,42); RA(12,10); RA(67,71); RA(48,71);
%RA(28,58); RA(50,56); RA(61,64); RA(67,68);
%RA(59,61); RA(59,70);
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,8,20,28}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.93548880193614492029,2.69236356674609922379}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
28 58 \\
29 27 \\
29 28 \\
30 29 \\
31 29 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 43 \\
44 8 \\
44 6 \\
45 45 \\
46 46 \\
47 47 \\
48 26 \\
48 24 \\
48 71 \\
49 49 \\
50 38 \\
50 36 \\
50 56 \\
51 51 \\
52 52 \\
53 53 \\
54 54 \\
55 4 \\
55 3 \\
56 55 \\
56 40 \\
57 50 \\
57 34 \\
58 57 \\
58 30 \\
59 58 \\
59 48 \\
59 61 \\
59 70 \\
60 60 \\
61 56 \\
61 57 \\
61 64 \\
62 62 \\
63 63 \\
64 44 \\
64 55 \\
65 44 \\
65 64 \\
66 14 \\
66 65 \\
67 22 \\
67 20 \\
67 71 \\
67 68 \\
68 16 \\
68 66 \\
69 69 \\
70 66 \\
70 65 \\
71 68 \\
71 70 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 7.15265245296088725269 1.62722654001879640795 \\
2 6.88096520732855054803 2.58961213870609707755 \\
3 6.18335845344522017086 1.87313128276062101918 \\
4 6.15733947296841677144 1.72393265077974389143 \\
5 6.57124601434447885850 0.81361327000939798193 \\
6 5.57593303435200837725 0.91031938077034613155 \\
7 5.98983957572807046432 0.00000000000000000000 \\
8 5.49204392869628410523 0.86729435245261754517 \\
9 4.98984281042943589313 0.00254350000347034789 \\
10 4.49204716339765042221 0.86983785245608780112 \\
11 3.98984604513080176602 0.00508700000694069579 \\
12 3.49205039809901585102 0.87238135245955872321 \\
13 2.98984927983216675074 0.00763050001041170461 \\
14 2.49205363280038127982 0.87492485246303008939 \\
15 1.98985251453353217954 0.01017400001388293375 \\
16 2.30631580668114199995 0.95877875686633329266 \\
17 1.32656834302235493439 0.75854162880519471202 \\
18 1.64303163516996475479 1.70714638565764453837 \\
19 0.66328417151117735617 1.50690925759650640181 \\
20 0.97974746365878706555 2.45551401444895667225 \\
21 0.00000000000000000000 2.25527688638781809161 \\
22 0.95713571619079418351 2.54491669855447311122 \\
23 0.22773242281172040302 3.22900063756178568042 \\
24 1.18486813900251442000 3.51864044972844114412 \\
25 0.45546484562344080604 4.20272438873575371332 \\
26 1.43803611029943789745 4.01683810674321151168 \\
27 1.10773272038201975320 4.96071292397749985525 \\
28 2.09030398505801651154 4.77482664198495587726 \\
29 1.76000059514059836729 5.71870145921924422083 \\
30 2.26716053231369452092 4.85684950086062805497 \\
31 2.75996625396707662148 5.72698886941355667091 \\
32 3.26712619114017188693 4.86513691105494050504 \\
33 3.75993191279355398748 5.73527627960787000916 \\
34 4.26709184996665058520 4.87342432124925384329 \\
35 4.75989757162003268576 5.74356368980218423559 \\
36 4.62207015165322143702 4.75310743013934988710 \\
37 5.54874414384195802086 5.12897351294144154821 \\
38 5.41091672387514677212 4.13851725327860719972 \\
39 6.33759071606388335596 4.51438333608069886083 \\
40 5.63998396218055120244 3.79790248013522546700 \\
41 6.60927796169621650790 3.55199773739339841327 \\
42 5.91167120781288435438 2.83551688144792324309 \\
43 7.25 0 0 \\
44 5.07813738732021935363 1.77761373322296223343 \\
45 7.25 0.1 0 \\
46 7.25 0.2 0 \\
47 7.25 0.30000000000000004 0 \\
48 2.16743940367851184448 3.33275416773589716612 \\
49 7.25 0.4 0 \\
50 4.48424273168640930010 3.76265117047651553861 \\
51 7.25 0.5 0 \\
52 7.25 0.6 0 \\
53 7.25 0.7 0 \\
54 7.25 0.7999999999999999 0 \\
55 5.18804547345274880144 1.96983739352156606017 \\
56 5.08698873763500269973 2.96471805779535824144 \\
57 3.56651079556803507487 4.15985148949504157656 \\
58 2.59746392223111177699 3.91297468362633926731 \\
59 3.13164705571835622067 3.06760590025558466110 \\
60 7.25 0.8999999999999999 0 \\
61 4.16925680151663602402 3.36191837681390426340 \\
62 7.25 0.9999999999999999 0 \\
63 7.25 1.0999999999999999 0 \\
64 4.27031353733437768483 2.36703771254010231218 \\
65 4.16376932263894161679 1.37272974701084393701 \\
66 3.18827456409376353008 1.59275241868557015934 \\
67 1.93688317984958269236 2.74515382661560769506 \\
68 2.25719619958472028642 1.95757166042477037671 \\
69 7.25 1.2 0 \\
70 3.86656716644518816395 2.32754432500689878438 \\
71 2.93548880193614492029 2.69236356674609922379 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
20 21 22 0.5 Teal {} 1.5 \\
24 25 26 0.5 Lime {} 1.5 \\
28 29 30 0.5 LightBlue {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P3) -- (P42);
\draw[green,thick] (P12) -- (P10);
\draw[green,thick] (P67) -- (P71);
\draw[green,thick] (P48) -- (P71);
\draw[green,thick] (P28) -- (P58);
\draw[green,thick] (P50) -- (P56);
\draw[green,thick] (P61) -- (P64);
\draw[green,thick] (P67) -- (P68);
\draw[green,thick] (P59) -- (P61);
\draw[green,very thick] (P59) -- (P70);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P59) -- (P61);
\draw[magenta,dash pattern=on 1pt off 9pt] (P59) -- (P70);
\draw[cyan,dash pattern=on 1pt off 9pt] (P67) -- (P68);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1861, vom Themenstarter, eingetragen 2019-12-25
|
122er Versuch. Der geht noch viel besser, habe aber meine neue Eingabe zerschossen. Es ist wirklich wichtig, welche Kanten man misst und in welcher Reihenfolge.
61 Knoten, 61×Grad 4, 0 Überschneidungen
122 Kanten, minimal 0.95752075075659925929, maximal 1.26901592665158280404
nicht passende Kanten:
|P24-P53|=1.26901592665158280404
|P26-P27|=0.95752075075659925929
|P55-P56|=0.95752075075659948133
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%P[1]=[132.7821003923045,-105.96727592939774];
%P[2]=[190.4551159287228,-105.96727592939777]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,3,orange_angle,2,fourth_angle,3);
%N(24,4,3); N(25,8,6); N(26,12,25); N(27,16,14); N(28,18,27);
%N(29,26,25); N(30,22,28); N(31,29,28);
%A(26,27); RA(24,29); RA(30,31);
%A(2,23,ab(2,23,[1,31],"gespiegelt"));
%N(61,59,30);
%RA(3,33);
%RA(31,61); A(60,61);
%RA(24,53); R(26,27);
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{6,16,36,46}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.59459309710823360362,3.48585167399896445062}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 32 \\
3 1 \\
3 2 \\
3 33 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
14 13 \\
15 13 \\
15 14 \\
16 15 \\
16 14 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
23 51 \\
23 52 \\
24 4 \\
24 3 \\
24 29 \\
24 53 \\
25 8 \\
25 6 \\
26 12 \\
26 25 \\
26 27 \\
27 16 \\
27 14 \\
28 18 \\
28 27 \\
29 26 \\
29 25 \\
30 22 \\
30 28 \\
30 31 \\
31 29 \\
31 28 \\
31 61 \\
32 32 \\
33 32 \\
33 2 \\
34 32 \\
35 32 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 37 \\
39 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 40 \\
42 41 \\
43 41 \\
43 42 \\
44 43 \\
45 43 \\
45 44 \\
46 44 \\
46 45 \\
47 45 \\
47 46 \\
48 47 \\
49 47 \\
49 48 \\
50 48 \\
50 49 \\
51 49 \\
51 50 \\
52 50 \\
52 51 \\
53 33 \\
53 34 \\
53 58 \\
54 36 \\
54 38 \\
55 42 \\
55 54 \\
55 56 \\
56 44 \\
56 46 \\
57 48 \\
57 56 \\
58 54 \\
58 55 \\
59 52 \\
59 57 \\
59 60 \\
60 57 \\
60 58 \\
60 61 \\
61 59 \\
61 30 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 2.59459309710823227135 0.00000000000000049281 \\
2 3.59459309710823227135 0.00000000000000000000 \\
3 3.09459309710823271544 0.86602540378443892966 \\
4 2.46008513378244098035 0.99091251268815283559 \\
5 1.66918370652952674504 0.37896894309263573497 \\
6 1.53467574320373545405 1.36988145578078812648 \\
7 0.74377431595082144078 0.75793788618527102585 \\
8 1.45879940339211811029 1.45703668058386393014 \\
9 0.49584954396721420133 1.72671717345191999549 \\
10 1.21087463140851081533 2.42581596785051267773 \\
11 0.24792477198360712842 2.69549646071856852103 \\
12 0.96294985942490363140 3.39459525511716098123 \\
13 0.00000000000000000000 3.66427574798521726862 \\
14 0.98966374280937308150 3.80768312634680317075 \\
15 0.37063743865342618777 4.59305337964331616973 \\
16 1.36030118146279899172 4.73646075800490251595 \\
17 0.74127487730685237555 5.52183101130141551494 \\
18 1.48431235843352915538 4.85258120619055599576 \\
19 1.69238095057397974763 5.83069544336568768017 \\
20 2.43541843170065641644 5.16144563825482904917 \\
21 2.64348702384110634256 6.13955987542996073358 \\
22 3.38652450496778278932 5.47031007031910032623 \\
23 3.59459309710823315953 6.44842430749423201064 \\
24 2.96008513378244098035 1.85693791647259121014 \\
25 2.24970083064503301173 2.06898025017938058667 \\
26 1.88120690341450669258 2.99861040545309087690 \\
27 1.97932748561874594095 3.95109050470838907287 \\
28 2.48359231518119161208 4.81463956623666078372 \\
29 2.87053719762087578005 2.85292042993816563623 \\
30 3.42268072978438731013 4.47096392037554402066 \\
31 2.65550468250502857970 3.82952731986007943732 \\
32 4.59459309710823227135 0.00000000000000049281 \\
33 4.09459309710823138317 0.86602540378443881863 \\
34 4.72910106043402400644 0.99091251268815261355 \\
35 5.52000248768693868584 0.37896894309263545741 \\
36 5.65451045101272775639 1.36988145578078857056 \\
37 6.44541187826564243579 0.75793788618526991563 \\
38 5.73038679082434665446 1.45703668058386326400 \\
39 6.69333665024924950870 1.72671717345191932935 \\
40 5.97831156280795283919 2.42581596785051312182 \\
41 6.94126142223285746979 2.69549646071856896512 \\
42 6.22623633479156168846 3.39459525511716009305 \\
43 7.18918619421646365453 3.66427574798521815680 \\
44 6.19952245140709123916 3.80768312634680272666 \\
45 6.81854875556303863249 4.59305337964331528156 \\
46 5.82888501275366799348 4.73646075800490073959 \\
47 6.44791131690961361045 5.52183101130141462676 \\
48 5.70487383578293538733 4.85258120619055599576 \\
49 5.49680524364248679348 5.83069544336568590381 \\
50 4.75376776251581034671 5.16144563825482904917 \\
51 4.54569917037535908833 6.13955987542995895723 \\
52 3.80266168924868130929 5.47031007031910210259 \\
53 4.22910106043402400644 1.85693791647259121014 \\
54 4.93948536357143197506 2.06898025017938058667 \\
55 5.30797929080195807217 2.99861040545309043281 \\
56 5.20985870859771971197 3.95109050470838907287 \\
57 4.70559387903527248653 4.81463956623666078372 \\
58 4.31864899659558876266 2.85292042993816519214 \\
59 3.76650546443207989711 4.47096392037554402066 \\
60 4.53368151171143640710 3.82952731986007899323 \\
61 3.59459309710823360362 3.48585167399896445062 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
12 13 14 0.5 Orange {} 1.5 \\
16 17 18 0.5 Violet {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P24) -- (P29);
\draw[green,thick] (P30) -- (P31);
\draw[green,thick] (P3) -- (P33);
\draw[green,thick] (P31) -- (P61);
\draw[green,thick] (P24) -- (P53);
\draw[green,thick] (P26) -- (P27);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P24) -- (P53);
\draw[cyan,dash pattern=on 1pt off 9pt] (P26) -- (P27);
\draw[cyan,dash pattern=on 1pt off 9pt] (P55) -- (P56);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1862, vom Themenstarter, eingetragen 2019-12-26
|
Versuche...
62 Knoten, 2×Grad 2, 60×Grad 4, 0 Überschneidungen
122 Kanten, minimal 0.99999999999999744649, maximal 1.07449653013783463784
nicht passende Kanten:
|P63-P59|=1.07449653013783463784
|P63-P60|=1.07449653013782797650
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%P[1]=[140.33635037359352,-107.82524003812966];
%P[2]=[191.52781294451273,-107.82524003812965]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,3,orange_angle,2,fourth_angle,3);
%N(24,4,3); N(25,8,6); N(26,16,14); N(27,26,12); N(28,18,26); N(29,28,27);
%RA(24,25);
%A(2,23,ab(2,23,[1,29],"gespiegelt"));
%N(58,50,22); N(59,27,25); N(60,52,54);
%N(61,59,24); N(62,51,60); N(63,61,62);
%RA(3,31); RA(61,62);
%RA(28,58); A(55,58);
%RA(63,59); A(63,60);
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{3,10,12,22,24,31,38,40,52}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.64695339746020685823,3.54456345900120117776}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 30 \\
3 1 \\
3 2 \\
3 31 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
14 13 \\
15 13 \\
15 14 \\
16 15 \\
16 14 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
23 49 \\
23 50 \\
24 4 \\
24 3 \\
24 25 \\
25 8 \\
25 6 \\
26 16 \\
26 14 \\
27 26 \\
27 12 \\
28 18 \\
28 26 \\
28 58 \\
29 28 \\
29 27 \\
30 30 \\
31 30 \\
31 2 \\
32 30 \\
33 30 \\
33 32 \\
34 32 \\
34 33 \\
35 33 \\
35 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 41 \\
43 41 \\
43 42 \\
44 42 \\
44 43 \\
45 43 \\
45 44 \\
46 45 \\
47 45 \\
47 46 \\
48 46 \\
48 47 \\
49 47 \\
49 48 \\
50 48 \\
50 49 \\
51 31 \\
51 32 \\
51 52 \\
52 34 \\
52 36 \\
53 42 \\
53 44 \\
54 40 \\
54 53 \\
55 46 \\
55 53 \\
55 58 \\
56 54 \\
56 55 \\
57 57 \\
58 50 \\
58 22 \\
59 27 \\
59 25 \\
60 52 \\
60 54 \\
61 59 \\
61 24 \\
61 62 \\
62 51 \\
62 60 \\
63 61 \\
63 62 \\
63 59 \\
63 60 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 2.64695339746020152916 0.00000000000000000000 \\
2 3.64695339746020152916 0.00000000000000027760 \\
3 3.14695339746020152916 0.86602540378443870761 \\
4 3.06968200082108300109 0.90625632571616221433 \\
5 2.07347669873010165276 0.81922187227492038186 \\
6 2.49620530209098312469 1.72547819799108181904 \\
7 1.50000000000000177636 1.63844374454984054168 \\
8 2.00000000000000133227 2.50446914833427936031 \\
9 1.00000000000000111022 2.50446914833427847213 \\
10 1.50000000000000066613 3.37049455211871773486 \\
11 0.50000000000000066613 3.37049455211871640259 \\
12 0.99999999999999988898 4.23651995590315522122 \\
13 0.00000000000000000000 4.23651995590315433304 \\
14 0.99899161591634944024 4.28141707528559223306 \\
15 0.46061376201624099069 5.12412063314559862448 \\
16 1.45960537793259059747 5.16901775252803652450 \\
17 0.92122752403248198139 6.01172131038804380410 \\
18 1.73727227768029379718 5.43373259073697401078 \\
19 1.82980281517505627420 6.42944243784652691431 \\
20 2.64584756882286731283 5.85145371819545712100 \\
21 2.73837810631763023395 6.84716356530501091271 \\
22 3.55442285996544127258 6.26917484565394111939 \\
23 3.64695339746020374960 7.26488469276349402293 \\
24 3.56968200082108300109 1.77228172950060058888 \\
25 2.99620530209098312469 2.59150360177552085972 \\
26 1.99798323183269910253 4.32631419466803013307 \\
27 1.57654715869057127087 3.41945608214185092777 \\
28 2.66818565380689243227 5.06849255165503187470 \\
29 2.24674958066476460061 4.16163443912885266940 \\
30 4.64695339746020152916 0.00000000000000000000 \\
31 4.14695339746020152916 0.86602540378443859659 \\
32 4.22422479409932005723 0.90625632571616177025 \\
33 5.22043009619030318191 0.81922187227491871653 \\
34 4.79770149282942082181 1.72547819799108181904 \\
35 5.79390679492040128196 1.63844374454983943146 \\
36 5.29390679492040128196 2.50446914833427847213 \\
37 6.29390679492040128196 2.50446914833427847213 \\
38 5.79390679492040483467 3.37049455211871640259 \\
39 6.79390679492040305831 3.37049455211871418214 \\
40 6.29390679492040128196 4.23651995590315522122 \\
41 7.29390679492040483467 4.23651995590315255669 \\
42 6.29491517900405739283 4.28141707528558956852 \\
43 6.83329303290416589789 5.12412063314559684812 \\
44 5.83430141698781401516 5.16901775252803474814 \\
45 6.37267927088792252022 6.01172131038804113956 \\
46 5.55663451724011103749 5.43373259073697401078 \\
47 5.46410397974534944865 6.42944243784652602614 \\
48 4.64805922609753796593 5.85145371819545623282 \\
49 4.55552868860277726526 6.84716356530501002453 \\
50 3.73948393495496489436 6.26917484565394111939 \\
51 3.72422479409932138950 1.77228172950060081092 \\
52 4.29770149282942259816 2.59150360177552041563 \\
53 5.29592356308770551010 4.32631419466802835672 \\
54 5.71735963622983511812 3.41945608214184959550 \\
55 4.62572114111351329058 5.06849255165503187470 \\
56 5.04715721425563934588 4.16163443912885178122 \\
57 7.39 0 0 \\
58 3.64695339746020286142 5.27346499854438821586 \\
59 2.57347669873010209685 3.49775992749168285201 \\
60 4.72043009619030495827 3.49775992749168240792 \\
61 3.14695339746020419369 2.67853805521676413548 \\
62 4.14695339746020597005 2.67853805521676147094 \\
63 3.64695339746020685823 3.54456345900120117776 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
12 13 14 0.5 Orange {} 1.5 \\
16 17 18 0.5 Violet {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P24) -- (P25);
\draw[green,thick] (P3) -- (P31);
\draw[green,thick] (P61) -- (P62);
\draw[green,thick] (P28) -- (P58);
\draw[green,thick] (P63) -- (P59);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P63) -- (P59);
\draw[magenta,dash pattern=on 1pt off 9pt] (P63) -- (P60);
\end{tikzpicture}
\end{document}
$
64 Knoten, 64×Grad 4, 0 Überschneidungen
128 Kanten, minimal 0.76035322356594758908, maximal 1.00000000000000333067
nicht passende Kanten:
|P29-P59|=0.80999433702371170796
|P29-P64|=0.76035322356595036464
|P56-P60|=0.80999433702371248511
|P56-P65|=0.76035322356594758908
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%P[1]=[138.57871535624037,-102.46246140663501];
%P[2]=[188.43163093901663,-102.46246140663503]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,3,orange_angle,2,fourth_angle,3);
%N(24,4,3); N(25,8,6); N(26,16,14); N(27,26,12); N(28,18,26); N(29,28,27);
%RA(24,25);
%A(2,23,ab(2,23,[1,29],"gespiegelt"));
%N(58,50,22); N(59,27,25); N(60,52,54);
%N(61,59,24); N(62,51,60); N(63,61,62);
%N(64,58,28); N(65,55,58);
%RA(3,31);
%RA(61,62);
%RA(63,64); A(63,65);
%RA(29,59); A(56,60);
%RA(29,64); A(56,65);
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{3,10,12,16,31,38,40,44}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{4.52910333850638568975,4.21867584926147110025}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 30 \\
3 1 \\
3 2 \\
3 31 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
14 13 \\
15 13 \\
15 14 \\
16 15 \\
16 14 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
23 49 \\
23 50 \\
24 4 \\
24 3 \\
24 25 \\
25 8 \\
25 6 \\
26 16 \\
26 14 \\
27 26 \\
27 12 \\
28 18 \\
28 26 \\
29 28 \\
29 27 \\
29 59 \\
29 64 \\
30 30 \\
31 30 \\
31 2 \\
32 30 \\
33 30 \\
33 32 \\
34 32 \\
34 33 \\
35 33 \\
35 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 41 \\
43 41 \\
43 42 \\
44 42 \\
44 43 \\
45 43 \\
45 44 \\
46 45 \\
47 45 \\
47 46 \\
48 46 \\
48 47 \\
49 47 \\
49 48 \\
50 48 \\
50 49 \\
51 31 \\
51 32 \\
51 52 \\
52 34 \\
52 36 \\
53 42 \\
53 44 \\
54 40 \\
54 53 \\
55 46 \\
55 53 \\
56 54 \\
56 55 \\
56 60 \\
56 65 \\
57 57 \\
58 50 \\
58 22 \\
59 27 \\
59 25 \\
60 52 \\
60 54 \\
61 59 \\
61 24 \\
61 62 \\
62 51 \\
62 60 \\
63 61 \\
63 62 \\
63 64 \\
63 65 \\
64 58 \\
64 28 \\
65 55 \\
65 58 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 2.74799954815810210107 0.00000000000000085517 \\
2 3.74799954815810210107 0.00000000000000057011 \\
3 3.24799954815810254516 0.86602540378443959579 \\
4 3.11273314740543538548 0.93111191678556426421 \\
5 2.12399977407904883009 0.78142452095470582574 \\
6 2.48873337332638167041 1.71253643774026897972 \\
7 1.49999999999999511502 1.56284904190941076330 \\
8 1.99999999999999666933 2.42887444569384847171 \\
9 0.99999999999999666933 2.42887444569385024806 \\
10 1.49999999999999800160 3.29489984947828773443 \\
11 0.49999999999999827915 3.29489984947828951078 \\
12 0.99999999999999955591 4.16092525326272699715 \\
13 0.00000000000000000000 4.16092525326272877351 \\
14 0.99691698606717737974 4.23938876638019745968 \\
15 0.43050709740368686695 5.06351244521985588420 \\
16 1.42742408347086424669 5.14197595833732457038 \\
17 0.86101419480737395595 5.96609963717698299490 \\
18 1.57764171714092249488 5.26864354950258473309 \\
19 1.82334264592428452190 6.23798923273173677728 \\
20 2.53997016825783283878 5.54053314505733762729 \\
21 2.78567109704119397762 6.50987882828649055966 \\
22 3.50229861937474273859 5.81242274061209229785 \\
23 3.74799954815810387743 6.78176842384124523022 \\
24 3.61273314740543449730 1.79713732057000319386 \\
25 2.98873337332638344677 2.57856184152470646609 \\
26 1.99383397213435475948 4.31785227949766703404 \\
27 1.63171156252425131328 3.38572173045522006873 \\
28 2.56880866356668891015 5.13602347442712048320 \\
29 2.20668625395658635213 4.20389292538467440608 \\
30 4.74799954815810210107 0.00000000000000000000 \\
31 4.24799954815810210107 0.86602540378443959579 \\
32 4.38326594891076926075 0.93111191678556382012 \\
33 5.37199932223715581614 0.78142452095470493756 \\
34 5.00726572298982386400 1.71253643774026809155 \\
35 5.99599909631621130757 1.56284904190941009716 \\
36 5.49599909631621041939 2.42887444569384758353 \\
37 6.49599909631620864303 2.42887444569384935988 \\
38 5.99599909631620953121 3.29489984947828595807 \\
39 6.99599909631620775485 3.29489984947828729034 \\
40 6.49599909631620597850 4.16092525326272610897 \\
41 7.49599909631620686667 4.16092525326272610897 \\
42 6.49908211024902904285 4.23938876638019568333 \\
43 7.06549199891252133199 5.06351244521985144331 \\
44 6.06857501284534173180 5.14197595833732190584 \\
45 6.63498490150883402094 5.96609963717698210672 \\
46 5.91835737917528614815 5.26864354950258206856 \\
47 5.67265645039192190069 6.23798923273173411275 \\
48 4.95602892805837402790 5.54053314505733673911 \\
49 4.71032799927501333315 6.50987882828648967148 \\
50 3.99370047694146812489 5.81242274061209140967 \\
51 3.88326594891077103711 1.79713732057000319386 \\
52 4.50726572298982297582 2.57856184152470602200 \\
53 5.50216512418185388356 4.31785227949766525768 \\
54 5.86428753379195377704 3.38572173045521918056 \\
55 4.92719043274952017697 5.13602347442712048320 \\
56 5.28931284235962007045 4.20389292538467440608 \\
57 7.60 0 0 \\
58 3.74799954815810432152 4.84307705738293847730 \\
59 2.62399977407905016236 3.50967375831026995314 \\
60 4.87199932223715492796 3.50967375831026950905 \\
61 3.24799954815811142694 2.72824923735557067772 \\
62 4.24799954815809410746 2.72824923735557067772 \\
63 3.74799954815810254516 3.59427464114001438134 \\
64 2.96689575780982339737 4.21867584926147110025 \\
65 4.52910333850638568975 4.21867584926147110025 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
12 13 14 0.5 Orange {} 1.5 \\
16 17 18 0.5 Violet {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P24) -- (P25);
\draw[green,thick] (P3) -- (P31);
\draw[green,thick] (P61) -- (P62);
\draw[green,thick] (P63) -- (P64);
\draw[green,thick] (P29) -- (P59);
\draw[green,thick] (P29) -- (P64);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P29) -- (P59);
\draw[cyan,dash pattern=on 1pt off 9pt] (P29) -- (P64);
\draw[cyan,dash pattern=on 1pt off 9pt] (P56) -- (P60);
\draw[cyan,dash pattern=on 1pt off 9pt] (P56) -- (P65);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1863, vom Themenstarter, eingetragen 2019-12-27
|
116er Versuch
58 Knoten, 58×Grad 4, 0 Überschneidungen
116 Kanten, minimal 0.97450218373002073236, maximal 1.33312536341323806255
nicht passende Kanten:
|P44-P45|=0.98428024800071711731
|P46-P53|=1.33312536341323806255
|P46-P49|=0.97450218373002073236
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[459.5948378884723,33.08084166292629];
%P[2]=[445.50989617940434,91.78128912976568]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,1,fifth_angle,2,
%sixth_angle,2,seventh_angle,2,eighth_angle,1,nineth_angle,2,"zumachen",2,2,2);
%N(43,4,3); N(44,8,6); N(45,12,10); N(46,16,14);
%N(47,24,22); N(48,30,28); N(49,47,20); N(50,38,36);
%N(51,26,47); N(52,50,34); N(53,51,49);
%N(56,52,48); N(59,43,40); N(60,59,50); N(61,43,59); N(62,45,61);
%
%RA(3,42);
%RA(30,32); RA(16,18);
%RA(48,52);
%RA(60,62);
%RA(53,62); RA(56,60);
%RA(51,56); RA(44,61);
%RA(46,53); RA(44,45); RA(46,49);
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,28,51}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.11635966508882766846,2.60515579091145976776}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
16 18 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
29 27 \\
29 28 \\
30 29 \\
30 32 \\
31 29 \\
31 30 \\
32 31 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
44 8 \\
44 6 \\
44 61 \\
44 45 \\
45 12 \\
45 10 \\
46 16 \\
46 14 \\
46 53 \\
46 49 \\
47 24 \\
47 22 \\
48 30 \\
48 28 \\
48 52 \\
49 47 \\
49 20 \\
50 38 \\
50 36 \\
51 26 \\
51 47 \\
51 56 \\
52 50 \\
52 34 \\
53 51 \\
53 49 \\
53 62 \\
54 54 \\
55 55 \\
56 52 \\
56 48 \\
56 60 \\
57 57 \\
58 58 \\
59 43 \\
59 40 \\
60 59 \\
60 50 \\
60 62 \\
61 43 \\
61 59 \\
62 45 \\
62 61 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.93863603837790421380 1.86567190873420551966 \\
2 6.70531267107380823944 2.83807110981875876377 \\
3 5.97985194396694019758 2.14980754589460776316 \\
4 5.94493811092223278791 1.97776307239265247695 \\
5 6.34471327938209483932 1.06114984169887183185 \\
6 5.35101535192642341343 1.17324100535731856709 \\
7 5.75079052038628546484 0.25662777466353764444 \\
8 5.14380063103444307160 1.05133732803800095112 \\
9 4.75905691385789353376 0.12831388733176846140 \\
10 4.15206702450605202870 0.92302344070623187910 \\
11 3.76732330732950249086 0.00000000000000000000 \\
12 3.38257959015295162075 0.92302344070623154604 \\
13 2.77558970080111144796 0.12831388733176751771 \\
14 2.39084598362456057785 1.05133732803799873068 \\
15 1.78385609427272018301 0.25662777466353481337 \\
16 2.18283795794684865044 1.17358659187351133113 \\
17 1.18923739618181389943 1.06063561285957774771 \\
18 1.58821925985594236685 1.97759443006955448752 \\
19 0.59461869809090683869 1.86464345105562134819 \\
20 0.99360056176503552816 2.78160226826559764390 \\
21 0.00000000000000000000 2.66865128925166494867 \\
22 0.94506656322742566001 2.99552923446899210802 \\
23 0.18944867711864912807 3.65054191388253146400 \\
24 1.13451524034607476032 3.97741985909985906744 \\
25 0.37889735423729847819 4.63243253851339797933 \\
26 1.36318435067615495448 4.45585646810357527414 \\
27 1.02396021513206325615 5.39656204683921902898 \\
28 2.00824721157091934387 5.21998597642939632379 \\
29 1.66902307602682786758 6.16069155516504007863 \\
30 2.12726609425611368209 5.27186461124169447601 \\
31 2.66789129814717496103 6.11312817809678499259 \\
32 3.12613431637646099759 5.22430123417343938996 \\
33 3.66675952026752227653 6.06556480102852813019 \\
34 4.12500253849680742491 5.17673785710518341574 \\
35 4.66562774238786914793 6.01800142396027304414 \\
36 4.52405948451083173012 5.02807292736990785187 \\
37 5.45214683942674405159 5.40043546797406914806 \\
38 5.31057858154970663378 4.41050697138370484396 \\
39 6.23866593646561806707 4.78286951198786614015 \\
40 5.51320520935875002522 4.09460594806371513954 \\
41 6.47198930376971315326 3.81047031090331245196 \\
42 5.74652857666284422322 3.12220674697916233953 \\
43 4.98615401651126965987 2.26189870955305627476 \\
44 4.74402546257458013201 1.96795055873178070804 \\
45 3.76732330732950160268 1.84604688141246331412 \\
46 2.78982784729869059959 1.96829614524797480435 \\
47 1.89013312645485109798 3.32240717968632015555 \\
48 2.46649022980020493634 4.33115903250604983299 \\
49 1.88195330394095550197 2.32244063499412822793 \\
50 4.38249122663379431231 4.03814443077954354777 \\
51 2.33454134343282015962 4.21823156910785268536 \\
52 3.46175738233361096619 4.42833565051700261961 \\
53 2.32636152091892434157 3.21826502441566164592 \\
54 7.04 0 0 \\
55 7.04 0.1 0 \\
56 3.04828122591824968168 3.51782070386539613693 \\
57 7.04 0.2 0 \\
58 7.04 0.30000000000000004 0 \\
59 4.96000622794153045447 3.26155679767764672405 \\
60 3.96901507021843613643 3.12762948412793395647 \\
61 4.10735082281192109832 2.73908310446117253534 \\
62 3.11635966508882766846 2.60515579091145976776 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
16 17 18 0.5 Teal {} 1.5 \\
20 21 22 0.5 Lime {} 1.5 \\
24 25 26 0.5 LightBlue {} 1.5 \\
28 29 30 0.5 LightCoral {} 1.5 \\
30 31 32 0.5 LightCyan {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P3) -- (P42);
\draw[green,thick] (P30) -- (P32);
\draw[green,thick] (P16) -- (P18);
\draw[green,thick] (P48) -- (P52);
\draw[green,thick] (P60) -- (P62);
\draw[green,thick] (P53) -- (P62);
\draw[green,thick] (P56) -- (P60);
\draw[green,thick] (P51) -- (P56);
\draw[green,thick] (P44) -- (P61);
\draw[green,thick] (P46) -- (P53);
\draw[green,thick] (P44) -- (P45);
\draw[green,thick] (P46) -- (P49);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P44) -- (P45);
\draw[magenta,dash pattern=on 1pt off 9pt] (P46) -- (P53);
\draw[cyan,dash pattern=on 1pt off 9pt] (P46) -- (P49);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1864, vom Themenstarter, eingetragen 2019-12-28
|
Fast 112er. Interessant ist der innere Kreis mit 10 Kanten. Die 5 inneren Dreiecke erschweren leider das Zurechtziehen.
56 Knoten, 56×Grad 4, 0 Überschneidungen
112 Kanten, minimal 0.99999999999999333866, maximal 1.19407595479216666057
nicht passende Kanten:
|P50-P59|=1.00635230486557913920
|P51-P56|=1.10121216478811945194
|P53-P51|=1.19407595479216666057
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[465.4759031940982,34.2353898583157];
%P[2]=[452.2355855123319,94.06287611891469]; D=ab(1,2); A(2,1); N(3,1,2);
%M(4,1,3,blue_angle,2,green_angle,2,orange_angle,2,fourth_angle,1,fifth_angle,2,
%sixth_angle,2,seventh_angle,2,eighth_angle,1,nineth_angle,2,"zumachen",2,2,2);
%N(43,4,3); N(44,8,6); N(45,12,10); N(46,16,14);
%N(47,24,22); N(48,30,28); N(49,47,20); N(50,38,36);
%N(51,26,47); N(52,50,34); N(53,49,46);
%N(56,52,48); N(59,43,40); N(61,43,59);
%
%RA(3,42);
%RA(30,32); RA(16,18);
%RA(44,45); RA(48,52);
%RA(49,46); RA(45,61);
%RA(53,56); RA(44,61);
%RA(53,51); RA(51,56);
%RA(50,59);
%
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,20}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{4.16923725234373865334,2.77036836118872153989}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
2 41 \\
3 1 \\
3 2 \\
3 42 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
16 18 \\
17 15 \\
17 16 \\
18 17 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
22 21 \\
23 21 \\
23 22 \\
24 23 \\
24 22 \\
25 23 \\
25 24 \\
26 25 \\
27 25 \\
27 26 \\
28 27 \\
28 26 \\
29 27 \\
29 28 \\
30 29 \\
30 32 \\
31 29 \\
31 30 \\
32 31 \\
33 31 \\
33 32 \\
34 33 \\
34 32 \\
35 33 \\
35 34 \\
35 37 \\
36 37 \\
36 35 \\
37 39 \\
38 39 \\
38 37 \\
38 36 \\
39 39 \\
40 41 \\
40 39 \\
40 42 \\
41 39 \\
42 2 \\
42 41 \\
43 4 \\
43 3 \\
44 8 \\
44 6 \\
44 45 \\
44 61 \\
45 12 \\
45 10 \\
45 61 \\
46 16 \\
46 14 \\
47 24 \\
47 22 \\
48 30 \\
48 28 \\
48 52 \\
49 47 \\
49 20 \\
49 46 \\
50 38 \\
50 36 \\
50 59 \\
51 26 \\
51 47 \\
51 56 \\
52 50 \\
52 34 \\
53 49 \\
53 46 \\
53 56 \\
53 51 \\
54 54 \\
55 55 \\
56 52 \\
56 48 \\
57 57 \\
58 58 \\
59 43 \\
59 40 \\
60 60 \\
61 43 \\
61 59 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 6.98447904609918701624 1.84691224079246962830 \\
2 6.76839903475145643341 2.82328790041122745791 \\
3 6.03087291555868887372 2.14796929152468329960 \\
4 5.99289056434682443353 1.97634285098977025008 \\
5 6.37659460876482242497 1.05288673059353210526 \\
6 5.38500612701246073044 1.18231734079083250499 \\
7 5.76871017143045694553 0.25886122039459436017 \\
8 5.16082573409609590698 1.05288673059353388162 \\
9 4.77712168967809525100 0.12943061019729723560 \\
10 4.16923725234373332427 0.92345612039623659051 \\
11 3.78553320792573222420 0.00000000000000000000 \\
12 3.40182916350773556502 0.92345612039623836687 \\
13 2.79394472617337097375 0.12943061019730142669 \\
14 2.41024068175537431458 1.05288673059353898864 \\
15 1.80235624442100972331 0.25886122039460235378 \\
16 2.19427319606928161733 1.17886181985675797534 \\
17 1.20157082961400663024 1.05827155642684100911 \\
18 1.59348778126227830221 1.97827215588899685272 \\
19 0.60078541480700342614 1.85768189245907966445 \\
20 0.99270236645527509811 2.77768249192123573010 \\
21 0.00000000000000000000 2.65709222849131831978 \\
22 0.95581580893879414251 2.95105844999079414137 \\
23 0.22332568879632830328 3.63183611112082527228 \\
24 1.17914149773512244579 3.92580233262030020569 \\
25 0.44665137759265693962 4.60657999375033178069 \\
26 1.42103240094290694806 4.38167641144244779383 \\
27 1.12861410494853409148 5.33796692178318377131 \\
28 2.10299512829878398890 5.11306333947530067263 \\
29 1.81057683230441113231 6.06935384981603753829 \\
30 2.31054247601939755086 5.20330861132981503658 \\
31 2.81057683151752657480 6.06931417904954262355 \\
32 3.31054247523251277130 5.20326894056332012184 \\
33 3.81057683073064223933 6.06927450828304770880 \\
34 4.31054247444562754765 5.20322926979682431892 \\
35 4.81057682994375745977 6.06923483751655279406 \\
36 4.63202224690370112370 5.08530482939839778567 \\
37 5.57340792099988036057 5.42263702858264906581 \\
38 5.39485333795982402449 4.43870702046449405742 \\
39 6.33623901205600237319 4.77603921964874533757 \\
40 5.59871289286323303713 4.10072061076220428788 \\
41 6.55231902340372940330 3.79966356002998617569 \\
42 5.81479290421096006725 3.12434495114344601419 \\
43 5.03928443380632717918 2.27739990172198547569 \\
44 4.77712168967809880371 1.97634285098977224848 \\
45 3.78553320792573622100 1.84691224079247517942 \\
46 2.80215763340364887313 1.97288733005569394408 \\
47 1.91163161787758850707 3.24502467149026863069 \\
48 2.60296077201377018540 4.24701810098907639457 \\
49 1.84061681677431243642 2.24754940962947369343 \\
50 4.45346766386364567580 4.10137482128024277728 \\
51 2.38741942788503402895 4.12458476599678824925 \\
52 3.55742513682846395184 4.54534305183779707704 \\
53 2.55925156345613613595 2.94293714381922111301 \\
54 7.08 0 0 \\
55 7.08 0.1 0 \\
56 3.33854994043885122679 3.56959018947693795809 \\
57 7.08 0.2 0 \\
58 7.08 0.30000000000000004 0 \\
59 5.03118405223770626122 3.27736709309300344728 \\
60 7.08 0.4 0 \\
61 4.16923725234373865334 2.77036836118872153989 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 4 0.5 Blue {} 1.5 \\
6 7 8 0.5 Green {} 1.5 \\
10 11 12 0.5 Orange {} 1.5 \\
14 15 16 0.5 Violet {} 1.5 \\
16 17 18 0.5 Teal {} 1.5 \\
20 21 22 0.5 Lime {} 1.5 \\
24 25 26 0.5 LightBlue {} 1.5 \\
28 29 30 0.5 LightCoral {} 1.5 \\
30 31 32 0.5 LightCyan {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P3) -- (P42);
\draw[green,thick] (P30) -- (P32);
\draw[green,thick] (P16) -- (P18);
\draw[green,thick] (P44) -- (P45);
\draw[green,thick] (P48) -- (P52);
\draw[green,thick] (P49) -- (P46);
\draw[green,thick] (P45) -- (P61);
\draw[green,thick] (P53) -- (P56);
\draw[green,thick] (P44) -- (P61);
\draw[green,thick] (P53) -- (P51);
\draw[green,thick] (P51) -- (P56);
\draw[green,thick] (P50) -- (P59);
%nicht passende Kanten:
\draw[magenta,dash pattern=on 1pt off 9pt] (P50) -- (P59);
\draw[magenta,dash pattern=on 1pt off 9pt] (P51) -- (P56);
\draw[magenta,dash pattern=on 1pt off 9pt] (P53) -- (P51);
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1865, eingetragen 2019-12-28
|
Sieht spannend aus
Wie lang ist die Strecke 45-46?
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1866, vom Themenstarter, eingetragen 2019-12-28
|
\quoteon(2019-12-28 19:37 - haribo in Beitrag No. 1865)
Sieht spannend aus
Wie lang ist die Strecke 45-46?
\quoteoff
|P45-P46|=0.99141174275954879747
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1867, vom Themenstarter, eingetragen 2020-01-02
|
Wenigstens konnte ich einen alten verbessern, nur andere Kante gemessen.
56 Knoten, 56×Grad 4, 0 Überschneidungen
112 Kanten, minimal 0.99746618589325919402, maximal 1.00000000000000444089
nicht passende Kanten:
|P28-P24|=0.99746618589325919402
|P51-P55|=0.99746618589325952708
$
%Eingabe war:
%
%Fig.17 4-regular planar graph with 56 vertices. This graph is rigid and has a point symmetry.
%
%
%
%
%
%
%
%
%P[1]=[392.19729029731184,-122.49950892546218];
%P[2]=[452.9597610735769,-50.99016975011655]; D=ab(1,2);
%A(2,1); L(3,1,2); L(4,3,2); L(5,4,2);
%M(6,1,3,blauerWinkel,3,gruenerWinkel,2,orange_angle,3);
%N(22,3,4); N(23,14,12); N(24,23,10); N(25,16,23); N(26,6,22);
%N(27,20,25); N(28,27,25); N(29,26,22);
%RA(24,26);
%A(5,21,ab(21,5,[1,29]));
%RA(27,56); RA(28,56); RA(28,24);
%A(29,54); A(51,55); A(29,55);
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{4,6,14,18,20,22,27,32,44,52}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.91111917661053576367,3.06060111125626521655}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
5 47 \\
5 48 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 11 \\
13 11 \\
13 12 \\
14 13 \\
14 12 \\
15 13 \\
15 14 \\
16 15 \\
17 15 \\
17 16 \\
18 17 \\
18 16 \\
19 17 \\
19 18 \\
20 19 \\
20 18 \\
21 19 \\
21 20 \\
21 31 \\
21 33 \\
22 3 \\
22 4 \\
23 14 \\
23 12 \\
24 23 \\
24 10 \\
24 26 \\
25 16 \\
25 23 \\
26 6 \\
26 22 \\
27 20 \\
27 25 \\
27 56 \\
28 27 \\
28 25 \\
28 56 \\
28 24 \\
29 26 \\
29 22 \\
29 54 \\
29 55 \\
30 30 \\
31 30 \\
32 30 \\
32 31 \\
33 31 \\
33 32 \\
34 30 \\
35 30 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 37 \\
39 38 \\
40 39 \\
41 39 \\
41 40 \\
42 40 \\
42 41 \\
43 41 \\
43 42 \\
44 43 \\
45 43 \\
45 44 \\
46 44 \\
46 45 \\
47 45 \\
47 46 \\
48 46 \\
48 47 \\
49 32 \\
49 33 \\
50 40 \\
50 42 \\
51 38 \\
51 50 \\
51 53 \\
51 55 \\
52 44 \\
52 50 \\
53 34 \\
53 49 \\
54 48 \\
54 52 \\
55 52 \\
55 54 \\
56 49 \\
56 53 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 5.39138563040071705501 0.00000000000000000000 \\
2 6.03890741493369809234 0.76204693986343308154 \\
3 5.05519451386928153624 0.94179378484111231362 \\
4 5.70271629840226346175 1.70384072470454550619 \\
5 6.68642919946668001785 1.52409387972686638513 \\
6 4.89138563040071705501 0.86602540378443904068 \\
7 4.39138563040071616683 0.00000000000000045432 \\
8 3.89138563040071661092 0.86602540378443926272 \\
9 3.39138563040071705501 0.00000000000000030288 \\
10 2.89138563040071572274 0.86602540378443881863 \\
11 2.39138563040071661092 0.00000000000000000000 \\
12 2.28151053585057317363 0.99394540272471543219 \\
13 1.47566611439128680949 0.40181807823871634744 \\
14 1.36579101984114292812 1.39576348096343161309 \\
15 0.55994659838185667500 0.80363615647743269488 \\
16 1.31742863601531023932 1.45649216101646694632 \\
17 0.37329773225457113517 1.78606284624792066573 \\
18 1.13077976988802442193 2.43891885078695480615 \\
19 0.18664886612728556758 2.76848953601840852556 \\
20 0.94413090376073893761 3.42134554055744288803 \\
21 0.00000000000000000000 3.75091622578889705153 \\
22 4.71900339733784779384 1.88358756968222462724 \\
23 2.17163544130042973634 1.98789080544943086437 \\
24 3.15901934077618751218 1.82954613374859365038 \\
25 1.28799603011328378521 2.45605892802596281754 \\
26 3.96065695229692060764 1.23173584628664456453 \\
27 1.92504130724965949462 3.22688531242016463096 \\
28 2.27407389947415961018 2.28977472686206384722 \\
29 3.77531002285614381009 2.21440899425949710988 \\
30 1.29504356906596296284 5.27501010551576321461 \\
31 0.64752178453298314675 4.51296316565233102125 \\
32 1.63123468559740025796 4.33321632067465056792 \\
33 0.98371290106441489076 3.57116938081121704229 \\
34 1.79504356906595963217 4.40898470173132128735 \\
35 2.29504356906596473920 5.27501010551576232643 \\
36 2.79504356906596118648 4.40898470173132306371 \\
37 3.29504356906596562737 5.27501010551576321461 \\
38 3.79504356906596296284 4.40898470173132484007 \\
39 4.29504356906596296284 5.27501010551576321461 \\
40 4.40491866361610551195 4.28106470279104645016 \\
41 5.21076308507539209813 4.87319202727704681166 \\
42 5.32063817962553642360 3.87924662455233049130 \\
43 6.12648260108482212161 4.47137394903833040871 \\
44 5.36900056345136889036 3.81851794449929604625 \\
45 6.31313146721210749490 3.48894725926784232684 \\
46 5.55564942957865515183 2.83609125472880796437 \\
47 6.49978033333939375638 2.50652056949735424496 \\
48 5.74229829570594141330 1.85366456495832010454 \\
49 1.96742580212883177992 3.39142253583353880941 \\
50 4.51479375816624894924 3.28711930006633146206 \\
51 3.52740985869049117341 3.44546397176716778787 \\
52 5.39843316935339601059 2.81895117748979995298 \\
53 2.72577224716975941021 4.04327425922911753986 \\
54 4.76138789221702030119 2.04812479309559858365 \\
55 4.41235529999252129585 2.98523537865369892330 \\
56 2.91111917661053576367 3.06060111125626521655 \\
57 6.79 0 0 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 6 0.5 Blue {} 1.5 \\
10 11 12 0.5 Green {} 1.5 \\
14 15 16 0.5 Orange {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,thick] (P24) -- (P26);
\draw[green,thick] (P27) -- (P56);
\draw[green,thick] (P28) -- (P56);
\draw[green,thick] (P28) -- (P24);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P28) -- (P24);
\draw[cyan,dash pattern=on 1pt off 9pt] (P51) -- (P55);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1868, vom Themenstarter, eingetragen 2020-01-05
|
\quoteon(2018-07-19 22:48 - haribo in Beitrag No. 1320)
für die vierfarbige colorierung würde ich allerdings etwas einfacheres vorschlagen
https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/35059_st-v311vierfarb.PNG
\quoteoff
Kleines Update zum Thema: Jaan Parts fand im August 2019 einen Graphen mit nur 510 Knoten.
EDIT: Hier der Artikel "A 6-chromatic two-distance graph in the plane" (arXiv Version) aus der aktuellen Geombinatorics Ausgabe. Abstract: We prove that if one colors each point of the Euclidean plane with one of five colors, then there exist two points of the same color that are either distance 1 or distance 2 apart.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1869, eingetragen 2020-01-06
|
an den graphenaufbau kann ich mich kaum noch erinnern, das war irgendwie eine erweiterte und herumrotierte moserspindel???
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1870, vom Themenstarter, eingetragen 2020-01-07
|
Der Geombinatorics-Hattrick ist vollbracht! :-)
Mit unserem Artikel "A 3-Regular Matchstick Graph of Girth 5
Consisting of 54 Vertices" haben wir zum 3. Mal im Fachblatt Geombinatorics veröffentlicht.
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_FRONTCVR-XXIX3.jpg
Volume XXIX Issue 3 (January 2020) pp. 116-121
Gruß, Slash
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1871, eingetragen 2020-01-07
|
toll! gratulation! supi! hurra! genial! slash for president! stefan for geominister! free haribos for ever!
|
Profil
|
Bernhard
Senior  Dabei seit: 01.10.2005 Mitteilungen: 6830
Wohnort: Merzhausen, Deutschland
 | Beitrag No.1872, eingetragen 2020-01-07
|
Hallo!
Ich gratuliere ebenfalls zu Eurer "Staffel"!*
Hier sind die guten Vorsätze fürs neue Jahr anscheinend bereits im alten verwirklicht worden... ;-)
Und weiter viel Erfolg wünscht Bernhard
* So würde man eine solche Fortsetzungsgeschichte ja wohl im Fernsehen nennen. Es gibt allerdings noch keine Serie, die an diese mittlerweile über 1870 Folgen herankommt. :-o
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1873, vom Themenstarter, eingetragen 2020-01-08
|
Hier noch nachträglich Herr Harborths Weinachtsgruß und Neujahrswunsch. Da es ein DinA4 Papier ist, war es mir hinters Regal gefallen. ;-)
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_harborthw_nsche2020.jpg
Hatten wir den Graphen unten links schon?
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1874, eingetragen 2020-01-08
|
ich hab den 144 er als 60° winkel theorie auf dem parkett liegen,
(auch bei mir liegt der rechte 168er direkt daneben)
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st144-winkel.png
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1875, eingetragen 2020-01-11
|
was mir erst jetzt auffällt an diesem 144, das innere dreieck hat die gleiche ausrichtung wie der kite-kopf
man kann also mit einer zusatzlinie einen 4/5er draus bauen
ich zeichne es ins bild vom vorherigen beitrag nach
haribo
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1876, eingetragen 2020-01-11
|
daraus abgeleitet ein spinn off
die frage ist ob man den rechten 4/6er hinziehen kann, bzw welchen knotengrad er dabei erlangt ?, die kites sind ja durch die öffnung beweglich geworden
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st-spinoff.png
der linke ist durch wegschnitt daraus entstanden, hat aber warscheinlich unrettbare 3er knoten, wer weiss
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9108
 | Beitrag No.1877, vom Themenstarter, eingetragen 2020-01-11
|
Also den rechten Graphen bekomme ich nicht so hin wie du ihn gezeichnet hast. Der linke Graph ist mit dem 3er im Rahmen nicht zu retten. Den kriegt man nicht zum 4er.
74 Knoten, 70×Grad 4, 4×Grad 6, 0 Überschneidungen
152 Kanten, minimal 0.94592551302018668125, maximal 1.00000000000000510703
einzustellende Kanten, Abstände und Winkel:
|P18-P19|=0.99999999999999977796
|P37-P73|=0.99999999999999744649
|P17-P37|=0.94592551302018690329
nicht passende Kanten:
|P17-P37|=0.94592551302018690329
|P35-P37|=0.94592551302018668125
|P53-P72|=0.94592551302018745840
|P70-P72|=0.94592551302018701431
$
%Eingabe war:
%
%4-regulärer Graph
%
%
%
%
%
%
%P[1]=[55.82731464311544,-104.67961204154952];
%P[2]=[127.91365732155776,-113.58955432584273]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2);
%M(6,1,3,blue_angle,2,green_angle,2);
%N(14,3,4); N(15,10,8); N(16,6,14); N(17,16,14); N(18,15,16); N(19,12,15);
%RA(18,19);
%A(13,19,ab(13,19,[1,19],"gespiegelt"));
%N(37,36,18); A(35,37);
%A(5,24,ab(5,24,[1,37],"gespiegelt"));
%N(73,53,17); N(74,35,37);
%RA(37,73);
%RA(17,37);
%A(72,73); A(72,74); A(70,74); A(53,72);
%
%
%Ende der Eingabe.
% Streichholzgraphen mit pgfplots, TikZ/pgf
% v3.1a
%\documentclass[margin=5mm, tikz]{standalone}
%\usetikzlibrary{angles, quotes, babel}
\usetikzlibrary{spy}%<- Neu
\tikzset{SpyStyle/.style={
spy using outlines={rectangle, magnification=3, width=7.5cm, height=3cm, connect spies}
}}%<- Neu
%\usepackage{pgfplots}
%\usepgfplotslibrary{patchplots}
%\pgfplotsset{compat=1.13}
% Eingaben ===========================
\def\DefaultTextposition{south} % south west % etc.
\def\AusnahmeTextposition{north}
\def\AusnahmeListe{}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.81054139065973940248,4.39468453189278829285}} % 0,0
\colorlet{Kantenfarbe}{gray}
\colorlet{Punktfarbe}{red}
\def\Beschriftung{\punktnummer} % \punktnummer oder {} leer
\pgfplotsset{
x=12mm, y=12mm, % Maßstab
% width=20cm, height=5cm, % oder Bildmaße
}
\tikzset{font=\scriptsize} % Schrift Punktnummern und Winkel
% ===========================
%Unterprogramm, das Mehrfachplatzierung (je nach Pfadanzahl)
% von Punktbezeichnungen verhindert =======
\xdef\LstPN{0}
\newif\ifDupe
\pgfplotsset{avoid dupes/.code={\Dupefalse
\xdef\anker{\DefaultTextposition} % Default
\foreach \X in \LstPN
{\pgfmathtruncatemacro{\itest}{ifthenelse(\X==\punktnummer,1,0)}
\ifnum\itest=1
\global\Dupetrue
\breakforeach
\fi}
\ifDupe
% auskommentieren:
\typeout{\punktnummer\space ist\space ein\space Duplikat!}%
\xdef\punktnummer{} %löscht mehrfache Nummern
%\pgfkeysalso{/tikz/opacity=1} % macht mehrfache Nummern unsichtbar
\else
\xdef\LstPN{\LstPN,\punktnummer}
\typeout{\punktnummer\space ist\space neu\space mit\space urprgl.\space Anker=\anker}
\foreach \X in \LstExcept
{\ifnum\X=\punktnummer
%\pgfkeysalso{/tikz/anchor=-90}
\xdef\anker{\AusnahmeTextposition}
\fi}
\typeout{\punktnummer\space ist\space neu\space mit\space Anker=\anker}
\fi}}
% ============
\begin{document}
\xdef\LstExcept{\AusnahmeListe}
% Für Zeichnung der Winkel
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard
% Aliaswerte für Aliasplot (Winkelplot)
\pgfmathsetmacro{\xAlias}{\BeliebigesVorhandenesKoordinatenpaar[0]}
\pgfmathsetmacro{\yAlias}{\BeliebigesVorhandenesKoordinatenpaar[1]}
%\xAlias, \yAlias
\begin{tikzpicture}[SpyStyle]
% Punkte und Kanten ========================
\begin{axis}[hide axis,
colormap={kantenfarbe}{color=(Kantenfarbe) color=(Kantenfarbe)},
thick, % Kanten
]
\addplot+[mark size=1.125pt,
mark options={Punktfarbe},
table/row sep=newline,
patch, % Plot-Typ
patch type=polygon,
vertex count=2, % damit nur Kanten, keine Flächen, gezeichnet werden
%
% Angabe der Verbindungskanten =====================
patch table with point meta={
Startpkt Endpkt colordata \\
1 1 \\
2 1 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
5 39 \\
5 41 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
11 9 \\
11 10 \\
12 11 \\
12 10 \\
13 11 \\
13 12 \\
13 30 \\
13 31 \\
14 3 \\
14 4 \\
15 10 \\
15 8 \\
16 6 \\
16 14 \\
17 16 \\
17 14 \\
17 37 \\
18 15 \\
18 16 \\
18 19 \\
19 12 \\
19 15 \\
19 31 \\
19 33 \\
20 20 \\
21 20 \\
22 20 \\
22 21 \\
23 21 \\
23 22 \\
24 21 \\
24 23 \\
24 57 \\
24 59 \\
25 20 \\
26 20 \\
26 25 \\
27 25 \\
27 26 \\
28 26 \\
28 27 \\
29 28 \\
30 28 \\
30 29 \\
31 29 \\
31 30 \\
32 22 \\
32 23 \\
33 27 \\
33 29 \\
34 25 \\
34 32 \\
35 32 \\
35 34 \\
35 37 \\
36 33 \\
36 34 \\
36 19 \\
37 36 \\
37 18 \\
37 73 \\
38 38 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 38 \\
43 38 \\
43 42 \\
44 42 \\
44 43 \\
45 43 \\
45 44 \\
46 45 \\
47 45 \\
47 46 \\
48 46 \\
48 47 \\
49 47 \\
49 48 \\
49 65 \\
49 66 \\
50 40 \\
50 41 \\
51 44 \\
51 46 \\
52 42 \\
52 50 \\
53 50 \\
53 52 \\
53 72 \\
54 51 \\
54 52 \\
54 55 \\
55 48 \\
55 51 \\
55 66 \\
55 68 \\
56 56 \\
57 56 \\
58 56 \\
58 57 \\
59 57 \\
59 58 \\
60 56 \\
61 56 \\
61 60 \\
62 60 \\
62 61 \\
63 61 \\
63 62 \\
64 63 \\
65 63 \\
65 64 \\
66 64 \\
66 65 \\
67 58 \\
67 59 \\
68 62 \\
68 64 \\
69 60 \\
69 67 \\
70 67 \\
70 69 \\
70 72 \\
70 74 \\
71 55 \\
71 68 \\
71 69 \\
72 54 \\
72 71 \\
72 73 \\
72 74 \\
73 53 \\
73 17 \\
74 35 \\
74 37 \\
},
%
% Beschriftung
visualization depends on={value \thisrowno{0} \as \punktnummer},
every node near coord/.append style={
/pgfplots/avoid dupes,% Methode für Mehrfachplatzierung anwenden
},
nodes near coords={\Beschriftung},
nodes near coords style={
anchor=\anker,
text=black,
%font=\scriptsize,
name=p-\punktnummer, % Punkte bennennen
path picture={% Jedem Punkt als Koordinate zuordnen:
\coordinate[] (P\punktnummer) at (p-\punktnummer.\anker);}
},
]
% Koordinatentabelle
table[header=true, x index=1, y index=2, row sep=\\] {
Nr x y \\
0 0 0 \\% 0 Aliaspunkt
1 1.82564574628650411192 0.24533503815833540562 \\
2 2.81809356847312253436 0.12266751907916750852 \\
3 2.42810284512158514048 1.04348630456290436541 \\
4 3.42055066730820334087 0.92081878548373685689 \\
5 3.81054139065974073475 0.00000000000000000000 \\
6 1.92841074685194757699 1.24004070048201198162 \\
7 1.01558787370869629818 0.83168497042977007627 \\
8 1.11835287427413998529 1.82639063275344670778 \\
9 0.20553000113088865097 1.41803490270120469141 \\
10 1.01558787370869585409 2.00438483497264030575 \\
11 0.10276500056544422834 2.41274056502488143394 \\
12 0.91282287314325150085 2.99909049729631682624 \\
13 0.00000000000000000000 3.40744622734855795443 \\
14 3.03055994395666550290 1.84163757096747371378 \\
15 1.92841074685194757699 2.41274056502488143394 \\
16 2.10656539122727082258 2.22404320184443360375 \\
17 2.89973565848163028491 2.83304314202804974343 \\
18 2.73846861942975516868 2.99909049729631682624 \\
19 1.82564574628650322374 3.40744622734855795443 \\
20 1.82564574628650411192 6.56955741653878000363 \\
21 2.81809356847312253436 6.69222493561794706807 \\
22 2.42810284512158514048 5.77140615013421154345 \\
23 3.42055066730820289678 5.89407366921338038424 \\
24 3.81054139065974073475 6.81489245469711502068 \\
25 1.92841074685194668881 5.57485175421510348315 \\
26 1.01558787370869629818 5.98320748426734549952 \\
27 1.11835287427413998529 4.98850182194366897903 \\
28 0.20553000113088884526 5.39685755199591188358 \\
29 1.01558787370869585409 4.81050761972447649129 \\
30 0.10276500056544382589 4.40215188967223447492 \\
31 0.91282287314325150085 3.81580195740079997080 \\
32 3.03055994395666594698 4.97325488372964219508 \\
33 1.92841074685194713290 4.40215188967223447492 \\
34 2.10656539122727082258 4.59084925285268230510 \\
35 2.89973565848162984082 3.98184931266906660952 \\
36 2.73846861942975472459 3.81580195740079997080 \\
37 3.65129149257300644749 3.40744622734855839852 \\
38 5.79543703503297713553 0.24533503815833501704 \\
39 4.80298921284635849105 0.12266751907916750852 \\
40 5.19297993619789632902 1.04348630456290436541 \\
41 4.20053211401127857272 0.92081878548373685689 \\
42 5.69267203446753544682 1.24004070048201175958 \\
43 6.60549490761078583745 0.83168497042977018729 \\
44 6.50272990704534059603 1.82639063275344715187 \\
45 7.41555278018859187483 1.41803490270120446937 \\
46 6.60549490761078583745 2.00438483497264074984 \\
47 7.51831778075403978079 2.41274056502488098985 \\
48 6.70825990817623107887 2.99909049729631727033 \\
49 7.62108278131948146950 3.40744622734855751034 \\
50 4.59052283736281641069 1.84163757096747393582 \\
51 5.69267203446753544682 2.41274056502488098985 \\
52 5.51451739009221064691 2.22404320184443271557 \\
53 4.72134712283785340503 2.83304314202804885525 \\
54 4.88261416188972763308 2.99909049729631593806 \\
55 5.79543703503297980006 3.40744622734855751034 \\
56 5.79543703503298157642 6.56955741653877911546 \\
57 4.80298921284636382012 6.69222493561794706807 \\
58 5.19297993619789988173 5.77140615013421154345 \\
59 4.20053211401128034908 5.89407366921338038424 \\
60 5.69267203446753633500 5.57485175421510259497 \\
61 6.60549490761078406109 5.98320748426734549952 \\
62 6.50272990704534237238 4.98850182194366897903 \\
63 7.41555278018859365119 5.39685755199591188358 \\
64 6.60549490761078583745 4.81050761972447649129 \\
65 7.51831778075403800443 4.40215188967223536309 \\
66 6.70825990817623107887 3.81580195740079997080 \\
67 4.59052283736281729887 4.97325488372964219508 \\
68 5.69267203446753633500 4.40215188967223358674 \\
69 5.51451739009221064691 4.59084925285268230510 \\
70 4.72134712283785340503 3.98184931266906572134 \\
71 4.88261416188972763308 3.81580195740079908262 \\
72 3.96979128874647679837 3.40744622734855795443 \\
73 3.81054139065974073475 2.42020792280433205690 \\
74 3.81054139065973940248 4.39468453189278829285 \\
75 7.72 0 0 \\
};
% ===================================
% Zeichnung der Dreiecke =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \PunktII},
visualization depends on={value \thisrowno{2} \as \PunktIII},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\fill[black!10] (p-\PunktI) -- (p-\PunktII) -- (p-\PunktIII) ;
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Punkt2 Punkt3
};
% Zeichnung der Winkel =====================
\addplot[no marks, % Aliasplot
nodes near coords={},% Aliasplot
visualization depends on={value \thisrowno{0} \as \PunktI},
visualization depends on={value \thisrowno{1} \as \Scheitel},
visualization depends on={value \thisrowno{2} \as \PunktII},
visualization depends on={value \thisrowno{3} \as \Winkelradius},
visualization depends on={value \thisrowno{4} \as \Winkelfarbe},
visualization depends on={value \thisrowno{5} \as \Winkelname},
visualization depends on={value \thisrowno{6} \as \WinkelExzentrizitaet},
nodes near coords style={anchor=center,%Letzer Feinschliff für Aliaswerte
path picture={%\pgftransformreset
% Winkel zeichnen
\begin{pgfonlayer}{bg} % 'select the background layer' für die Winkel
\draw pic [angle radius=\Winkelradius cm,%
fill=\Winkelfarbe!40, draw=\Winkelfarbe,%<- Winkel färben / zeichnen
%-latex, %<- Winkel mit Pfeil
"$\Winkelname$", angle eccentricity =\WinkelExzentrizitaet,
text=\Winkelfarbe%
] {angle = P\PunktI--P\Scheitel--P\PunktII};
\end{pgfonlayer}
}},%
]
table[header=true, x expr =\xAlias, y expr=\yAlias]{% Hier möglichst vorhandene Koordinaten eintragen
Punkt1 Scheitel Punkt2 Winkelradius[cm] Winkelfarbe Winkelname WinkelExz
3 1 6 0.5 Blue {} 1.5 \\
8 9 10 0.5 Green {} 1.5 \\
};
\end{axis}
% Annotationen
%\node[above=3mm, align=center, font=\tiny] at (P11) {Wichtiger \\ Punkt};
%\draw[purple, very thick] (P8) -- (P10) node[near start, below, align=center, font=\tiny]{Wichtige \\ Kante};
%\begin{pgfonlayer}{bg}
%\fill[yellow] (P12) -- (P13) -- (P14) -- cycle;
%\end{pgfonlayer}
%\foreach \n in \AusnahmeListe
%\draw[cyan] (P\n) circle (3pt)
%\if\n4 node[anchor=north west, font=\tiny, align=left]{Default-\\position \\ ge{\"a}ndert} \else\fi ;
%\spy [red] on (P5) in node at (2.5,-1.25);
%einzustellende Kanten, Abstände und Winkel:
\draw[green,very thick] (P18) -- (P19);
\draw[green,very thick] (P37) -- (P73);
\draw[green,very thick] (P17) -- (P37);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P17) -- (P37);
\draw[cyan,dash pattern=on 1pt off 9pt] (P35) -- (P37);
\draw[cyan,dash pattern=on 1pt off 9pt] (P53) -- (P72);
\draw[cyan,dash pattern=on 1pt off 9pt] (P70) -- (P72);
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.1878, eingetragen 2020-01-12
|
Hm, den erstmal genauso zeichnen wie meinen sollte gelingen können.
Also erstmal den kite 1/5/17 komplett mit seiner Erweiterung nach innen zeichnen, 8-16 und 14-73 also erstmal einsetzen
Dann das Gebilde welches sich jetzt innerhalb 9/13/37 Befindet mit einem beweglichen Winkel bei 10? anschließen. Also mit dem Winkel die Strecke 18-37 hinziehen??? ( so ist meine Vorstellung, ungefähr...) (. 18-37 ist parallel zu 10-15 wie du das konstruiert bekommst ist mir unklar)(. Ich hatte das ganze Gebilde sozusagen parallel verschoben bis die Länge 9-37 passte und dann an den kite geklappt... )
Evtl. doch einfacher es von 9 bis 28 und 37 zu zeichnen und den beweglichen Winkel bei 13 anzusetzen, glaube ich.
Den Verbinder 8-15 beachten und die falsche länge 16-18 erstmal weglassen
Das ergibt ein 90 grad winkelkonstruktion,!!! .
Kann also 4 mal gespiegelt werden
Echt ziemlich kompliziert das zu beschreiben mit Wörtern
Nachtrag:, um ihn hinterher hinzuziehen nicht den Winkel bei 1 benutzen besser einen bei 17 und einen bei 6 ???
|
Profil
|
StefanVogel
Senior  Dabei seit: 26.11.2005 Mitteilungen: 4248
Wohnort: Raun
 | Beitrag No.1879, eingetragen 2020-01-12
|
Die Knotengradabweichungsgleichung (siehe Beitrag No.1632, 1567, 1538, 1279, 622) liefert für diesen Graph (#1877) mit 4 Knoten vom Grad 6
Einsetzkanten = 1/2 Knotengradabweichung + Beweglichkeit + 3
7 = 1/2 (2+2+2+2) + 0 + 3
sieben Einsetzkanten, das waren Kanten, die sich am Ende nicht mehr mit beweglichen Winkeln einstellen lassen und deshalb im zuletzt starren Graph automatisch passen müssen.
Immerhin hat es Slash geschafft, drei von diesen Einsetzkanten passend zu machen, so dass nur vier nicht passende Kanten übrigbleiben. Vielleicht lässt sich daraus eine Methode ableiten, wie man das auch bei anderen Graphen schaffen kann.
Ich gehe mal von der Situation aus, dass der Graph noch einen beweglichen Winkel enhält. Dann bleiben nach der Knotengradabweichungsgleichung am Ende 8=1/2(2+2+2+2)+1+3 Einsetzkanten übrig. Eine davon lässt sich mit dem einen beweglichen Winkel noch einstellen. Da der Graph aber im Idealfall aus vier symmetrischen Teilen besteht, wäre es ja sinnvoll; drei weitere Einsetzkanten so zu positionieren, dass sie symmetrisch zu der einen Einsetzkante liegen, die mit dem beweglichen Winkel eingestellt wird. So würden dann automatisch noch drei weitere Einsetzkanten passen. Nur für die verbleibenden vier Einsetzkanten gibt es keine Einstellmöglichkeit mehr.
Das versuche ich jetzt mit in die Knotengradabweichungsgleichung aufzunehmen:
Anzahl verbleibender Einsetzkanten
+ Beweglichkeit * Anzahl symmetrischer Teile
= 1/2 Knotengradabweichung + Beweglichkeit + 3
kurz
V + B * S = 1/2 K + B + 3
Ziel ist V=0. Mit dem soeben gerechneten Beispiel B=1, S=4, K=2+2+2+2 ist nur V=4 erreichbar. Für B=2, S=4, V=0 müsste K=2+2+2 gewählt werden, also ein Graph aus vier symmetrischen Teilen und drei Knoten vom Grad 6. Wegen der Symmetrie müsste dann ein Knoten vom Grad 6 im Symmetriezentrum liegen, aber soweit ich versucht habe lässt sich dieser Knoten dann nicht nach außen fortsetzen. Für B=3, S=4, V=0 müsste K=2+2+2+2+2+2 sein, also 6 Knoten vom Grad 6. Das wäre in jedem symmetrischen Teil ein Knoten und dann noch zwei auf den Symmetrieachsen. Soviel zur Knotengradabweichungsgleichung.
Kleine Rechenübung für die vielen 2+2+2+2+2+2: 2+0+2+0≠2^0+2+0 .
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 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]
|