|
Autor |
Streichholzgraphen 4-regulär und 4/n-regulär (n>4) und 2/5 |
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2120, vom Themenstarter, eingetragen 2021-12-02
|
Ja, unmöglich. Hier eine Eingabe mit Spiegelung an P21,P25.
51 Knoten, 51×Grad 4, 0 Überschneidungen,
102 Kanten, minimal 0.97205425786106658403, maximal 1.24799072445318381952, Einsetzkanten=Beweglichkeit+3,
nicht passende Kanten:
|P13-P24|=0.97205425786106824937
|P23-P51|=1.24799072445318381952
|P39-P49|=0.97205425786106658403
|P48-P51|=1.24799072445318226521
$
%Eingabe war:
%
%Fig.32 4-regular planar graph with 61 vertices. This graph is rigid and has a mirror symmetry.
%
%
%
%
%
%
%
%P[1]=[134.8880826577367,130.1883101507118];
%P[2]=[132.86302554328293,24.672586456499232]; D=ab(1,2); A(2,1); L(3,1,2);
%L(4,3,2); L(5,4,2); L(6,3,4);
%M(7,1,3,blauerWinkel,3); N(13,7,6); M(14,5,4,gruenerWinkel);
%L(15,14,5); L(16,14,15); L(17,16,15); M(18,17,16,orange_angle); N(19,18,17);
%M(20,12,11,delta4); N(21,12,20); N(22,14,16); N(26,6,22); N(23,22,18);
%RA(13,26);
%RA(23,26);
%N(24,20,11); N(25,18,19);
%A(21,25,ab(21,25,[1,26],"gespiegelt"));
%RA(19,45);
%N(51,49,24);
%RA(20,46);
%RA(13,24); A(39,49);
%RA(23,51); A(48,51);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(13,24,"LightSlateGrey");
%R(23,51,"LightSlateGrey");
%
%
%
%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{11,14,37,40}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.02422480495909518083,2.74577554817576263702}} % 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 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
6 3 \\
6 4 \\
7 1 \\
8 1 \\
8 7 \\
9 8 \\
9 7 \\
10 8 \\
10 9 \\
11 10 \\
11 9 \\
12 10 \\
12 11 \\
13 7 \\
13 6 \\
13 26 \\
13 24 \\
14 5 \\
15 14 \\
15 5 \\
16 14 \\
16 15 \\
17 16 \\
17 15 \\
18 17 \\
19 18 \\
19 17 \\
19 45 \\
20 12 \\
20 46 \\
21 12 \\
21 20 \\
21 38 \\
21 46 \\
22 14 \\
22 16 \\
23 22 \\
23 18 \\
23 26 \\
23 51 \\
24 20 \\
24 11 \\
25 18 \\
25 19 \\
25 44 \\
25 45 \\
26 6 \\
26 22 \\
27 27 \\
28 27 \\
29 27 \\
29 28 \\
30 28 \\
30 29 \\
31 28 \\
31 30 \\
32 29 \\
32 30 \\
33 27 \\
34 27 \\
34 33 \\
35 33 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 32 \\
39 33 \\
39 50 \\
39 49 \\
40 31 \\
41 31 \\
41 40 \\
42 40 \\
42 41 \\
43 41 \\
43 42 \\
44 43 \\
45 43 \\
45 44 \\
46 38 \\
47 40 \\
47 42 \\
48 44 \\
48 47 \\
48 50 \\
48 51 \\
49 37 \\
49 46 \\
50 32 \\
50 47 \\
51 49 \\
51 24 \\
},
%
% 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 0.03837692050549802725 3.29452124080540675877 \\
2 0.01918846025274914893 2.29470535625809235469 \\
3 0.89464864550430733825 2.77799560449336091494 \\
4 0.87546018525155810952 1.77817971994604651087 \\
5 0.00000000000000000000 1.29488947171077795062 \\
6 1.75092037050311621904 2.26146996818131507112 \\
7 1.01847971267291992348 3.09603064459081611659 \\
8 0.70032621532336358783 4.04406985903515892034 \\
9 1.68042900749078527589 3.84557926282056827816 \\
10 1.36227551014122894024 4.79361847726491063781 \\
11 2.34237830230865062831 4.59512788105032043973 \\
12 2.02422480495909429266 5.54316709549466146711 \\
13 2.00981649923879679420 3.22737513667648201476 \\
14 0.94175979003704557435 1.63117580486956081920 \\
15 0.76211240247954603610 0.64744473585538897531 \\
16 1.70387219251659161046 0.98373106901417184389 \\
17 1.52422480495909251630 0.00000000000000000000 \\
18 2.02422480495909251630 0.86602540378443881863 \\
19 2.52422480495909251630 0.00000000000000000000 \\
20 2.52422480495909429266 4.67714169171022309257 \\
21 3.02422480495909429266 5.54316709549466146711 \\
22 1.88351958007409114870 1.96746213802834368778 \\
23 2.77888857430828029038 1.52213712844089998910 \\
24 2.84237830230864840786 3.72910247726587984474 \\
25 3.02422480495909251630 0.86602540378443859659 \\
26 2.71686684843446046855 2.52021192800235249720 \\
27 6.01007268941269146012 3.29452124080540542650 \\
28 6.02926114966543469365 2.29470535625808924607 \\
29 5.15380096441388158013 2.77799560449336135903 \\
30 5.17298942466663103090 1.77817971994604562269 \\
31 6.04844960991818858531 1.29488947171077750653 \\
32 4.29752923941507081196 2.26146996818131418294 \\
33 5.02996989724527132637 3.09603064459081833704 \\
34 5.34812339459482544157 4.04406985903515892034 \\
35 4.36802060242740175511 3.84557926282056738998 \\
36 4.68617409977695942302 4.79361847726491063781 \\
37 3.70607130760953706883 4.59512788105032043973 \\
38 4.02422480495909340448 5.54316709549466146711 \\
39 4.03863311067939179111 3.22737513667648334703 \\
40 5.10668981988114190074 1.63117580486955926489 \\
41 5.28633720743864188307 0.64744473585538897531 \\
42 4.34457741740159963939 0.98373106901417295411 \\
43 4.52422480495909251630 0.00000000000000053862 \\
44 4.02422480495909695719 0.86602540378443859659 \\
45 3.52422480495909384857 0.00000000000000053862 \\
46 3.52422480495909384857 4.67714169171022309257 \\
47 4.16493002984409521616 1.96746213802834324369 \\
48 3.26956103560990607448 1.52213712844090065524 \\
49 3.20607130760954150972 3.72910247726588073292 \\
50 3.33158276148372944903 2.52021192800235294129 \\
51 3.02422480495909518083 2.74577554817576263702 \\
52 6.15 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 7 0.5 Blue {} 1.5 \\
4 5 14 0.45 Green {} 1.5 \\
16 17 18 0.45 Orange {} 1.5 \\
11 12 20 0.5 Violet {\delta4} 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] (P13) -- (P26);
\draw[green,very thick] (P23) -- (P26);
\draw[green,very thick] (P19) -- (P45);
\draw[green,very thick] (P20) -- (P46);
\draw[red,very thick] (P13) -- (P24);
\draw[red,very thick] (P23) -- (P51);
\draw[red,very thick] (P49) -- (P39);
\draw[red,very thick] (P48) -- (P51);
%nicht passende Kanten:
\draw[cyan,dash pattern=on 1pt off 9pt] (P13) -- (P24);
\draw[magenta,dash pattern=on 1pt off 9pt] (P23) -- (P51);
\draw[cyan,dash pattern=on 1pt off 9pt] (P39) -- (P49);
\draw[magenta,dash pattern=on 1pt off 9pt] (P48) -- (P51);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2121, vom Themenstarter, eingetragen 2021-12-03
|
Diese Version des letzten Graphen zeigt, wie empfindlich doch der Rahmen ist bzw. zeigt das wahre Ausmaß von leicht falschen Kanten.
51 Knoten, 51×Grad 4, 0 Überschneidungen,
102 Kanten, minimal 0.68037896351633186942, maximal 1.00000000000000444089, Einsetzkanten=Beweglichkeit+3,
nicht passende Kanten:
|P19-P45|=0.68037896351633186942
|P20-P46|=0.92224664240042164565
$
%Eingabe war:
%
%Fig.32 4-regular planar graph with 61 vertices. This graph is rigid and has a mirror symmetry.
%
%
%
%
%
%
%
%P[1]=[-79.24356685078902,166.89775875964804];
%P[2]=[-75.31352545153544,75.21166681121275]; D=ab(1,2); A(2,1); L(3,1,2);
%L(4,3,2); L(5,4,2); L(6,3,4);
%M(7,1,3,blauerWinkel,3); N(13,7,6); M(14,5,4,gruenerWinkel);
%L(15,14,5); L(16,14,15); L(17,16,15); M(18,17,16,orange_angle); N(19,18,17);
%M(20,12,11,delta4); N(21,12,20); N(22,14,16); N(26,6,22); N(23,22,18);
%RA(13,26);
%RA(23,26);
%N(24,20,11); N(25,18,19);
%A(21,25,ab(21,25,[1,26],"gespiegelt"));
%A(19,45);
%N(51,49,24);
%A(20,46);
%RA(13,24); A(39,49);
%RA(23,51); A(48,51);
%
%
%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{14,40}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.04285396503337812746,2.56471947333367511490}} % 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 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
6 3 \\
6 4 \\
7 1 \\
8 1 \\
8 7 \\
9 8 \\
9 7 \\
10 8 \\
10 9 \\
11 10 \\
11 9 \\
12 10 \\
12 11 \\
13 7 \\
13 6 \\
13 26 \\
13 24 \\
14 5 \\
15 14 \\
15 5 \\
16 14 \\
16 15 \\
17 16 \\
17 15 \\
18 17 \\
19 18 \\
19 17 \\
19 45 \\
20 12 \\
20 46 \\
21 12 \\
21 20 \\
21 38 \\
21 46 \\
22 14 \\
22 16 \\
23 22 \\
23 18 \\
23 26 \\
23 51 \\
24 20 \\
24 11 \\
25 18 \\
25 19 \\
25 44 \\
25 45 \\
26 6 \\
26 22 \\
27 27 \\
28 27 \\
29 27 \\
29 28 \\
30 28 \\
30 29 \\
31 28 \\
31 30 \\
32 29 \\
32 30 \\
33 27 \\
34 27 \\
34 33 \\
35 33 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
39 32 \\
39 33 \\
39 50 \\
39 49 \\
40 31 \\
41 31 \\
41 40 \\
42 40 \\
42 41 \\
43 41 \\
43 42 \\
44 43 \\
45 43 \\
45 44 \\
46 38 \\
47 40 \\
47 42 \\
48 44 \\
48 47 \\
48 50 \\
48 51 \\
49 37 \\
49 46 \\
50 32 \\
50 47 \\
51 49 \\
51 24 \\
},
%
% 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 0.00000000000000000000 3.15349612504072318586 \\
2 0.04282477189834067721 2.15441352639742067510 \\
3 0.88664329685324283492 2.69104216609430890728 \\
4 0.92946806875158360928 1.69195956745100639651 \\
5 0.08564954379668150708 1.15533092775411794229 \\
6 1.77328659370648566984 2.22858820714789462869 \\
7 0.97459078154463862909 2.92950324897496461318 \\
8 0.68127891171200583020 3.88552006211963130156 \\
9 1.65586969325664434827 3.66152718605387272888 \\
10 1.36255782342401121632 4.61754399919853941725 \\
11 2.33714860496864940131 4.39355112313278084457 \\
12 2.04383673513601671345 5.34956793627744620068 \\
13 1.93273335142228508410 3.21579473642832791569 \\
14 0.99405931707575911904 1.57341188141148680124 \\
15 0.90192315714192616838 0.57766546387705897114 \\
16 1.81033293042100340564 0.99574641753442749703 \\
17 1.71819677048717056600 0.00000000000000000000 \\
18 2.05838625224533533498 0.94035690910478852977 \\
19 2.70266448327521446870 0.17556572124956090764 \\
20 2.58173064383316530623 4.50655539604657651154 \\
21 3.04285396503337501883 5.39389145563465000066 \\
22 1.90246909035483646733 1.99149283506885543815 \\
23 2.81843101165165554889 1.59022763755698504085 \\
24 2.87504251366579532956 3.55053858290190893499 \\
25 3.04285396503337812746 1.11592263035434968721 \\
26 2.70795590570310640288 2.58410652905516702305 \\
27 6.08570793006675625492 3.15349612504073251174 \\
28 6.04288315816841770101 2.15441352639743088915 \\
29 5.19906463321351175466 2.69104216609431201590 \\
30 5.15623986131517497711 1.69195956745101128149 \\
31 6.00005838627007648256 1.15533092775412438158 \\
32 4.31242133636026991894 2.22858820714789862549 \\
33 5.11111714852211562743 2.92950324897496772181 \\
34 5.40442901835474653893 3.88552006211963618654 \\
35 4.42983823681010768780 3.66152718605387494932 \\
36 4.72315010664274037566 4.61754399919854119361 \\
37 3.74855932509810241271 4.39355112313278173275 \\
38 4.04187119493073421239 5.34956793627744886521 \\
39 4.15297457864446961651 3.21579473642833058022 \\
40 5.09164861299099591463 1.57341188141148990987 \\
41 5.18378477292483452743 0.57766546387706452226 \\
42 4.27537499964575484768 0.99574641753443127179 \\
43 4.36751115957959346048 0.00000000000000480043 \\
44 4.02732167782142269630 0.94035690910478764160 \\
45 3.38304344679154622710 0.17556572124956137948 \\
46 3.50397728623358695188 4.50655539604657828789 \\
47 4.18323883971192245212 1.99149283506885921291 \\
48 3.26727691841510026194 1.59022763755698504085 \\
49 3.21066541640095737264 3.55053858290190982316 \\
50 3.37775202436364896386 2.58410652905516702305 \\
51 3.04285396503337812746 2.56471947333367511490 \\
};
% ===================================
% 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 7 0.5 Blue {} 1.5 \\
4 5 14 0.45 Green {} 1.5 \\
16 17 18 0.45 Orange {} 1.5 \\
11 12 20 0.5 Violet {\delta4} 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] (P13) -- (P26);
\draw[green,very thick] (P23) -- (P26);
\draw[green,very thick] (P13) -- (P24);
\draw[green,very thick] (P23) -- (P51);
%nicht passende Kanten:
\draw[red,very thick] (P19) -- (P45);
\draw[red,very thick] (P20) -- (P46);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2122, vom Themenstarter, eingetragen 2021-12-03
|
Nun könnte man sich ja mal fragen, auf wie viele Stellen hinter dem Komma genau (also 0 oder 9) die Kanten einer der besseren 51er Approximationen besitzen würde, wenn man die Abweichung der drei falschen Kanten auf alle 102 Kanten verteilen würde. 4, 5 oder 6 Stellen genau? Keine Ahnung.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2123, eingetragen 2021-12-03
|
0.68 ist aber doch nicht mehr "leicht" falsch?
[Die Antwort wurde nach Beitrag No.2121 begonnen.]
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2124, eingetragen 2021-12-03
|
ich glaub eigentlich nicht dass man grossflächig verteilen kann, weiss aber auch nicht wiso du immer drei nicht passende hast, ist das entweder ein gesetz oder irgendwo eine auswahl?
ok, wenn drei 2% zu kürz sind und alle anderen passen könnte man global alles 1% vergrössern und dann wären alle genau 1% falsch, was ja < 2% wäre
evtl im nächsten schritt dann alle die das zulassen wiesder hinziehen, ohne irgend einen einzigen zu verschlechtern... das könnte also die maximale abweichung verringern, aber die summe aller abweichnungen dürfte dabei gut ansteigen, oder?
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2125, vom Themenstarter, eingetragen 2021-12-03
|
\quoteon(2021-12-03 10:04 - haribo in Beitrag No. 2123)
0.68 ist aber doch nicht mehr "leicht" falsch?
[Die Antwort wurde nach Beitrag No.2121 begonnen.]
\quoteoff
Eben. Das bedeutet ja, dass wenn die falschen Kanten im Rahmen ganz außen sind und nicht innen, der Graph total verzerrt wird.
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2126, vom Themenstarter, eingetragen 2021-12-03
|
\quoteon(2021-12-03 10:07 - haribo in Beitrag No. 2124)
ich glaub eigentlich nicht dass man grossflächig verteilen kann, weiss aber auch nicht wiso du immer drei nicht passende hast, ist das entweder ein gesetz oder irgendwo eine auswahl?
ok, wenn drei 2% zu kürz sind und alle anderen passen könnte man global alles 1% vergrössern und dann wären alle genau 1% falsch, was ja < 2% wäre
evtl im nächsten schritt dann alle die das zulassen wiesder hinziehen, ohne irgend einen einzigen zu verschlechtern... das könnte also die maximale abweichung verringern, aber die summe aller abweichnungen dürfte dabei gut ansteigen, oder?
\quoteoff
Dazu könnte Stefan etwas sagen. Das hat, er glaub ich, auch schon mal erklärt. Ich kann nicht einschätzen, ob man das so grob abschätzen kann mit der Gesamtzahl der Kanten. Könnte sogar sein, dass es dann bis auf 7 oder 8 Stellen genau wird.
|
Profil
|
StefanVogel
Senior  Dabei seit: 26.11.2005 Mitteilungen: 4248
Wohnort: Raun
 | Beitrag No.2127, eingetragen 2021-12-04
|
Das war Button "viele Winkel" und anschließend Button "Feinjustieren", nur funktioniert das bei diesem Graph nicht wie gewünscht. Da muss ich Fehlersuchen. Vielleicht ist der Ausgangsgraph zu ungenau, ein Ausgangsgraph mit nahezu Kantenlänge 1 wäre schon besser. Zuvor Button "besser annähern" funktioniert aber auch nicht... also Fehlersuchen.
\quoteon(2021-12-03 10:07 - haribo in Beitrag No. 2124)
ich glaub eigentlich nicht dass man grossflächig verteilen kann, weiss aber auch nicht wiso du immer drei nicht passende hast, ist das entweder ein gesetz oder irgendwo eine auswahl?
\quoteoff
Gesetz, siehe Wikipedia, Statische Bestimmtheit, Abzählkriterium für ebene Fachwerke. Wenn ich den Graph mit einem zwei- und einem einwertigen Auflager (a=2+1) an einer Kante fixiere, dann folgt für ein statisch bestimmtes Fachwerk s=2k-3 (s=Anzahl der Kanten, k=Anzahl der Knoten). Bei s=2k-3 Kanten muss man allgemein davon ausgehen, dass der Graph starr ist (es gibt Ausnahmen, denn das Abzählkriterium ist nur eine notwendige aber nicht hinreichende Bedingung). Es müssen aber für einen 4-regulären Graph s=2k Kanten eingesetzt werden. Für die letzten drei Kanten hat man somit keinen Bewegungsspielraum mehr, um die Länge anzupassen. Das gelingt nur, wenn der Graph bereits die Eigenschaft hat, dass die fehlenden Abstände schon exakt 1 sind.
\quoteon(2021-11-29 22:50 - haribo in Beitrag No. 2113)
ich weiss dat auch nicht mehr, konnte man nicht einen punkt entfernen also einfach 15 weglöschen? und dann halt wieder zwei dreiecke dazu fügen?
\quoteoff
Genau so, die störenden Punkte und Kanten entfernen und dann einer der Buttons "neue Eingabe".
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2128, eingetragen 2021-12-04
|
danke schön stefan, dann istwar es also "gesetz"
was zu der überlegung führt, evtl hat harborth damals einen doppelt symetrischen, also 4 mal im 90° winkel gefunden weil wenn da einer in einem viertel-sektor noch nicht ganz passt dann sind es ja doppelt gespiegelt schon vier, und das bedeutet immer (als ganzes betrachtet) "es ist noch beweglichkeit vorhanden"!!!
ob diese dann ausreicht zum passend ziehen ist eine andere frage, aber immerhin interpretiere ich dies ergebniss/erkenntniss dass es eigentlich auch unsymetrische aber fast doppeltsymetrische geben sollte, also welche die insgesamt eben noch ihre beweglichkeit benutzen um über die sektorengrenzen hinweg zu ziehen/zerren ...
evtl. nebenergebnis---> es könnte warscheinlicher sein einen 4/4 100er zu finde als einen 102er?
an einem beispiel nochmal beschrieben:
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st4-12-21.JPG
harborth etwas aufgeweitet und innen die 4 roten eingefügt, hat also dann 108 hölzer, und 4 davon sind zu lang
gemäss stefans abzählreim müsste man mindestens einen davon noch zu 10 ziehen können, bis eben 3 falsche übrig bleiben, dabei verliert er sicherlich seine symetrie... und im besten fall passt ein weiterer dann auch... unbekannte reise
der gedankengang ist jetzt, wenn ich die symetrie beibehalten würde und nur die 90° sektoren betrachte dann ist ja darinnen nur einer falsch, hat der sektor in sich denn dann noch beweglichkeit?
|
Profil
|
StefanVogel
Senior  Dabei seit: 26.11.2005 Mitteilungen: 4248
Wohnort: Raun
 | Beitrag No.2129, eingetragen 2021-12-04
|
\quoteon(2021-12-04 16:21 - haribo in Beitrag No. 2128)
evtl. nebenergebnis---> es könnte warscheinlicher sein einen 4/4 100er zu finde als einen 102er?
\quoteoff
102er geht auch, hauptsache doppeltsymmetrisch. Dann müssten 2 Kanten (oder 6 oder 10) je zur Hälfte in einem Viertel liegen, das geht. 102 Kanten bedeutet 102/2=51 Knoten, da müsste ein Knoten genau im Mittelpunkt liegen und 2 weitere auf den Symmetrieachsen. Die restlichen 48 Knoten lassen sich dann durch 4 teilen.
\quoteon
an einem beispiel nochmal beschrieben:
\quoteoff
Das habe ich grade erst gesehen und muss ich noch gründlich lesen...und ich stimme dir zu, so sollte das im Prinzip funktionieren. Aus dem Abzählreim folgt, wenn man in einem 4-regulären Graph genau 4 Kanten weglässt, dann ist der Graph 100% garantiert beweglich oder enthält irgendwelche beweglichen Teile, weil die notwendige Bedingung für statische Bestimmtheit nicht mehr erfüllt ist. Das nutzen wir aus, indem wir 4 symmetrisch liegende Kanten entfernen. Wenn dann die Beweglichkeit so ist, dass dabei die doppelte Symmetrie erhalten bleibt, dann besteht die Chance, dass sich eine Kante passend zurechtziehen lässt und die anderen drei passen dann automatisch wegen der doppelten Symmetrie. Wenn die Symmetrie bei der Bewegung nicht erhalten bleibt, dann kann man nur eine oder zwei Kanten passend machen je nach Art der Symmetrie. Bei deinem Beispiel, da lasse ich die vier weißen Kanten weg.
54 Knoten, 2×Grad 2, 4×Grad 3, 48×Grad 4, 0 Überschneidungen,
104 Kanten, minimal 0.99999999999998978595, maximal 1.00000000000000732747, Einsetzkanten=Beweglichkeit-1,
einzustellende Kanten, Abstände und Winkel:
|P14-P41|=0.99999999999999689138
|P15-P40|=0.99999999999999633626
$
%Eingabe war:
%
%Anfang für einen neuen, noch unbenannten Streichholzgraph
%
%
%
%
%P[1]=[-35.335474911075494,-48.75335355958579]; P[2]=[11.84656980268321,-65.30190807739417]; D=ab(1,2); A(2,1,Bew(1)); L(3,1,2); L(4,1,3); L(5,1,4); L(6,5,4); L(7,5,6); M(8,7,6,blauerWinkel,2); L(12,10,8); N(13,12,6); L(14,12,13); Q(15,11,14,ab(14,11,[1,14],"gespiegelt"),D); A(2,17,ab(17,2,[1,27])); RA(14,41); RA(15,40); N(53,3,43); N(54,29,18);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(15,40,"LightSlateGrey");
%
%
%
%Ende der Eingabe.
\begin{tikzpicture}[draw=grey,font=\sffamily\scriptsize]
\definecolor{Blue}{rgb}{0.00,0.00,1.00}
%Koordinaten als \coordinate (p-1) at (0,0);
\foreach \i/\x/\y in {
1/2.50974680078605505429/0.33097109035616756323,
2/3.45338769506122877928/0.00000000000000000000,
3/3.26819662009031741690/0.98270253167024979035,
4/2.32455572581514413599/1.31367362202641735358,
5/1.56610590651088155134/0.66194218071233523748,
6/1.38091483153997063305/1.64464471238258491681,
7/0.62246501223570793737/0.99291327106850291173,
8/1.28986197009851322193/1.73761542672234092777,
9/0.31123250611785396869/1.94324706881306363826,
10/0.97862946398065886466/2.68794922446690121021,
11/0.00000000000000000000/2.89358086655762392070,
12/1.95725892796131772933/2.48231758237617849971,
13/2.37851278718299452564/1.57537481345917340647,
14/2.95332133523288220545/2.39366274144588153661,
15/2.95329361218107910858/3.39366274106159737656,
16/2.50960471020113651264/5.45632979450109090180,
17/3.45322725196844615425/5.78735320555928289821,
18/3.26809066430856365315/4.80464040727605290471,
19/2.32446812254125356745/4.47361699621786179648,
20/1.56598216843382642693/5.12530638344289979358,
21/1.38084558077394259357/4.14259358515966980008,
22/0.62235962666651489794/4.79428297238470957353,
23/1.28979787433630233018/4.04961782243643497736,
24/0.31117981333325744897/3.84393191947116452667,
25/0.97861806100304515876/3.09926676952289392730,
26/1.95723612200609098366/3.30495267248816437800,
27/2.37843969413753253406/4.21191879689619064209,
28/4.39686814624362565240/5.45638211520311422476,
29/3.63841832693935218757/4.80465067388903310786,
30/4.58205922121452946527/4.47367958353286621076,
31/5.34050904051878916334/5.12541102484694910402,
32/5.52570011548970096982/4.14270849317669931366,
33/6.28414993479396777332/4.79443993449078043056,
34/5.61675297693115904707/4.04973777883694374680,
35/6.59538244091182335183/3.84410613674621792768,
36/5.92798548304901462558/3.09940398109238390845,
37/6.90661494702967893033/2.89377233900165586888,
38/4.94935601906836097896/3.30503562318310395440,
39/4.52810215984668218425/4.21197839210010904765,
40/3.95329361179679139582/3.39369046411340180569,
41/3.95332133484859538086/2.39369046449768596574,
42/4.39701023682853886498/0.33102341105819038658,
43/3.63852428272111039220/0.98271279828323021555,
44/4.58214682448842047791/1.31373620934142176786,
45/5.34063277859584939478/0.66204682211638088418,
46/5.52576936625573100770/1.64475962039961376426,
47/6.28425532036316081275/0.99307023317457199241,
48/5.61681707269337238131/1.73773538312284792084,
49/6.59543513369641409838/1.94342128608812259039,
50/5.92799688602663099601/2.68808643603638941499,
51/4.94937882502358306169/2.48240053307111896430,
52/4.52817525289214195539/1.57543440866309358839,
53/3.45333320775019680937/1.96541532995347978385,
54/3.45328173927947590371/3.82193787560580355844}
\coordinate (p-\i) at (\x,\y);
%Innenflächen als \filldraw[yellow,shift={+(0.1,0.1)}] (p-1) -- (p-2) -- (p-3) -- cycle;
%gefüllte Winkel als \fill[red!20] (p-1) -- +(0:0.3 cm) arc (0:60:0.3 cm) -- cycle;
\foreach \i/\a/\b/\r/\c in {
7/40.67/48.13/0.4/Blue}
\fill[\c!20] (p-\i) -- +(\a:\r cm) arc (\a:\b:\r cm) -- cycle;
%Kanten als \draw[gray,thick] (p-1) -- (p-2);
\foreach \i/\j in {
2/1, 2/42,
3/1, 3/2,
4/1, 4/3,
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, 11/24, 11/25,
12/10, 12/8,
13/12, 13/6,
14/12, 14/13, 14/41,
15/26, 15/27, 15/14, 15/40,
17/16, 17/28,
18/16, 18/17,
19/16, 19/18,
20/16, 20/19,
21/19, 21/20,
22/20, 22/21,
23/22,
24/22, 24/23,
25/23, 25/24,
26/23, 26/25,
27/21, 27/26,
29/28, 29/17,
30/28, 30/29,
31/28, 31/30,
32/30, 32/31,
33/31, 33/32,
34/33,
35/33, 35/34,
36/34, 36/35,
37/35, 37/36, 37/49, 37/50,
38/34, 38/36,
39/32, 39/38,
40/38, 40/39,
41/40, 41/51, 41/52,
43/42, 43/2,
44/42, 44/43,
45/42, 45/44,
46/44, 46/45,
47/45, 47/46,
48/47,
49/47, 49/48,
50/48, 50/49,
51/48, 51/50,
52/46, 52/51,
53/3, 53/43,
54/29, 54/18}
\draw[gray,thick] (p-\i) -- (p-\j);
%Punkte als \fill[red] (p-1) circle (1.125pt)
\foreach \i in {1,...,54}
\fill[red] (p-\i) circle (1.125pt);
%einzustellende Kanten als \draw[green] (p-1) -- (p-2);
%nicht passende Kanten als \draw[magenta,ultra thick,dash pattern=on 0.01cm off 0.09cm] (p-1) -- (p-2);
%Winkel als \draw[->,red] (p-1) +(0:0.3 cm) arc (0:60:0.3 cm);
\foreach \i/\a/\b/\r/\c in {
7/40.67/48.13/0.4/Blue}
{
\draw[\c,thick] (p-\i) +(\a:\r cm) arc (\a:\b-4:\r cm);
\fill[\c!90!black] (p-\i) -- +(\b:\r cm) coordinate (pfeilspitze-\i) -- ([turn]-24.84:0.08cm) -- ([turn]-31.04:0.08cm) -- ([turn]-120.00:0.08cm) -- ([turn]15.522:0.04cm) -- ([turn]-39.275:0.04cm) -- ([turn]15.522:0.08cm) -- ([turn]-120.00:0.08cm) -- ([turn]-31.04:0.08cm) -- (pfeilspitze-\i);
}
%Punktnummern als \node[anchor=30] (P1) at (p-1) {1};
\foreach \i/\a in {
1/311,
2/311,
3/71,
4/71,
5/311,
6/71,
7/191,
8/258,
9/198,
10/78,
11/138,
12/145,
13/265,
14/25,
15/335,
16/109,
17/49,
18/289,
19/289,
20/109,
21/229,
22/102,
23/42,
24/162,
25/342,
26/342,
27/95,
28/11,
29/191,
30/251,
31/71,
32/311,
33/11,
34/78,
35/318,
36/198,
37/318,
38/325,
39/85,
40/205,
41/155,
42/289,
43/109,
44/109,
45/289,
46/109,
47/282,
48/222,
49/42,
50/162,
51/162,
52/275,
53/273,
54/93}
\node[anchor=\a] (P\i) at (p-\i) {\i};
\end{tikzpicture}
$
(den Graph wie Text markieren und ins Streichholzgraph-1898.htm ins große Eingabefenster hineinkopieren, dann Button "neu zeichnen". Details zur Eingabe siehe Button "Beschreibung").
Die Beweglichkeit dieses Graphen lässt sich dann mit folgender Eingabe sichtbar machen:
Zuerst Button neue Eingabe "wenig Winkel", um eine Eingabe ohne erzwungene Symmetrie und anderen Bedingungen zu erzeugen.
Dann Button "beweglich?", zeigt 1-fach beweglich an.
Dann Button "extrapolieren", da wird schrittweise die Beweglichkeit durchgegangen, erkennbar an der Ausgabe "von t=-73 bis t=68" rechts neben dem Button.
Hierbei ist schon erkennbar, dass die Bewegung nicht doppelt symmetrisch abläuft.
Dann die Animation starten mit Button "Ausrichten horizontal entlang P11-P37" (hält den Graph waagerecht während der Animation), Button "Kanten" (schaltet die Beschriftung aus) und mit dem SVG-Knopf "Start t" links oberhalb vom Graph die Animation starten.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2130, eingetragen 2021-12-04
|
müssen 2 oder 4 mal 2 halb auf den spiegelachsen liegen?
im ersteren fall geht ja dann auch nur lösungen die einfach-symetrisch sind und nicht mehr doppelt sym
oder?
|
Profil
|
StefanVogel
Senior  Dabei seit: 26.11.2005 Mitteilungen: 4248
Wohnort: Raun
 | Beitrag No.2131, eingetragen 2021-12-04
|
Beim 102er müssen 2 oder 6 oder 10 oder (immer +4) Kanten mit dem Kantenmittelpunkt auf der Spiegelachse liegen. Die doppelte Symmetrie kann dabei trotzdem erhalten bleiben. In deinem Beispiel (ich habe den vorhergehenden Beitrag noch ergänzt) wenn da nur die beiden roten Kanten P15-P40 und P14-P41 eingesetzt sind und P14-P15 und P40-P41 nicht, dann ist der Graph trotzdem noch doppelt symmetrisch.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2132, eingetragen 2021-12-04
|
ja erklärs mir nur geduldig immer wieder... ich kanns dann aber besser nur etwas bunt ausmalen... weil es bleibt doch immer auch wieder hängen irgendwie
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st-heute.jpg
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2133, eingetragen 2021-12-05
|
ohne worte
52 Knoten, 8×Grad 3, 42×Grad 4, 2×Grad 5, 0 Überschneidungen,
101 Kanten, minimal 0.99999999999999733546, maximal 1.00000000000000510703, Einsetzkanten=Beweglichkeit+0,
einzustellende Kanten, Abstände und Winkel:
|P14-P25|=0.99999999999999855671
|P39-P49|=0.99999999999999922284
|P50-P51|=0.99999999999999733546
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: 4/4 mit 108
%
%
%
%
%
%
%P[1]=[-291.390685894224,297.42612354579546]; P[2]=[-310.6950518092142,248.71306177289858]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); L(6,3,4); M(7,1,2,blauerWinkel); L(8,1,7); L(9,8,7); L(10,8,9); L(11,10,9); L(12,10,11); M(13,7,1,gruenerWinkel); N(14,11,13); N(52,13,6); M(28,5,2,228.2355842656044) ; L(30,5,28); M(27,28,5,184.9999999999995) ; L(74,28,27); Q(29,30,28,D,ab(74,28,27,"gedreht")); L(73,30,29); Q(31,52,5,D,ab(73,5,27,28,29,30,"gedreht")); M(24,12,10,orangerWinkel); L(25,24,12); M(22,24,12,185); M(15,22,24,184.99999999999991); L(21,15,22); L(76,21,22); Q(75,22,24,ab(76,22,15,21,"gedreht"),D); Q(23,24,25,ab(75,24,15,21,22,"gedreht"),D); A(14,25); N(26,21,14); N(51,26,52); M(16,15,21,82.53131998799948); L(17,16,15); L(18,16,17); L(19,16,18); L(77,18,17); Q(20,15,51,ab(77,15,16,17,18,19,"gedreht"),D); M(41,19,16,141.76441573439536); L(43,41,19); M(40,41,19,185.0000000000005); L(79,40,41); Q(42,41,43,ab(79,41,40,"gedreht"),D); L(78,42,43); Q(44,19,51,ab(78,19,40,41,42,43,"gedreht"),D); M(45,40,41,82.53131998800232); L(46,40,45); L(47,46,45); L(48,46,47); M(80,48,46,185); L(81,80,48); Q(49,48,47,ab(81,48,80,"gedreht"),D); M(32,27,28,287.4686800119978) ; L(33,32,27); L(34,32,33); L(35,34,33); L(36,34,35); L(82,36,35); Q(37,40,27,ab(80,40,45,46,47,48,49,"gedreht"),ab(82,27,32,33,34,35,36,"gedreht")); N(38,52,32); N(39,38,36); A(39,49); N(50,39,45); A(50,51);
%R(14,25);
%R(39,49);
%R(50,51);
%
%
%
%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{25,36}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.93519038684584732124,3.17036675422897884502}} % 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 \\
6 3 \\
6 4 \\
7 1 \\
8 1 \\
8 7 \\
9 8 \\
9 7 \\
10 8 \\
10 9 \\
11 10 \\
11 9 \\
12 10 \\
12 11 \\
13 7 \\
14 11 \\
14 13 \\
14 25 \\
15 22 \\
16 15 \\
17 16 \\
17 15 \\
18 16 \\
18 17 \\
19 16 \\
19 18 \\
20 17 \\
20 18 \\
20 51 \\
21 15 \\
21 22 \\
22 24 \\
23 21 \\
23 22 \\
23 24 \\
23 25 \\
24 12 \\
25 24 \\
25 12 \\
26 21 \\
26 14 \\
27 28 \\
28 5 \\
29 30 \\
29 27 \\
29 28 \\
30 5 \\
30 28 \\
31 52 \\
31 29 \\
31 30 \\
32 27 \\
33 32 \\
33 27 \\
34 32 \\
34 33 \\
35 34 \\
35 33 \\
36 34 \\
36 35 \\
37 48 \\
37 35 \\
37 36 \\
38 52 \\
38 32 \\
39 38 \\
39 36 \\
39 49 \\
40 41 \\
41 19 \\
42 40 \\
42 41 \\
42 43 \\
43 41 \\
43 19 \\
44 42 \\
44 43 \\
44 51 \\
45 40 \\
46 40 \\
46 45 \\
47 46 \\
47 45 \\
48 46 \\
48 47 \\
49 48 \\
49 37 \\
49 47 \\
50 39 \\
50 45 \\
50 51 \\
51 26 \\
51 52 \\
52 13 \\
52 6 \\
},
%
% 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 0.73682651926058717606 5.02969100796047818847 \\
2 0.36841325963029358803 4.10002888109471097522 \\
3 1.35773090824746600624 4.24580470259672804190 \\
4 0.98931764861717241821 3.31614257573096127274 \\
5 0.00000000000000000000 3.17036675422894420606 \\
6 1.97863529723434483643 3.46191839723297878351 \\
7 1.56501920081538825613 4.46924753871574775843 \\
8 1.63628114178900641029 5.46670517479292605856 \\
9 2.46447382334380682423 4.90626170554819740488 \\
10 2.53573576431742431225 5.90371934162537392865 \\
11 3.36392844587222450414 5.34327587238064527497 \\
12 3.43519038684584199217 6.34073350845782268692 \\
13 2.47712067464707930142 4.05928302630759141323 \\
14 3.43519038684584199217 4.34581823630346786302 \\
15 6.13355425443109769645 5.02969100796047552393 \\
16 6.50196751406139838991 4.10002888109471186340 \\
17 5.51264986544422441739 4.24580470259672093647 \\
18 5.88106312507452599903 3.31614257573095727594 \\
19 6.87038077369169908337 3.17036675422894775878 \\
20 4.89174547645735113832 3.46191839723296679310 \\
21 5.30536157287629617230 4.46924753871574509390 \\
22 5.23409963190267912836 5.46670517479292428220 \\
23 4.40590695034787582784 4.90626170554819385217 \\
24 4.33464500937425967209 5.90371934162537215229 \\
25 3.50645232781945814793 5.34327587238064438679 \\
26 4.39326009904460423883 4.05928302630759052505 \\
27 0.73682651926063058578 1.31104250049742643291 \\
28 0.36841325963031418267 2.24070462736318498642 \\
29 1.35773090824749198546 2.09492880586119101238 \\
30 0.98931764861717463866 3.02459093272694889976 \\
31 1.97863529723435238594 2.87881511122495581390 \\
32 1.56501920081545220498 1.87148596974213421440 \\
33 1.63628114178903572018 0.87402833366495091827 \\
34 2.46447382334385522995 1.43447180290965659033 \\
35 2.53573576431744163173 0.43701416683247529260 \\
36 3.36392844587226003128 0.99745763607717929933 \\
37 3.43519038684584687715 0.00000000000000000000 \\
38 2.47712067464711749309 2.28145048215034718098 \\
39 3.43519038684584643306 1.99491527215435993092 \\
40 6.13355425443106305750 1.31104250049743109585 \\
41 6.50196751406138151452 2.24070462736318898322 \\
42 5.51264986544420487746 2.09492880586119767372 \\
43 5.88106312507452333449 3.02459093272695422883 \\
44 4.89174547645734669743 2.87881511122496425159 \\
45 5.30536157287624465795 1.87148596974213488053 \\
46 5.23409963190265781208 0.87402833366495413792 \\
47 4.40590695034783941253 1.43447180290965681237 \\
48 4.33464500937425256666 0.43701416683247717998 \\
49 3.50645232781943461120 0.99745763607718040955 \\
50 4.39326009904457670530 2.28145048215034274008 \\
51 3.93519038684584776533 3.17036675422897262777 \\
52 2.93519038684584732124 3.17036675422897884502 \\
};
% ===================================
% 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
2 1 7 0.5 Blue {} 1.5 \\
1 7 13 0.45 Green {} 1.5 \\
10 12 24 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,very thick] (P14) -- (P25);
\draw[green,very thick] (P39) -- (P49);
\draw[green,very thick] (P50) -- (P51);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2134, eingetragen 2021-12-06
|
fortschrittsbericht:
-es stürzt immer seltener ab, ich kann also jetzt mehrere versuche hintereinander machen ohne wieder jeweils neu zu starten
-speichern von ergebnissen als TXT in word, damit kann ich also meine eigene ergebnisse speichern und wieder aufrufen
- damit ist es mir gelungen einen angefangen 102er graphen von letztem jahr heute wieder weiterzubearbeiten
- mit "PGF/TikZ" darstellen im forum, damit könnt ihr doch jetzt endlich meine graphen bei euch öffnen und verändern?
- ich versuche nicht passende linien aufzubrechen, also nur ganze streichhölzer darzustellen und ggfls lücken zu lassen, ich finde das derzeit übersichtlicher
- dazu hab ich endlich etwas geübt linien und winkel mit der maus einzugeben und zu löschen... klappt schon ganz gut
-stefan, mit welchem code hast du den graphen in # 2129 übertragen?
-slash, wie überträgst du deine graphen ins forum?, bisher konnte ich deine auch immer nur abzeichnen... also neu eingeben in meinem CAD program, was ja nie zu einer wirklich gemeinsamen hin-und-ner bearbeitung geführt hat, weil es zu kompliziert ist, (und meine waren immer als JPG/PGN bearbeitete screenshots, die konnte ja auch nie jemand weiterbearbeiten)
lg haribo
53 Knoten, 1×Grad 1, 2×Grad 2, 1×Grad 3, 49×Grad 4, 0 Überschneidungen,
102 Kanten, minimal 0.99999999999997057909, maximal 1.00000000000003375078, Einsetzkanten=Beweglichkeit-1,
einzustellende Kanten, Abstände und Winkel:
|P40-P44|=1.00000000000002997602
|P40-P43|=0.99999999999997057909
|P43-P52|=1.00000000000003375078
$
%Eingabe war:
%
%Fig.5 4-regular planar graph with 51 vertices. This graph is rigid and asymmetric.
%
%
%
%
%
%
%
%P[1]=[120.66163019039072,379.99963533760325]; P[2]=[70.94560393377569,343.3536670827203]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(45,6,3); M(12,11,9,gruenerWinkel); L(13,11,12); L(14,13,12); L(15,13,14); L(46,14,12); M(16,15,13,75.32002125774028); L(17,15,16); L(18,17,16); L(19,17,18); L(47,18,16); M(20,19,17,93.95502437185992); L(21,19,20); L(22,21,20); L(23,21,22); L(75,22,20); Q(51,19,47,ab(75,19,20,21,22,23,"gedreht"),D); L(74,51,47); Q(50,15,46,ab(74,15,16,17,18,19,20,21,22,23,47,51,"gedreht"),D); N(48,46,10); M(24,23,21,orangerWinkel); L(25,23,24); L(26,25,24); L(27,25,26); L(28,27,26); L(29,27,28); M(30,29,27,69.80814747678); L(31,29,30); L(32,31,30); L(76,31,32); L(39,32,30); M(37,5,2,238.9174997023771) ; L(38,5,37); M(35,37,5,185.00000000000017) ; L(78,37,35); M(77,35,78,244.99999999999972) ; L(79,35,77); Q(34,78,35,D,ab(79,35,77,"gedreht")); Q(36,38,37,D,ab(78,37,77,34,35,"gedreht")); Q(33,29,5,ab(76,29,30,31,32,39,"gedreht"),ab(77,5,34,35,36,37,38,"gedreht")); N(40,34,39); N(41,39,28); M(80,41,28,224.6886181217418); L(44,41,80); Q(42,41,24,ab(80,41,44,"gedreht"),D); A(40,44); N(43,4,38); A(40,43); M(81,45,3,197.3584677571069); L(53,45,81); Q(52,45,44,ab(81,45,53,"gedreht"),D); A(43,52); M(49,42,24,vierterWinkel);
%R(40,44);
%R(40,43);
%R(43,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{3,16,24,26,28,38,48}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{2.96777096400471140925,3.80913346546747444421}} % 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 \\
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 \\
21 19 \\
21 20 \\
22 21 \\
22 20 \\
23 21 \\
23 22 \\
24 23 \\
25 23 \\
25 24 \\
26 25 \\
26 24 \\
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 \\
33 35 \\
34 36 \\
34 35 \\
34 33 \\
35 37 \\
36 38 \\
36 35 \\
36 37 \\
37 5 \\
38 5 \\
38 37 \\
39 32 \\
39 30 \\
40 34 \\
40 39 \\
40 44 \\
40 43 \\
41 39 \\
41 28 \\
42 41 \\
42 24 \\
43 4 \\
43 38 \\
43 52 \\
44 41 \\
44 42 \\
45 6 \\
45 3 \\
46 14 \\
46 12 \\
47 18 \\
47 16 \\
48 46 \\
48 10 \\
49 42 \\
50 47 \\
50 51 \\
50 46 \\
51 20 \\
51 22 \\
51 47 \\
52 45 \\
52 44 \\
53 45 \\
53 52 \\
},
%
% 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.60990896317486820166 5.82876484943641415271 \\
2 0.80495448158743376776 5.23542828173448615559 \\
3 1.72127626300528602243 4.83498553564059907472 \\
4 0.91632178141785214365 4.24164896793867107760 \\
5 0.00000000000000000000 4.64209171403255815846 \\
6 1.85803661456064661550 4.86003750460827443902 \\
7 2.57291527882957415940 5.55928602650379755090 \\
8 2.82104293021535168506 4.59055868167565783722 \\
9 3.53592159448427922896 5.28980720357118006092 \\
10 3.78404924587005764280 4.32107985874304123541 \\
11 4.49892791013898474262 5.02032838063856257094 \\
12 4.15964636393908371303 4.07964350651322416041 \\
13 5.14394413498734426327 4.25615950553151556335 \\
14 4.80466258878744323368 3.31547463140617715283 \\
15 5.78896035983570378392 3.49199063042446855576 \\
16 4.85220820507158911994 3.14199720113644254127 \\
17 5.62368748337470947263 2.50574275270492119461 \\
18 4.68693532861059836137 2.15574932341689340376 \\
19 5.45841460691371782588 1.51949487498537627594 \\
20 4.47534487805778269376 1.70272671776144446376 \\
21 4.80819631185944018625 0.75974743749268625059 \\
22 3.82512658300350416596 0.94297928026875543761 \\
23 4.15797801680516165845 0.00000000000000000000 \\
24 3.65797801680516698752 0.86602540378444170521 \\
25 3.15797801680516210254 0.00000000000000621239 \\
26 2.65797801680516654343 0.86602540378444770042 \\
27 2.15797801680516165845 0.00000000000001190709 \\
28 1.65797801680516632139 0.86602540378445369562 \\
29 1.15797801680516121436 0.00000000000001777434 \\
30 1.58362863739156845000 0.90488758925870871330 \\
31 0.58714768723107824133 0.82106804519380294227 \\
32 1.01279830781748692026 1.72595563445249489121 \\
33 0.01631735765699753385 1.64213609038758967529 \\
34 0.87961039148167785573 2.14683910974628222590 \\
35 0.01087823843799847097 2.64212129826924480014 \\
36 0.87417127226267843376 3.14682431762793912711 \\
37 0.00543911921899848782 3.64210650615090214544 \\
38 0.86873215304368200940 4.14680952550959514014 \\
39 2.00927925797797568563 1.80977517851739988508 \\
40 1.67541275504471820490 2.75239554654427243108 \\
41 2.64334129938122908143 1.03649299997483268498 \\
42 3.29274123275057783999 1.79694005700108339063 \\
43 1.78505393446154858594 3.74636677941574136597 \\
44 2.30947479644805531152 1.97911336800173520700 \\
45 1.96940391439106377014 3.86625819081245980513 \\
46 3.82036481773918268345 3.13895863238788619398 \\
47 3.91545605030747934094 2.79200377184841341816 \\
48 2.99616455090867717104 3.70525706974801449789 \\
49 2.58770890867397973523 2.50611522718624346595 \\
50 2.91920742978217884200 2.70546657694683201356 \\
51 3.49227514920184489711 1.88595856053750932091 \\
52 2.41911597586492277401 2.97308460087322945498 \\
53 2.96777096400471140925 3.80913346546747444421 \\
};
% ===================================
% 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
2 1 6 0.5 Blue {} 1.5 \\
9 11 12 0.5 Green {} 1.5 \\
21 23 24 0.5 Orange {} 1.5 \\
24 42 49 0.45 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,very thick] (P40) -- (P44);
\draw[green,very thick] (P40) -- (P43);
\draw[green,very thick] (P43) -- (P52);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2135, vom Themenstarter, eingetragen 2021-12-06
|
\quoteon(2021-12-05 20:39 - haribo in Beitrag No. 2133)
-slash, wie überträgst du deine graphen ins forum?, bisher konnte ich deine auch immer nur abzeichnen... also neu eingeben in meinem CAD program, was ja nie zu einer wirklich gemeinsamen hin-und-ner bearbeitung geführt hat, weil es zu kompliziert ist, (und meine waren immer als JPG/PGN bearbeitete screenshots, die konnte ja auch nie jemand weiterbearbeiten)
\quoteoff
Ganz easy: untem im Programm auf "PGF/TikZ" klicken und den gesamten Code hier posten. Fertig 😎. Die Farben der Knoten und Kanten ändere ich manchmal noch und lasse etwas Text weg. Nötig ist das aber nicht.
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2136, vom Themenstarter, eingetragen 2021-12-06
|
\quoteon(2021-12-06 10:55 - haribo in Beitrag No. 2134)
offenbar hab ich den letzten beitrag nur geändert und keinen neuen geschrieben?
\quoteoff
Die Bearbeitungen werden ja alle mit abgespeichert (Änderungshistorie) und du kannst vergangene Versionen wiederherstellen oder neu posten.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2137, eingetragen 2021-12-06
|
kapiert...
slash ich bin programtechnisch gerade auf dem stand der französischen revolution, dort wo du ~ im juni 2019 warst, also ~#1789 ff
versuchen alte graphen hineinzuladen und damit herumstümpern...
wir sollten mal wieder eine gemeinsame session machen... 4/5 angreifen oder sowas, jetzt wo wir das erste mal beide gegenseitig beiträge ins program laden können
um es nicht beitragsmässig ausufern zu lassen könnten wir in zwei aufeinanderfolgenden beiträgen immer wieder herum-ändern... sozusagen ein programm-chat durchziehen
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2138, vom Themenstarter, eingetragen 2021-12-06
|
\quoteon(2021-12-06 14:01 - haribo in Beitrag No. 2137)
wir sollten mal wieder eine gemeinsame session machen... 4/5 angreifen oder sowas, jetzt wo wir das erste mal beide gegenseitig beiträge ins program laden können um es nicht beitragsmässig ausufern zu lassen könnten wir in zwei aufeinanderfolgenden beiträgen immer wieder herum-ändern... sozusagen ein programm-chat durchziehen
\quoteoff
Ach, lassen wir den Thread ruhig laufen. Ich glaube nicht, dass das irgendeinen Vorteil bringt. Hat bisher doch auch ganz gut geklappt.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2139, eingetragen 2021-12-06
|
naja muss ja nicht alles der nachwelt erhalten bleiben
versuchen wir halt übungshalber an diesem herumzudocktorn (entstanden aus#2129)
54 Knoten, 2×Grad 2, 6×Grad 3, 46×Grad 4, 0 Überschneidungen,
103 Kanten, minimal 0.99999999999999655831, maximal 1.00000000000001798561, Einsetzkanten=Beweglichkeit-2,
einzustellende Kanten, Abstände und Winkel:
|P32-P39|=1.00000000000000599520
|P29-P54|=0.99999999999999655831
|P46-P52|=1.00000000000001798561
$
%Eingabe war:
%
%Anfang f�r einen neuen, noch unbenannten Streichholzgraph
%
%
%
%
%
%
%
%
%P[1]=[-35.335474911075494,-48.75335355958579]; P[2]=[11.84656980268321,-65.30190807739417]; D=ab(1,2); A(2,1); L(3,1,2); L(4,1,3); L(5,1,4); L(6,5,4); L(7,5,6); M(8,7,5,blauerWinkel); L(9,7,8); L(10,9,8); L(11,9,10); L(12,10,8); M(75,12,8,71.40466982052884); L(14,12,75); Q(13,12,6,ab(75,12,14,"gedreht"),D); M(24,11,9,gruenerWinkel); M(22,24,11,185.00000000000003); L(23,22,24); L(76,23,24); Q(25,24,11,ab(76,24,22,23,"gedreht"),D); L(26,23,25); M(20,22,23,79.41143496777694); M(16,20,22,185); M(17,16,20,184.99999999999983); L(18,17,16); L(79,18,16); Q(19,16,20,ab(79,16,17,18,"gedreht"),D); L(78,19,20); Q(21,20,22,ab(78,20,16,17,18,19,"gedreht"),D); M(77,21,19,orangerWinkel); M(15,26,23,233.4759202137305) ; L(80,26,15); Q(27,22,26,ab(77,22,16,17,18,19,20,21,"gedreht"),ab(80,26,15,"gedreht")); N(54,18,27); M(40,15,26,vierterWinkel); M(28,17,16,fuenfterWinkel); L(29,28,17); L(30,28,29); L(31,28,30); L(32,31,30); L(33,31,32); A(29,54); M(34,33,31,71.78732084914708); L(35,33,34); L(36,35,34); L(37,35,36); L(81,36,34); M(82,40,15,152.1035861587192) ; L(39,40,82); Q(38,33,40,ab(81,33,34,35,36,37,"gedreht"),ab(82,40,39,"gedreht")); A(32,39); M(49,37,35,149.6951926082943); M(83,49,37,184.99999999999997); L(48,83,49); L(84,48,49); Q(50,49,37,ab(84,49,83,48,"gedreht"),D); L(51,48,50); M(42,2,1,228.22474905150926) ; L(43,2,42); L(44,43,42); L(45,44,42); L(46,44,45); L(85,46,45); Q(47,37,2,ab(83,37,48,49,50,51,"gedreht"),ab(85,2,42,43,44,45,46,"gedreht")); M(86,51,48,234.83521808294947); L(52,51,86); Q(41,51,40,ab(86,51,52,"gedreht"),D); A(46,52); N(53,3,43);
%R(32,39);
%R(29,54);
%R(46,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{6,34}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.48337578727892926977,4.05946141882285083113}} % 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 1 \\
4 3 \\
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 10 \\
12 8 \\
13 12 \\
13 6 \\
14 12 \\
14 13 \\
15 26 \\
16 20 \\
17 16 \\
18 17 \\
18 16 \\
19 16 \\
19 18 \\
19 20 \\
20 22 \\
21 19 \\
21 20 \\
21 22 \\
22 24 \\
23 22 \\
23 24 \\
24 11 \\
25 23 \\
25 24 \\
25 11 \\
26 23 \\
26 25 \\
27 21 \\
27 15 \\
27 26 \\
28 17 \\
29 28 \\
29 17 \\
29 54 \\
30 28 \\
30 29 \\
31 28 \\
31 30 \\
32 31 \\
32 30 \\
32 39 \\
33 31 \\
33 32 \\
34 33 \\
35 33 \\
35 34 \\
36 35 \\
36 34 \\
37 35 \\
37 36 \\
38 34 \\
38 36 \\
38 40 \\
39 40 \\
39 38 \\
40 15 \\
41 51 \\
41 40 \\
42 2 \\
43 2 \\
43 42 \\
44 43 \\
44 42 \\
45 44 \\
45 42 \\
46 44 \\
46 45 \\
46 52 \\
47 49 \\
47 45 \\
47 46 \\
48 47 \\
48 49 \\
49 37 \\
50 48 \\
50 49 \\
50 37 \\
51 48 \\
51 50 \\
52 51 \\
52 41 \\
53 3 \\
53 43 \\
54 18 \\
54 27 \\
},
%
% 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.49434384196659264532 0.33097109035616756323 \\
2 3.43798473624176637031 0.00000000000000000000 \\
3 3.25279366127085545202 0.98270253167024979035 \\
4 2.30915276699568217111 1.31367362202641735358 \\
5 1.55070294769141914237 0.66194218071233523748 \\
6 1.36551187272050844612 1.64464471238258491681 \\
7 0.60706205341624552840 0.99291327106850291173 \\
8 1.28046421203505933484 1.73218962857462699390 \\
9 0.30353102670812276420 1.94573482614873549679 \\
10 0.97693318532693629308 2.68501118365485913486 \\
11 0.00000000000000000000 2.89855638122896808184 \\
12 1.95386637065387303025 2.47146598608075063197 \\
13 2.36179018436870613584 1.55845001568135721470 \\
14 2.94852330193806544401 2.36823038636673022239 \\
15 2.96718161072943553691 3.23796263719887145172 \\
16 2.48813901792352965003 5.62024916025658427543 \\
17 3.39611745311079760157 6.03926605876413269414 \\
18 3.30500751423966931952 5.04342521854974723539 \\
19 2.39702907905240492070 4.62440832004219526397 \\
20 1.58016058273626569530 5.20123226174903052765 \\
21 1.48905064386514141006 4.20539142153464329255 \\
22 0.67218214754900373897 4.78221536324148033259 \\
23 1.31978487590653736916 4.02023720986444388359 \\
24 0.33609107377450114784 3.84038587223522398517 \\
25 0.98369380213203572172 3.07840771885818753617 \\
26 1.96738760426407188753 3.25825905648740699050 \\
27 2.48486182220648643693 4.11395785499356758663 \\
28 4.33743923659818264582 5.70175561458183999264 \\
29 3.57448572615005444320 5.05530225903723628988 \\
30 4.51580750963743948745 4.71779181485494358839 \\
31 5.27876102008556724599 5.36424517039954729114 \\
32 5.45712929312482408761 4.38028137067264999871 \\
33 6.22008280357295184615 5.02673472621725458964 \\
34 5.53887690259631160217 4.29464284641349358651 \\
35 6.51349001889899081874 4.07074717086173532010 \\
36 5.83228411792234968658 3.33865529105797653742 \\
37 6.80689723422502801498 3.11475961550621827101 \\
38 4.85767100161966958183 3.56255096660973569200 \\
39 4.46221811256918776678 4.48103722809742244237 \\
40 3.86451212161909607445 3.67932184943591300552 \\
41 3.84924402007443466900 2.67943841369191426693 \\
42 4.35225974970202411640 0.40509406285731469621 \\
43 3.54430049361521071205 0.99433241913059877692 \\
44 4.45857550707546756996 1.39942648198791452785 \\
45 5.26653476316228186249 0.81018812571462972549 \\
46 5.37285052053572620423 1.80452054484522905753 \\
47 6.18080977662253872040 1.21528218857194447722 \\
48 5.51483378820307024171 1.96125536694279678507 \\
49 6.49385350542378425587 2.16502090203908137411 \\
50 5.82787751700431400081 2.91099408040993434810 \\
51 4.84885779978360176301 2.70722854531364909292 \\
52 4.37311786988795336839 1.82764255230166194899 \\
53 3.35910941864430334647 1.97703495080084912239 \\
54 3.48337578727892926977 4.05946141882285083113 \\
};
% ===================================
% 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
5 7 8 0.5 Blue {} 1.5 \\
9 11 24 0.5 Green {} 1.5 \\
19 21 77 0.45 Orange {} 1.5 \\
26 15 40 0.45 Violet {} 1.5 \\
16 17 28 0.5 Teal {} 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] (P32) -- (P39);
\draw[green,very thick] (P29) -- (P54);
\draw[green,very thick] (P46) -- (P52);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
er ist so 2-fach beweglich, und das bedeutet er kann nicht bewegt werden? oder wie geht das?, bewegen also um sich zu inspirieren wo man weitermacht!
füge ich 14-41 wieder hinzu ist er 1-fach beweglich und ich kann ihn mit extrapolieren bewegt animieren, er muss ja vermutlich ohne 14-41 mehr beweglich sein, aber in welche richtung?
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2140, eingetragen 2021-12-06
|
54 Knoten, 6×Grad 3, 48×Grad 4, 0 Überschneidungen,
105 Kanten, minimal 0.99999999999999222844, maximal 1.00000000000002020606, Einsetzkanten=Beweglichkeit+0,
einzustellende Kanten, Abstände und Winkel:
|P33-P34|=0.99999999999999222844
|P41-P51|=0.99999999999999900080
|P43-P53|=1.00000000000000000000
|P29-P54|=1.00000000000000155431
|P46-P52|=1.00000000000002020606
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Anfang f�r einen neuen, noch unbenannten Streichholzgraph
%
%
%
%
%
%
%
%
%P[1]=[146.22958457554088,-38.732709834837095]; P[2]=[207.31266221940967,-74.9997503065936]; D=ab(1,2); A(2,1); L(3,1,2); L(4,1,3); L(5,1,4); L(6,5,4); L(7,5,6); M(8,7,5,blauerWinkel); L(9,7,8); L(10,9,8); L(11,9,10); L(12,10,8); M(75,12,8,80.5158470595541); L(14,12,75); Q(13,12,6,ab(75,12,14,"gedreht"),D); N(53,13,3); M(24,11,9,gruenerWinkel); L(25,24,11); M(22,24,11,185); L(76,22,24); Q(23,24,25,ab(76,24,22,"gedreht"),D); L(26,23,25); M(41,14,12,orangerWinkel); M(15,26,23,vierterWinkel); L(27,26,15); M(20,22,23,79.40905011076259) ; M(16,20,22,185); M(17,16,20,184.99999999999991); L(18,17,16); L(79,18,16); Q(19,16,20,ab(79,16,17,18,"gedreht"),D); L(78,19,20); Q(77,20,22,ab(78,20,16,17,18,19,"gedreht"),D); Q(21,27,22,D,ab(77,22,16,17,18,19,20,"gedreht")); N(54,18,27); N(40,15,41); M(28,17,16,fuenfterWinkel); L(29,28,17); L(30,28,29); L(31,28,30); L(32,31,30); L(33,31,32); A(29,54); M(38,40,15,151.998904740543); L(80,40,38); Q(39,40,32,ab(80,40,38,"gedreht"),D); M(34,33,31,71.76637051850963); L(35,33,34); L(36,35,34); L(37,35,36); L(81,36,34); A(38,33,ab(81,33,34,35,36,37,"gedreht")); M(49,37,35,150.63366072019116); L(50,49,37); M(82,49,37,184.99999999999983); L(83,82,49); Q(48,49,50,ab(83,49,82,"gedreht"),D); L(51,48,50); M(42,2,1,243.8150721995296) ; L(43,2,42); L(44,43,42); L(45,44,42); L(46,44,45); L(84,46,45); Q(47,37,2,ab(82,37,48,49,50,51,"gedreht"),ab(84,2,42,43,44,45,46,"gedreht")); M(85,41,14,211.98080494645396); L(52,85,41); A(51,41,ab(85,41,52,"gedreht")); A(43,53); A(46,52);
%R(33,34); // oder R(33,35);
%R(41,51); // oder R(41,52);
%R(43,53);
%R(29,54);
%R(46,52);
%A(53,41); A(53,41); A(53,41); A(53,41); A(53,44); A(44,53);
%
%
%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{10,14,34,43}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.51837713115942651854,4.35302784522396013500}} % 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 1 \\
4 3 \\
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 10 \\
12 8 \\
13 12 \\
13 6 \\
14 12 \\
14 13 \\
15 26 \\
16 20 \\
17 16 \\
18 17 \\
18 16 \\
19 16 \\
19 18 \\
19 20 \\
20 22 \\
21 27 \\
21 19 \\
21 20 \\
21 22 \\
22 24 \\
23 22 \\
23 24 \\
23 25 \\
24 11 \\
25 24 \\
25 11 \\
26 23 \\
26 25 \\
27 26 \\
27 15 \\
28 17 \\
29 28 \\
29 17 \\
29 54 \\
30 28 \\
30 29 \\
31 28 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
34 33 \\
35 33 \\
35 34 \\
36 35 \\
36 34 \\
37 35 \\
37 36 \\
38 40 \\
38 34 \\
38 36 \\
39 38 \\
39 40 \\
39 32 \\
40 15 \\
40 41 \\
41 14 \\
42 2 \\
43 2 \\
43 42 \\
43 53 \\
44 43 \\
44 42 \\
45 44 \\
45 42 \\
46 44 \\
46 45 \\
46 52 \\
47 49 \\
47 45 \\
47 46 \\
48 49 \\
48 47 \\
48 50 \\
49 37 \\
50 49 \\
50 37 \\
51 48 \\
51 50 \\
51 41 \\
52 51 \\
52 41 \\
53 13 \\
53 3 \\
54 18 \\
54 27 \\
},
%
% 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.64785703174493880496 0.51052796251618515200 \\
2 3.50771818302988469540 0.00000000000000000000 \\
3 3.51991779226873768849 0.99992558199819014941 \\
4 2.66005664098379179805 1.51045354451437496834 \\
5 1.78799588045999335861 1.02105592503236985991 \\
6 1.80019548969884635170 2.02098150703055967625 \\
7 0.92813472917504802329 1.53158388754855456781 \\
8 1.46322627188929765829 2.37637796950917312699 \\
9 0.46406736458752412267 2.41738379786960999596 \\
10 0.99915890730177370216 3.26217787983022855514 \\
11 0.00000000000000000000 3.30318370819066542410 \\
12 1.99831781460354696023 3.22117205146979168617 \\
13 2.68242874900413852401 2.49179407714265943596 \\
14 2.97203313653197298549 3.44894051250384725549 \\
15 2.97644651503051038688 3.54843448107077064080 \\
16 2.57315283975405728611 5.94460263547240241877 \\
17 3.49396725217480597081 6.33460368403282636507 \\
18 3.37131086152032732883 5.34215448642539936230 \\
19 2.45049644909957686778 4.95215343786498074508 \\
20 1.65233842733330815733 5.55460158691197847247 \\
21 1.52968203667882773900 4.56215238930455679878 \\
22 0.73152401491255736321 5.16460053835155541435 \\
23 1.35466014216003460824 4.38248714061500255212 \\
24 0.36576200745627873712 4.23389212327111064127 \\
25 0.98889813470375642623 3.45177872553455777904 \\
26 1.97779626940751285247 3.60037374287845013399 \\
27 2.52210211239827275520 4.43926059417969565146 \\
28 4.42410918583477297261 5.96740348897936989658 \\
29 3.64103352181389539055 5.34547704283138536141 \\
30 4.57117545547386416871 4.97827684777792889292 \\
31 5.35425111949474086259 5.60020329392591431628 \\
32 5.50131738913383205869 4.61107665272447508897 \\
33 6.28439305315470786439 5.23300309887245873597 \\
34 5.58004771903359486629 4.52314561296292616532 \\
35 6.54697500195836923353 4.26809340353176747129 \\
36 5.84262966783725090636 3.55823591762223045976 \\
37 6.80955695076202527360 3.30318370819107309799 \\
38 4.87570238491247653911 3.81328812705338826561 \\
39 4.51020452609561761648 4.74410030746374999921 \\
40 3.88684646111669129809 3.96216378649435085890 \\
41 3.84602357117978987944 2.96299738811157897800 \\
42 4.38971291794557849641 0.47125925728943784954 \\
43 3.54059306190649136781 0.99945947508583465879 \\
44 4.42258779682218694518 1.47071873237527062095 \\
45 5.27170765286127362970 0.94251851457887614316 \\
46 5.30458253173788119028 1.94197798966470802640 \\
47 6.15370238777696787480 1.41377777186831399270 \\
48 5.49952925906491607577 2.17012261231550418472 \\
49 6.48162966926949568602 2.35848074002969365637 \\
50 5.82745654055744388700 3.11482558047688362635 \\
51 4.84535613035286338857 2.92646745276269371061 \\
52 4.31405399875558881462 2.07928503736433789584 \\
53 3.55279267114527108617 1.99938505708402525229 \\
54 3.51837713115942651854 4.35302784522396013500 \\
};
% ===================================
% 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
5 7 8 0.5 Blue {} 1.5 \\
9 11 24 0.5 Green {} 1.5 \\
12 14 41 0.5 Orange {} 1.5 \\
23 26 15 0.45 Violet {} 1.5 \\
16 17 28 0.5 Teal {} 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] (P33) -- (P34);
\draw[green,very thick] (P41) -- (P51);
\draw[green,very thick] (P43) -- (P53);
\draw[green,very thick] (P29) -- (P54);
\draw[green,very thick] (P46) -- (P52);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2141, eingetragen 2021-12-06
|
aus dem letzten hinentwickelt ohne einen einzigen absturz...
56 Knoten, 2×Grad 2, 54×Grad 4, 0 Überschneidungen,
110 Kanten, minimal 0.99999999999998723244, maximal 1.00000000000001199041, Einsetzkanten=Beweglichkeit+1,
einzustellende Kanten, Abstände und Winkel:
|P18-P54|=1.00000000000000244249
|P39-P54|=0.99999999999998723244
|P15-P56|=1.00000000000001199041
|P55-P57|=0.99999999999999977796
|P43-P53|=0.99999999999999822364
$
%Eingabe war:
%
%[3]
%
%
%
%
%
%
%
%P[1]=[146.22958457554088,-38.732709834837095]; P[2]=[207.31266221940967,-74.9997503065936]; D=ab(1,2); A(2,1); L(3,1,2); L(4,1,3); L(5,1,4); L(6,5,4); L(7,5,6); M(8,7,5,blauerWinkel); L(9,7,8); L(10,9,8); L(11,9,10); L(12,10,8); N(13,12,6); N(53,13,3); M(14,53,3,gruenerWinkel); M(42,2,1,229.73887533302414) ; L(43,2,42); L(44,43,42); L(45,44,42); L(78,44,45); L(47,78,45); Q(46,14,2,D,ab(78,2,42,43,44,45,47,"gedreht")); A(43,53); M(48,47,45,292.881023166714) ; L(49,48,47); L(50,48,49); L(37,50,49); L(79,48,50); Q(51,14,47,D,ab(79,47,37,48,49,50,"gedreht")); M(15,12,8,orangerWinkel); M(24,11,9,139.03451202465925); M(22,24,11,185); L(23,22,24); L(81,23,24); Q(25,24,11,ab(81,24,22,23,"gedreht"),D); L(80,23,25); Q(26,11,15,ab(80,11,22,23,24,25,"gedreht"),D); N(57,15,13); N(40,57,51); M(35,37,49,225.25522312310048) ; M(33,35,37,185.00000000000003) ; L(34,35,33); L(83,35,34); Q(36,37,35,D,ab(83,35,33,34,"gedreht")); L(82,36,34); Q(38,40,37,D,ab(82,37,33,34,35,36,"gedreht")); M(20,22,23,80.7302540489591); M(16,20,22,185.0000000000001); M(84,16,20,184.99999999999983); L(18,84,16); L(86,18,16); Q(19,16,20,ab(86,16,84,18,"gedreht"),D); L(85,19,20); Q(21,20,22,ab(85,20,16,84,18,19,"gedreht"),D); M(31,33,34,292.8810231667141) ; M(28,31,33,185.00000000000003) ; M(87,28,31,185) ; L(29,28,87); L(89,28,29); Q(30,31,28,D,ab(89,28,87,29,"gedreht")); L(88,31,30); Q(32,33,31,D,ab(88,31,87,28,29,30,"gedreht")); Q(17,22,33,ab(84,22,16,18,19,20,21,"gedreht"),ab(87,33,28,29,30,31,32,"gedreht")); N(27,21,26); N(54,29,27); A(18,54); N(39,38,32); A(39,54); N(56,27,40); A(15,56); N(41,39,56); Q(55,57,14,jum(vierterWinkel)*D,D);
%R(18,54);
%R(39,54);
%R(15,56);
%R(55,57);
%R(43,53);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(43,53,"LightSlateGrey");
%
%
%
%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.38424980772600081380,2.16543537246223172232}} % 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 1 \\
4 3 \\
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 10 \\
12 8 \\
13 12 \\
13 6 \\
14 53 \\
15 12 \\
15 56 \\
16 20 \\
17 16 \\
17 28 \\
18 17 \\
18 16 \\
18 54 \\
19 16 \\
19 18 \\
19 20 \\
20 22 \\
21 19 \\
21 20 \\
21 22 \\
22 24 \\
23 22 \\
23 24 \\
24 11 \\
25 23 \\
25 24 \\
25 11 \\
26 23 \\
26 25 \\
26 15 \\
27 21 \\
27 26 \\
28 31 \\
29 28 \\
29 17 \\
30 31 \\
30 28 \\
30 29 \\
31 33 \\
32 33 \\
32 30 \\
32 31 \\
33 35 \\
34 35 \\
34 33 \\
35 37 \\
36 37 \\
36 34 \\
36 35 \\
37 50 \\
37 49 \\
38 40 \\
38 34 \\
38 36 \\
39 38 \\
39 32 \\
39 54 \\
40 57 \\
40 51 \\
41 39 \\
41 56 \\
42 2 \\
43 2 \\
43 42 \\
43 53 \\
44 43 \\
44 42 \\
45 44 \\
45 42 \\
46 14 \\
46 44 \\
46 45 \\
47 46 \\
47 45 \\
48 47 \\
49 48 \\
49 47 \\
50 48 \\
50 49 \\
51 14 \\
51 48 \\
51 50 \\
52 52 \\
53 13 \\
53 3 \\
54 29 \\
54 27 \\
55 57 \\
55 14 \\
56 27 \\
56 40 \\
57 15 \\
57 13 \\
},
%
% 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.23841399718751032921 0.51052796251618515200 \\
2 3.09827514847245577556 0.00000000000000000000 \\
3 3.11047475771130876865 0.99992558199819014941 \\
4 2.25061360642636287821 1.51045354451437496834 \\
5 1.37855284590256466082 1.02105592503236985991 \\
6 1.39075245514141743186 2.02098150703055967625 \\
7 0.51869169461761921447 1.53158388754855456781 \\
8 1.22541269646288975004 2.23907623771978947502 \\
9 0.25934584730880960723 2.49736840362016554451 \\
10 0.96606684915408025383 3.20486075379140000763 \\
11 0.00000000000000000000 3.46315291969177652120 \\
12 1.93213369830816050765 2.94656858789102393814 \\
13 2.39008214557465770156 2.05758983693788488623 \\
14 4.33233338136786638728 1.63982200265600863709 \\
15 2.92630136045950361989 3.05441412341537121833 \\
16 2.96179009378090407623 5.68942576930443522087 \\
17 3.92863123924201929071 5.94480431077463489231 \\
18 3.66637497100607401279 4.97980604664616599564 \\
19 2.69953382554496457146 4.72442750517596454785 \\
20 1.99494894831979552308 5.43404722783422844401 \\
21 1.73269268008385379787 4.46904896370576310005 \\
22 1.02810780285868519357 5.17866868636402699622 \\
23 1.51392096940946818684 4.30460600714365249075 \\
24 0.51405390142934337394 4.32091080302790153667 \\
25 0.99986706798012559005 3.44684812380752614303 \\
26 1.99973413596025073602 3.43054332792327665302 \\
27 2.68374402734361039435 4.16001606112838029361 \\
28 4.79515486442656158061 5.44566825016887445798 \\
29 3.92962854340481237969 4.94480480808255506986 \\
30 4.79615216858935422550 4.44566874747679463553 \\
31 5.66167848961110564687 4.94653218956311313548 \\
32 5.66267579377389651540 3.94653268687103242485 \\
33 6.52820211479564793677 4.44739612895735358933 \\
34 5.78711759850896800828 3.77598437770471440089 \\
35 6.73911948963649187760 3.46989223587546513627 \\
36 5.99803497334981106093 2.79848048462282594784 \\
37 6.95003686447733581844 2.49238834279357668322 \\
38 5.04603308222228541524 3.10457262645207565654 \\
39 4.66613182795970704575 4.02959967308893851623 \\
40 4.06825969910935381080 2.89490810566734158016 \\
41 4.32870338958544476071 3.08824849049218563835 \\
42 4.06840228747245635788 0.24259706135003922256 \\
43 3.37324349995987038398 0.96145327794973700630 \\
44 4.34337063895986918993 1.20405033929977633989 \\
45 5.03852942647245427565 0.48519412270007955534 \\
46 5.31349777795986888407 1.44664740064981578449 \\
47 6.00865656547245574615 0.72779118405011844484 \\
48 5.47990865676483629443 1.57657010051619139723 \\
49 6.47934671497489667047 1.61008976342184739750 \\
50 5.95059880626727721875 2.45886867988792046091 \\
51 4.95116074805721861907 2.42534901698226468270 \\
52 7.05 0 0 \\
53 3.38544310919872781795 1.96137885994792537936 \\
54 3.66737227516887864809 3.97980654395408395274 \\
55 4.26575836139450093043 2.63760342497030819686 \\
56 3.61031125184286816321 3.78388685662048684932 \\
57 3.38424980772600081380 2.16543537246223172232 \\
};
% ===================================
% 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
5 7 8 0.5 Blue {} 1.5 \\
3 53 14 0.5 Green {} 1.5 \\
8 12 15 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,very thick] (P18) -- (P54);
\draw[green,very thick] (P39) -- (P54);
\draw[green,very thick] (P15) -- (P56);
\draw[green,very thick] (P55) -- (P57);
\draw[green,very thick] (P43) -- (P53);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2142, eingetragen 2021-12-06
|
bis zum altbekannten 108er, den hab ich aber zum schluss nur gefunden weil ich ihn kenne
54 Knoten, 54×Grad 4, 0 Überschneidungen,
108 Kanten, minimal 0.99999999999995836664, maximal 1.00000000000005373479, Einsetzkanten=Beweglichkeit+3,
einzustellende Kanten, Abstände und Winkel:
|P15-P26|=1.00000000000000044409
|P29-P54|=0.99999999999999977796
|P38-P40|=0.99999999999999977796
|P43-P53|=1.00000000000000066613
$
%Eingabe war:
%
%[3]
%
%
%
%
%
%
%
%P[1]=[131.21690856454038,-44.83066384937814]; P[2]=[200.0000000000002,-74.99986783793437]; D=ab(1,2); A(2,1); L(3,1,2); L(4,1,3); L(5,1,4); L(6,5,4); L(7,5,6); M(8,7,5,blauerWinkel); L(9,7,8); L(10,9,8); L(11,9,10); L(12,10,8); N(13,12,6); N(53,13,3); M(57,13,6,gruenerWinkel); N(15,12,57); N(14,57,53); M(42,2,1,232.560237164497) ; L(43,2,42); L(44,43,42); L(45,44,42); L(78,44,45); L(47,78,45); Q(46,14,2,D,ab(78,2,42,43,44,45,47,"gedreht")); A(43,53); M(24,11,9,orangerWinkel); M(22,24,11,184.99999999999983); L(23,22,24); L(79,23,24); Q(25,24,11,ab(79,24,22,23,"gedreht"),D); L(26,23,25); A(15,26); M(20,22,23,vierterWinkel); M(16,20,22,184.99999999999994); M(17,16,20,185.00000000000017); L(18,17,16); L(81,18,16); Q(19,16,20,ab(81,16,17,18,"gedreht"),D); L(80,19,20); Q(21,20,22,ab(80,20,16,17,18,19,"gedreht"),D); N(27,21,26); N(54,18,27); N(56,27,15); N(40,56,57); M(48,47,45,285.5651622386332) ; L(49,48,47); L(50,48,49); L(37,50,49); L(82,48,50); Q(51,40,47,D,ab(82,47,37,48,49,50,"gedreht")); M(28,17,16,139.01769658806523); L(29,28,17); L(30,28,29); L(31,28,30); L(32,31,30); L(83,31,32); M(35,37,49,235.6284750720085) ; M(84,35,37,185) ; L(34,35,84); L(85,35,34); Q(36,37,35,D,ab(85,35,84,34,"gedreht")); L(38,36,34); Q(33,17,37,ab(83,17,28,29,30,31,32,"gedreht"),ab(84,37,34,35,36,38,"gedreht")); A(29,54); A(38,40); N(39,32,54);
%R(15,26);
%R(29,54);
%R(38,40);
%R(43,53);
%A(38,39); A(51,14); A(56,39);
%
%
%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{10,50}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.63819751704814020599,2.23549686646130396639}} % 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 1 \\
4 3 \\
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 10 \\
12 8 \\
13 12 \\
13 6 \\
14 57 \\
14 53 \\
15 12 \\
15 57 \\
15 26 \\
16 20 \\
17 16 \\
18 17 \\
18 16 \\
19 16 \\
19 18 \\
19 20 \\
20 22 \\
21 19 \\
21 20 \\
21 22 \\
22 24 \\
23 22 \\
23 24 \\
24 11 \\
25 23 \\
25 24 \\
25 11 \\
26 23 \\
26 25 \\
27 21 \\
27 26 \\
28 17 \\
29 28 \\
29 17 \\
29 54 \\
30 28 \\
30 29 \\
31 28 \\
31 30 \\
32 31 \\
32 30 \\
33 31 \\
33 32 \\
33 35 \\
34 35 \\
34 33 \\
35 37 \\
36 37 \\
36 34 \\
36 35 \\
37 50 \\
37 49 \\
38 36 \\
38 34 \\
38 40 \\
38 39 \\
39 32 \\
39 54 \\
40 56 \\
40 57 \\
41 41 \\
42 2 \\
43 2 \\
43 42 \\
43 53 \\
44 43 \\
44 42 \\
45 44 \\
45 42 \\
46 14 \\
46 44 \\
46 45 \\
47 46 \\
47 45 \\
48 47 \\
49 48 \\
49 47 \\
50 48 \\
50 49 \\
51 40 \\
51 48 \\
51 50 \\
51 14 \\
52 52 \\
53 13 \\
53 3 \\
54 18 \\
54 27 \\
55 55 \\
56 27 \\
56 15 \\
56 39 \\
57 13 \\
},
%
% 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.72241509428406436299 0.40167468697488778462 \\
2 3.63819751704813221238 0.00000000000000000000 \\
3 3.52816678864351374045 0.99392818594038712110 \\
4 2.61238436587944589107 1.39560287291527496123 \\
5 1.80663267151999673565 0.80334937394977579128 \\
6 1.69660194311537804168 1.79727755989016313443 \\
7 0.89085024875592899729 1.20502406092466340937 \\
8 1.44350685279014423479 2.03843313096012268559 \\
9 0.44542512437796438762 2.10034325460526094531 \\
10 0.99808172841217956961 2.93375232464072022154 \\
11 0.00000000000000000000 2.99566244828585848126 \\
12 1.99616345682435913922 2.87184220099558196182 \\
13 2.64589285296508514023 2.11167661917106386227 \\
14 4.63050218113118905450 2.11167661917101368019 \\
15 2.98846812090741398293 2.99566244828582162185 \\
16 2.72241509428409766969 5.58965020959682945545 \\
17 3.63819751704816019000 5.99132489657172762065 \\
18 3.52816678864355459666 4.99739671063133705786 \\
19 2.61238436587949118817 4.59572202365644066901 \\
20 1.80663267152003448324 5.18797552262193129025 \\
21 1.69660194311542733558 4.19404733668154250381 \\
22 0.89085024875597118577 4.78630083564703312504 \\
23 1.44350685279016599516 3.95289176561156052614 \\
24 0.44542512437798559288 3.89098164196644580315 \\
25 0.99808172841218112392 3.05757257193097320425 \\
26 1.99616345682436224784 3.11948269557608837133 \\
27 2.64589285296511489420 3.87964827740058337824 \\
28 4.55397993981221738125 5.58965020959681435642 \\
29 3.74822824545274890795 4.99739671063133705786 \\
30 4.66401066821680476693 4.59572202365642112909 \\
31 5.46976236257627146387 5.18797552262189665129 \\
32 5.57979309098085884955 4.19404733668150608850 \\
33 6.38554478534032732284 4.78630083564698072252 \\
34 5.83288818130613684332 3.95289176561150457090 \\
35 6.83096990971831896644 3.89098164196639650925 \\
36 6.27831330568413026327 3.05757257193091991354 \\
37 7.27639503409631149822 2.99566244828581318416 \\
38 5.28023157727194814015 3.11948269557602797519 \\
39 4.63050218113118372543 3.87964827740050877125 \\
40 4.28792691318889218621 2.99566244828579941739 \\
41 7.38 0 0 \\
42 4.55397993981220405857 0.40167468697487884732 \\
43 3.74822824545276089836 0.99392818594038789826 \\
44 4.66401066821683318864 1.39560287291526496922 \\
45 5.46976236257627590476 0.80334937394975658442 \\
46 5.57979309098090592300 1.79727755989014181814 \\
47 6.38554478534034863912 1.20502406092463409948 \\
48 5.83288818130614750146 2.03843313096010314567 \\
49 6.83096990971832962458 2.10034325460522319773 \\
50 6.27831330568412848692 2.93375232464069268801 \\
51 5.28023157727194814015 2.87184220099557263595 \\
52 7.38 0.1 0 \\
53 3.63819751704813354465 1.98785637188077468629 \\
54 3.63819751704815397275 4.00346852469094649507 \\
55 7.38 0.2 0 \\
56 3.63819751704816596316 3.75582803011031751694 \\
57 3.63819751704814020599 2.23549686646130396639 \\
};
% ===================================
% 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
5 7 8 0.5 Blue {} 1.5 \\
6 13 57 0.5 Green {} 1.5 \\
9 11 24 0.5 Orange {} 1.5 \\
23 22 20 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,very thick] (P15) -- (P26);
\draw[green,very thick] (P29) -- (P54);
\draw[green,very thick] (P38) -- (P40);
\draw[green,very thick] (P43) -- (P53);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2143, vom Themenstarter, eingetragen 2021-12-07
|
Ok, in dieser Form wird der Thread natürlich doch unnötig aufgebläht 😉. Es bringt wohl nicht viel 2 und /oder 3 reguläre Knoten im Graphen zu haben. Ob der Graph beweglich ist, testet Stefans Programm ja jetzt automatisch, wenn man einen 4-regulären besser annähert. Dann werden ja alle möglich Optionen von wegzulassenden Kanten getestet. Und ein neuer doppelt (spiegel)symmetrischer mit <=52 Knoten ist unmöglich, auch wenn wir dafür noch keinen Beweis haben.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2144, eingetragen 2021-12-07
|
sach ich ja, stefan hat in #2129 skiziert wie ein doppelt symetrischer mit 102 aussehen müsste (1 punkt in mitte, und 2+(n4) die sym linie querende)
mir war das jedenfals so nicht klar
die idee mit zwei beiträgen im wechsel ist nur ein versuch wie man jetzt mal gemeinsam vorwärts käme... wegen der erinnerung an produktive tage vor einigen jahren...
weil ich doch jetzt endlich auch bisle mit seinem program nicht mehr dauern im sand lande...
muss aber nicht
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2145, vom Themenstarter, eingetragen 2021-12-07
|
Wir können ja ganz bestimmte Idee auslagern, wenn es sich anbietet. Ich glaube aber nicht, dass ein symmetrischer 102er existiert. Ich habe ja monatelang alleine an 102ern getüftelt. Die Graphen, die ich hier gepostet habe, waren daher nur die Spitze des Eisbergs, alle anderen wollten nicht funktionieren. Und die, die fast richtig waren, sind alle asymmetrisch. Vielleicht wäre ein größerer mit 53, 55, 56, 58, 59, 61 oder 62 Knoten als symmetrischer Graph möglich. Wir könnten ja einen mit 62 in Angriff nehmen, da sehe ich die besten Chancen.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2146, eingetragen 2021-12-07
|
ich glaubs ja auch nicht sicher das es ihn gibt, aber mal im ernst hattest du einen einzigen doppeltsymetrischen 102er versuch dabei der einen punkt in der mitte hatte? fals nein dann könnte es ja genau daran gelegen haben weil stefan das als voraussetzung erruiert haben mag...
mir geht es aber z.Z. nur ums üben, um irgendwann mal damit spielerisch irgend etwas machen zu können, also ansprüche runter irgend etwas zeichnen?
heute aber besser nichtmehr
haribo
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2147, eingetragen 2021-12-08
|
neuer tag, neues glück
also immer noch zum üben diesen hier, den hab ich mir vorher konventionel zurechtgelegt, möchte ihn also im program überprüfen, das es ein 4/3 wird soll jetzt keine rolle spielen, er hat dann auch nur 94 kanten, auch darum soll es grad nicht gehen:
15 Knoten, 4×Grad 2, 2×Grad 3, 9×Grad 4, 0 Überschneidungen,
25 Kanten, minimal 0.99999999999999900080, maximal 1.00000000000000022204, Einsetzkanten=Beweglichkeit-2,
$
%Eingabe war:
%
%Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%P[1]=[-28.979355717698667,277.65289642808057]; P[2]=[-60.59475818753964,201.32645460378208]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(15,6,3); M(16,15,3,gruenerWinkel); A(10,16); M(12,16,10,orangerWinkel); L(13,16,12);
%R(10,16);
%
%
%
%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.86007018391355538611,1.16713337309563924826}} % 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 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
10 16 \\
11 9 \\
11 10 \\
12 16 \\
13 16 \\
13 12 \\
14 14 \\
15 6 \\
15 3 \\
16 15 \\
},
%
% 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 0.76536593691460608202 1.84775944933609426180 \\
2 0.38268296845730320754 0.92387972466804690885 \\
3 1.37412776428985616839 1.05440641472240703713 \\
4 0.99144479583255318289 0.13052669005435979521 \\
5 0.00000000000000000000 0.00000000000000000000 \\
6 1.55878821293713754059 1.23908786965520767431 \\
7 1.68920212549112358502 2.23054750645963206779 \\
8 2.48262440151365471053 1.62187592677874592439 \\
9 2.61303831406764075496 2.61333556358316965174 \\
10 3.40646059009017143637 2.00466398390228350834 \\
11 3.53687450264415748080 2.99612362070670723568 \\
12 3.35645277780588724426 0.29902950806523842520 \\
13 3.86006148109950641967 1.16296137688761258566 \\
14 3.96 0 0 \\
15 2.16755004031238840412 0.44573483504152094925 \\
16 2.86007018391355538611 1.16713337309563924826 \\
};
% ===================================
% 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
2 1 6 0.5 Blue {} 1.5 \\
3 15 16 0.45 Green {} 1.5 \\
10 16 12 0.45 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,very thick] (P10) -- (P16);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
möchte ich jetzt doppelt spiegeln über 11-12 und 5-12
wie geht das?
12 soll dann in der mitte sein,
und ich versuch in diesem beitrag zu bleiben...
55 Knoten, 2×Grad 2, 53×Grad 4, 0 Überschneidungen, Gesamtfläche=29.99, 36·3+7·4+10·5+1·6+1*24 Drei-, Vier-, Fünfecke…
108 Kanten, minimal 0.99999974322358287093, maximal 1.00000125528957939380, Einsetzkanten=Beweglichkeit+1,
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%
%P[1]=[-30.8805209971324,287.8732291372522]; P[2]=[-54.38868384847234,210.1063401733789]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(15,6,3); M(12,15,3,195.4219764168611) ; L(100,15,12); Q(16,10,15,D,ab(100,15,12,"gedreht")); N(13,12,4); M(55,5,2,218.6390707740027) ; L(101,5,55); M(54,55,5,185) ; L(102,55,54); Q(56,101,55,D,ab(102,55,54,"gedreht")); Q(57,13,5,D,ab(101,5,54,55,56,"gedreht")); M(14,12,13,gruenerWinkel); M(27,14,12,216.65061860555312) ; L(103,14,27); Q(28,16,14,D,ab(103,14,27,"gedreht")); M(25,11,9,143.950870625723); M(23,25,11,184.9999999999997); M(17,23,25,185.00000000000009); L(104,17,23); L(106,104,23); Q(24,23,25,ab(106,23,17,104,"gedreht"),D); L(105,24,25); Q(26,25,11,ab(105,25,17,104,23,24,"gedreht"),D); Q(22,11,27,ab(104,11,17,23,24,25,26,"gedreht"),D); A(26,28); M(18,17,22,orangerWinkel); L(19,18,17); L(20,18,19); L(21,18,20); A(19,27); N(29,20,14); M(58,54,55,vierterWinkel); L(59,58,54); L(60,58,59); L(61,60,59); L(62,60,61); L(63,62,61); N(66,56,58); M(64,66,56,174.57804077534587); L(107,64,66); Q(67,66,62,ab(107,66,64,"gedreht"),D); A(13,64); M(65,64,13,fuenfterWinkel); A(29,65); M(78,65,29,324.97413971192606); L(108,78,65); Q(79,65,67,ab(108,65,78,"gedreht"),D); M(76,63,61,226.04915640352542) ; M(74,76,63,184.99999999999994) ; M(68,74,76,185) ; L(109,74,68); L(111,74,109); Q(75,76,74,D,ab(111,74,68,109,"gedreht")); L(110,76,75); Q(77,63,76,D,ab(110,76,68,109,74,75,"gedreht")); Q(73,78,63,D,ab(109,63,68,74,75,76,77,"gedreht")); A(77,79); M(69,68,73,297.3814109004229) ; L(70,68,69); L(112,70,69); L(72,112,69); Q(71,29,68,D,ab(112,68,69,70,72,"gedreht")); A(70,78);
%R(13,64);
%R(29,65);
%R(26,28);
%R(70,78);
%R(19,27);
%R(77,79);
%
%
%
%Ende der Eingabe.
\usetikzlibrary{spy}
\tikzset{SpyStyle/.style={spy using outlines={rectangle, magnification=3, width=2cm, height=2cm, connect spies, blue!70!black}}}
\begin{tikzpicture}[SpyStyle,draw=grey,font=\sffamily\tiny]
\definecolor{Ivory}{rgb}{1.00,1.00,0.94}
\definecolor{MintCream}{rgb}{0.96,1.00,0.98}
\definecolor{Snow}{rgb}{1.00,0.98,0.98}
\definecolor{WhiteSmoke}{rgb}{0.96,0.96,0.96}
%Koordinaten als \coordinate (p-1) at (0,0);
\foreach \i/\x/\y in {
1/0.57871681366848348738/4.96198068400865199834,
2/0.28935840683424179920/4.00475985661596034504,
3/1.26301516380499312397/4.23277853919526059201,
4/0.97365675697075126926/3.27555771180256849462,
5/0.00000000000000000000/3.04753902922326869174,
6/1.36877769312358221754/4.34895229416472695050,
7/1.50464541224194259250/5.33967928123108137584,
8/2.29470629169704176675/4.72665089138715543982,
9/2.43057401081540191967/5.71737787845350897697,
10/3.22063489027050087188/5.10434948860958392913,
11/3.35650260938886058071/6.09507647567593657811,
12/2.94099724704581344525/3.15975456690763989442,
13/1.94731340813797082490/3.04753857743478118181,
14/3.94085613334019679854/3.17655359956300031854,
15/2.05307604326009274232/3.61975014935133554417,
16/2.89540450517781255968/4.15871467716678200333,
17/6.19547146935908710219/5.12540858813950794826,
18/6.51708665385705199213/4.17853812545712965942,
19/5.53626518683200430360/4.37344643678026212541,
20/5.85788037132996919354/3.42657597409788472476,
21/6.83870183835501599390/3.23166766277475181468,
22/5.44239098475053761916/4.46748018496653021003,
23/5.24914851603567722549/5.44863121731832134031,
24/4.49606803142712951882/4.79070281414533827302,
25/4.30282556271226912514/5.77185384649712940330,
26/3.54974507810372008620/5.11392544332414633601,
27/4.78318459525791706000/3.71551812737844677770,
28/3.89526339147219591297/4.17551370982214287153,
29/4.93249883141246403540/3.04753902922323627322,
54/0.57871592534433546895/1.13309710590648982098,
55/0.28935796267216845612/2.09031806756487936738,
56/1.26301461383938762317/1.86229893319709094435,
57/0.97365665116721999972/2.81951989485548093484,
58/1.36877709483827669779/1.74612512195295543904,
59/1.50464434521912004961/0.75539807060432628827,
60/2.29470551471306105640/1.36842608665079201735,
61/2.43057276509390440822/0.37769903530216308862,
62/3.22063393458784563705/0.99072705134862881771,
63/3.35650118496868810070/0.00000000000000000000,
64/2.94099721072067721295/2.93532210007279603659,
65/3.94085611493052567766/2.91852413375894004233,
66/2.05307578333332996223/2.47532694924355523014,
67/2.89540398326278047847/1.93636201197619350900,
68/6.19547008764578954754/0.96966776250031738726,
69/6.51708568606583238392/1.91653808458931251835,
70/5.53626413383718762873/1.72163020202990613150,
71/5.85787973225722957693/2.66850052411890148463,
72/6.83870128448587522030/2.86340840667830853761,
73/5.44238963201424130744/1.62759619884106521148,
74/5.24914712008675632404/0.64644517500021059231,
75/4.49606666445520986031/1.30437361134095919368,
76/4.30282415252772132419/0.32322258750010524064,
77/3.54974369689617530454/0.98115102384085428611,
78/4.78318431485997663799/2.37955919649157721096,
79/3.89526288747262849910/1.91956404566233729270}
\coordinate (p-\i) at (\x,\y);
%Innenflächen als \filldraw[yellow,shift={+(0.1,0.1)}] (p-1) -- (p-2) -- (p-3) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-1) -- (p-2) -- (p-3) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-2) -- (p-4) -- (p-3) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-2) -- (p-5) -- (p-4) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-1) -- (p-3) -- (p-15) -- (p-6) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-1) -- (p-6) -- (p-7) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-6) -- (p-8) -- (p-7) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-7) -- (p-8) -- (p-9) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-10) -- (p-11) -- (p-9) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-10) -- (p-9) -- (p-8) -- cycle;
\filldraw[fill=Snow,line width=0] (p-10) -- (p-16) -- (p-28) -- (p-26) -- (p-11) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-12) -- (p-16) -- (p-15) -- cycle;
\filldraw[fill=Snow,line width=0] (p-12) -- (p-15) -- (p-3) -- (p-4) -- (p-13) -- cycle;
\filldraw[fill=Snow,line width=0] (p-13) -- (p-57) -- (p-56) -- (p-66) -- (p-64) -- cycle;
\filldraw[fill=Ivory,line width=0] (p-12) -- (p-13) -- (p-64) -- (p-65) -- (p-29) -- (p-14) -- cycle;
\filldraw[fill=Snow,line width=0] (p-10) -- (p-8) -- (p-6) -- (p-15) -- (p-16) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-12) -- (p-14) -- (p-28) -- (p-16) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-17) -- (p-19) -- (p-18) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-17) -- (p-22) -- (p-27) -- (p-19) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-18) -- (p-19) -- (p-20) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-18) -- (p-20) -- (p-21) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-17) -- (p-23) -- (p-22) -- cycle;
\filldraw[fill=Snow,line width=0] (p-22) -- (p-24) -- (p-26) -- (p-28) -- (p-27) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-23) -- (p-25) -- (p-24) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-22) -- (p-23) -- (p-24) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-11) -- (p-26) -- (p-25) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-24) -- (p-25) -- (p-26) -- cycle;
\filldraw[fill=Snow,line width=0] (p-14) -- (p-29) -- (p-20) -- (p-19) -- (p-27) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-14) -- (p-27) -- (p-28) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-54) -- (p-56) -- (p-55) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-54) -- (p-58) -- (p-66) -- (p-56) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-13) -- (p-4) -- (p-5) -- (p-57) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-5) -- (p-55) -- (p-57) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-55) -- (p-56) -- (p-57) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-54) -- (p-59) -- (p-58) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-58) -- (p-59) -- (p-60) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-59) -- (p-61) -- (p-60) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-60) -- (p-61) -- (p-62) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-61) -- (p-63) -- (p-62) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-64) -- (p-67) -- (p-79) -- (p-65) -- cycle;
\filldraw[fill=Snow,line width=0] (p-58) -- (p-60) -- (p-62) -- (p-67) -- (p-66) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-64) -- (p-66) -- (p-67) -- cycle;
\filldraw[fill=Snow,line width=0] (p-62) -- (p-63) -- (p-77) -- (p-79) -- (p-67) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-68) -- (p-73) -- (p-74) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-68) -- (p-69) -- (p-70) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-69) -- (p-71) -- (p-70) -- cycle;
\filldraw[fill=Snow,line width=0] (p-29) -- (p-65) -- (p-78) -- (p-70) -- (p-71) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-69) -- (p-72) -- (p-71) -- cycle;
\filldraw[fill=MintCream,line width=0] (p-68) -- (p-70) -- (p-78) -- (p-73) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-73) -- (p-75) -- (p-74) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-74) -- (p-75) -- (p-76) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-75) -- (p-77) -- (p-76) -- cycle;
\filldraw[fill=Snow,line width=0] (p-73) -- (p-78) -- (p-79) -- (p-77) -- (p-75) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-63) -- (p-76) -- (p-77) -- cycle;
\filldraw[fill=WhiteSmoke,line width=0] (p-65) -- (p-79) -- (p-78) -- cycle;
%gefüllte Winkel als \fill[red!20] (p-1) -- +(0:0.3 cm) arc (0:60:0.3 cm) -- cycle;
%Punkte als \fill[red] (p-1) circle (1.125pt)
\foreach \i in {1,...,29,54,...,79}
\fill[red] (p-\i) circle (1.125pt);
%einzustellende Kanten als \draw[green] (p-1) -- (p-2);
%Kanten als \draw[line width=0] (p-1) -- (p-2);
\foreach \i/\j in {
2/1,
3/1, 3/2,
4/3, 4/2,
5/4, 5/2,
6/1,
7/1, 7/6,
8/7, 8/6,
9/7, 9/8,
10/9, 10/8,
11/9, 11/10,
12/15,
13/12, 13/4, 13/64,
14/12,
15/6, 15/3,
16/10, 16/12, 16/15,
17/23,
18/17,
19/18, 19/17, 19/27,
20/18, 20/19,
21/18, 21/20,
22/17, 22/23, 22/27,
23/25,
24/23, 24/22, 24/25,
25/11,
26/24, 26/25, 26/11, 26/28,
27/14,
28/16, 28/14, 28/27,
29/20, 29/14, 29/65,
54/55,
55/5,
56/57, 56/54, 56/55,
57/13, 57/5, 57/55,
58/54,
59/58, 59/54,
60/58, 60/59,
61/60, 61/59,
62/60, 62/61,
63/62, 63/61,
64/66,
65/64,
66/56, 66/58,
67/64, 67/66, 67/62,
68/74,
69/68,
70/68, 70/69, 70/78,
71/29, 71/69, 71/70,
72/71, 72/69,
73/78, 73/68, 73/74,
74/76,
75/76, 75/74, 75/73,
76/63,
77/63, 77/75, 77/76, 77/79,
78/65,
79/65, 79/78, 79/67}
\draw[line width=0] (p-\i) -- (p-\j);
%nicht passende Kanten als \draw[magenta,ultra thick,dash pattern=on 0.01cm off 0.09cm] (p-1) -- (p-2);
%Winkel als \draw[->,red] (p-1) +(0:0.3 cm) arc (0:60:0.3 cm);
%Punktnummern als \node[anchor=30] (P1) at (p-1) {1};
\foreach \i/\a in {
1/103,
2/163,
3/43,
4/283,
5/137,
6/232,
7/52,
8/352,
9/52,
10/292,
11/131,
12/303,
13/96,
14/243,
15/183,
16/63,
17/79,
18/79,
19/139,
20/199,
21/319,
22/311,
23/131,
24/311,
25/131,
26/191,
27/3,
28/123,
29/85,
54/257,
55/197,
56/17,
57/77,
58/68,
59/308,
60/68,
61/308,
62/68,
63/229,
64/57,
65/117,
66/177,
67/297,
68/349,
69/341,
70/161,
71/161,
72/41,
73/109,
74/289,
75/49,
76/229,
77/109,
78/357,
79/237}
\node[anchor=\a] (P\i) at (p-\i) {\i};
%Vergrößerungen als \spy[rectangle, magnification=3, width=2cm, h eight=2cm, blue!70!black] on (p-18) in node at (2.5 cm,-2);
\spy[] on (p-29) in node at (9,3);
\end{tikzpicture}
$
ok du meinst also es wäre besser ihn dann als regulär zu schliessen und der einfachheit halber sogar ganz neu einzugeben? ich belasse ihn lieber als exakten 4/2er
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2148, vom Themenstarter, eingetragen 2021-12-08
|
Dein letzter mit geschlossenem Rahmen und 3 falschen Kanten. Der ist 4-regulär ohne Überschneidungen, auch wenn es hier anders steht. Liegt an der seltsamen Eingabe.
55 Knoten, 2×Grad 2, 14×Grad 3, 37×Grad 4, 2×Grad 5, 1? Überschneidungen,
102 Kanten, minimal 0.99999999999999711342, maximal 1.00000000000000799361, Einsetzkanten=Beweglichkeit-5,
nicht passende Kanten:
|P56-P58|=1.09649863284936954777
|P19-P27|=1.01257528118861328537
|P26-P28|=0.85251890243362227206
$
%Eingabe war:
%
%Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%
%
%
%P[1]=[173.3840367951522,266.31438162037836]; P[2]=[139.5560854804144,172.6950464802142]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(15,6,3); M(12,15,3,195.08652421220455) ; L(79,15,12); Q(16,10,15,D,ab(79,15,12,"gedreht")); N(13,12,4); M(33,5,2,218.53056078123535) ; L(80,5,33); M(32,33,5,184.99999999999997) ; L(81,33,32); Q(34,80,33,D,ab(81,33,32,"gedreht")); Q(35,13,5,jum(gruenerWinkel)*D,ab(80,5,32,33,34,"gedreht")); M(14,12,13,orangerWinkel); M(27,14,12,216.06557401690185) ; L(82,14,27); Q(28,16,14,D,ab(82,14,27,"gedreht")); M(25,11,9,143.95101120019334); M(23,25,11,184.9999999999998); M(17,23,25,185.00000000000017); L(83,17,23); L(85,83,23); Q(24,23,25,ab(85,23,17,83,"gedreht"),D); L(84,24,25); Q(26,25,11,ab(84,25,17,83,23,24,"gedreht"),D); Q(22,11,27,ab(83,11,17,23,24,25,26,"gedreht"),D); A(26,28); M(18,17,22,vierterWinkel); L(19,18,17); L(20,18,19); L(21,18,20); A(19,27); N(31,20,14); M(44,31,14,fuenfterWinkel); M(36,32,33,sechsterWinkel); L(37,36,32); L(38,36,37); L(39,38,37); L(40,38,39); L(41,40,39); N(45,34,36); M(86,45,34,174.91347578779533) ; L(46,86,45); Q(42,13,45,jum(siebenterWinkel)*D,ab(86,45,46,"gedreht")); A(42,44); A(40,46); M(57,44,31,325.96633078291745); L(87,57,44); Q(58,44,46,ab(87,44,57,"gedreht"),D); M(55,41,39,226.04898879980675) ; L(56,41,55); M(53,55,41,184.99999999999997) ; L(89,55,53); M(47,53,89,244.99999999999997) ; L(90,53,47); Q(88,89,53,D,ab(90,53,47,"gedreht")); Q(54,56,55,D,ab(89,55,47,88,53,"gedreht")); Q(52,57,41,D,ab(88,41,47,53,54,55,56,"gedreht")); A(56,58); M(48,47,52,297.12570685405524) ; L(49,47,48); L(91,49,48); L(51,91,48); Q(50,31,47,D,ab(91,47,48,49,51,"gedreht")); A(49,57);
%
%RA(50,21);
%RA(51,20);
%RA(35,13);
%RA(42,13);
%RA(42,44);
%RA(40,46);
%RA(49,57);
%RA(56,58);
%RA(19,27);
%RA(26,28);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(56,58,"LightSlateGrey");
%R(19,27,"LightSlateGrey");
%R(26,28,"LightSlateGrey");
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(56,58,"LightSlateGrey");
%R(19,27,"LightSlateGrey");
%R(26,28,"LightSlateGrey");
%
%
%
%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,19,36,42,44,51}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.91301536248534631568,2.03366796215693890204}} % 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 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 15 \\
13 12 \\
13 4 \\
14 12 \\
15 6 \\
15 3 \\
16 10 \\
16 12 \\
16 15 \\
17 23 \\
18 17 \\
19 18 \\
19 17 \\
20 18 \\
20 19 \\
21 18 \\
21 20 \\
22 17 \\
22 23 \\
22 27 \\
23 25 \\
24 23 \\
24 22 \\
24 25 \\
25 11 \\
26 24 \\
26 25 \\
26 11 \\
27 14 \\
28 16 \\
28 14 \\
28 27 \\
29 29 \\
30 30 \\
31 20 \\
31 14 \\
32 33 \\
33 5 \\
34 35 \\
34 32 \\
34 33 \\
35 5 \\
35 33 \\
36 32 \\
37 36 \\
37 32 \\
38 36 \\
38 37 \\
39 38 \\
39 37 \\
40 38 \\
40 39 \\
41 40 \\
41 39 \\
42 45 \\
43 43 \\
44 31 \\
45 34 \\
45 36 \\
46 42 \\
46 45 \\
47 53 \\
48 47 \\
49 47 \\
49 48 \\
50 31 \\
50 48 \\
50 49 \\
50 21 \\
51 50 \\
51 48 \\
51 20 \\
52 57 \\
52 47 \\
52 53 \\
52 54 \\
53 55 \\
54 56 \\
54 53 \\
54 55 \\
55 41 \\
56 41 \\
56 55 \\
57 44 \\
58 44 \\
58 57 \\
58 46 \\
},
%
% 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 0.67966161979806982707 4.86026548759951282364 \\
2 0.33983080989903469149 3.91977890043127130681 \\
3 1.32423149125477679355 4.09572007965418727338 \\
4 0.98440068135574210206 3.15523349248594620065 \\
5 0.00000000000000000000 2.97929231326303023408 \\
6 1.44350734629483112847 4.21486661394645523160 \\
7 1.62051630320386119699 5.19907585449135822842 \\
8 2.38436202970062227635 4.55367698083830152456 \\
9 2.56137098660965278896 5.53788622138320452137 \\
10 3.32521671310641364627 4.89248734773014781751 \\
11 3.50222567001544415888 5.87669658827505081433 \\
12 2.96429672046759185022 2.96840899090378318448 \\
13 1.96437251184426187045 2.95609732939902958293 \\
14 3.95818490947399359570 3.07880042061449676893 \\
15 2.08807721775153698474 3.45032120600112879316 \\
16 2.94353518977789585520 3.96819344709592725096 \\
17 6.33642193234400696866 4.89316644303150116713 \\
18 6.62671739192051401091 3.93622937814726103767 \\
19 5.65283785411959005529 4.16329466799284730882 \\
20 5.94313331369609709753 3.20635760310860673528 \\
21 6.91701285149702105315 2.97929231326302046412 \\
22 5.58013519156634352214 4.23892614640961262751 \\
23 5.39168984490115210662 5.22100982477935016135 \\
24 4.63540310412348777191 4.56676952815746339809 \\
25 4.44695775745829990910 5.54885320652720359647 \\
26 3.69067101668063290987 4.89461290990531416867 \\
27 4.81364288150035246616 3.59667266170929567082 \\
28 3.93742337878429760067 4.07858487680663994723 \\
29 7.02 0 0 \\
30 7.02 0.1 0 \\
31 4.95736283723188364547 3.03826070328139774546 \\
32 0.63505787839765348579 1.08279514978371937950 \\
33 0.31752893919882679841 2.03104373152337469577 \\
34 1.29750076968734617822 1.83190756843645519147 \\
35 0.97997183048851965737 2.78015615017611050774 \\
36 1.41393003663999961006 1.70997786727114320371 \\
37 1.56765012367749423383 0.72186343318914636402 \\
38 2.34652228191984058014 1.34904615067657007721 \\
39 2.50024236895733498187 0.36093171659457318201 \\
40 3.27911452719968155023 0.98811443408199695071 \\
41 3.43283461423717595196 0.00000000000000000000 \\
42 2.96372722303049140891 2.92017851497138103412 \\
43 7.02 0.2 0 \\
44 3.95737839029463733809 3.03268343839521614669 \\
45 2.07637292792968874977 2.45909028592388256840 \\
46 2.91936419522120171877 1.92116303873310356742 \\
47 6.22239474612834797540 1.10379086359839995168 \\
48 6.56970379881268051747 2.04154158843070376861 \\
49 5.58393332234846884177 1.87344468860349233630 \\
50 5.93124237503280316020 2.81119541343579504300 \\
51 6.91701285149701483590 2.97929231326300536509 \\
52 5.43883108136602633209 1.72510236619934120839 \\
53 5.29254136883129078228 0.73586057573226626438 \\
54 4.50897770406896825079 1.35717207833320796517 \\
55 4.36268799153423358916 0.36793028786613402037 \\
56 3.57912432677191105768 0.98924179046707461094 \\
57 4.80036965758614986299 2.49475619120443603549 \\
58 3.91301536248534631568 2.03366796215693890204 \\
59 7.02 0.30000000000000004 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
2 1 6 0.5 Blue {} 1.5 \\
13 12 14 0.45 Orange {} 1.5 \\
22 17 18 0.5 Violet {} 1.5 \\
14 31 44 0.5 Teal {} 1.5 \\
33 32 36 0.45 Lime {} 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] (P50) -- (P21);
\draw[green,very thick] (P51) -- (P20);
\draw[green,very thick] (P35) -- (P13);
\draw[green,very thick] (P42) -- (P13);
\draw[green,very thick] (P42) -- (P44);
\draw[green,very thick] (P40) -- (P46);
\draw[green,very thick] (P49) -- (P57);
\draw[red,very thick] (P56) -- (P58);
\draw[red,very thick] (P19) -- (P27);
\draw[red,very thick] (P26) -- (P28);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2149, vom Themenstarter, eingetragen 2021-12-08
|
Hier noch mal meine neue Eingabe mit geschlossenem Rahmen.
54 Knoten, 54×Grad 4, 0 Überschneidungen,
108 Kanten, minimal 0.91996823124741733402, maximal 1.00000000000000799361, Einsetzkanten=Beweglichkeit+3,
nicht passende Kanten:
|P14-P41|=0.91996823124741800015
|P28-P54|=0.91996823124741733402
$
%Eingabe war:
%
%Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%P[1]=[176.87669037420991,260.8466953626293]; P[2]=[146.5847283717,167.92334768131457]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(12,6,3); M(13,12,3,gruenerWinkel); M(14,13,10,orangerWinkel);
%M(15,4,5,vierterWinkel);
%
%RA(10,13); RA(12,14);
%
%A(5,15,ab(5,15,[1,15],"gespiegelt"));
%
%RA(15,14);
%
%A(11,25,ab(11,25,[1,28],"gespiegelt"));
%
%RA(13,40); RA(14,41);
%
%RA(15,28); RA(28,54); RA(54,42); RA(27,53);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(14,41,"LightSlateGrey");
%R(15,28,"LightSlateGrey");
%R(28,54,"LightSlateGrey");
%R(54,42,"LightSlateGrey");
%R(27,53,"LightSlateGrey");
%
%
%
%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,20,28,31,47,54}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.87435326102915533752,2.92479787634848609201}} % 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 \\
3 1 \\
3 2 \\
4 3 \\
4 2 \\
5 4 \\
5 2 \\
5 17 \\
5 19 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
10 13 \\
11 9 \\
11 10 \\
11 37 \\
11 38 \\
12 6 \\
12 3 \\
12 14 \\
13 12 \\
13 40 \\
14 13 \\
14 41 \\
15 4 \\
15 19 \\
15 14 \\
15 28 \\
16 16 \\
17 16 \\
18 16 \\
18 17 \\
19 17 \\
19 18 \\
20 16 \\
21 16 \\
21 20 \\
22 20 \\
22 21 \\
23 21 \\
23 22 \\
24 22 \\
24 23 \\
24 27 \\
25 23 \\
25 24 \\
25 50 \\
25 51 \\
26 18 \\
26 20 \\
26 28 \\
27 26 \\
27 53 \\
28 27 \\
28 54 \\
29 29 \\
30 29 \\
31 29 \\
31 30 \\
32 30 \\
32 31 \\
33 30 \\
33 32 \\
33 44 \\
33 46 \\
34 29 \\
35 29 \\
35 34 \\
36 34 \\
36 35 \\
37 35 \\
37 36 \\
38 36 \\
38 37 \\
38 40 \\
39 31 \\
39 34 \\
39 41 \\
40 39 \\
41 40 \\
42 32 \\
42 41 \\
42 46 \\
43 43 \\
44 43 \\
45 43 \\
45 44 \\
46 44 \\
46 45 \\
47 43 \\
48 43 \\
48 47 \\
49 47 \\
49 48 \\
50 48 \\
50 49 \\
51 49 \\
51 50 \\
51 53 \\
52 45 \\
52 47 \\
52 54 \\
53 52 \\
54 53 \\
54 42 \\
},
%
% 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 0.61987233114394857392 4.89426160001572529978 \\
2 0.30993616557197428696 3.94350423177157560772 \\
3 1.28828428209263123883 4.15047032295678164360 \\
4 0.97834811652065700738 3.19971295471263150745 \\
5 0.00000000000000000000 2.99274686352742635975 \\
6 1.40063338133473558322 4.26943187720720018774 \\
7 1.55137126923111456911 5.25800564236210110636 \\
8 2.33213231942190146739 4.63317591955357510614 \\
9 2.48287020731828089737 5.62174968470847602475 \\
10 3.26363125750906757361 4.99691996189995091271 \\
11 3.41436914540544655949 5.98549372705485183133 \\
12 2.06904533228341813711 3.52564060014825431111 \\
13 2.91436914540544522723 4.05989489443968754045 \\
14 2.95438502978173689328 3.06069585070636529522 \\
15 1.95669623304131423680 2.99274686352742591566 \\
16 0.61987233114394768574 1.09123212703912719768 \\
17 0.30993616557197400940 2.04198949528327666769 \\
18 1.28828428209263057269 1.83502340409807107591 \\
19 0.97834811652065722942 2.78578077234222076797 \\
20 1.40063338133473536118 1.71606184984765275381 \\
21 1.55137126923111345889 0.72748808469275028088 \\
22 2.33213231942190057921 1.35231780750127605906 \\
23 2.48287020731827912101 0.36374404234637530697 \\
24 3.26363125750906668543 0.98857376515490014146 \\
25 3.41436914540544567132 0.00000000000000000000 \\
26 2.06904533228341858120 2.45985312690659707613 \\
27 2.91436914540544522723 1.92559883261516451292 \\
28 2.95438502978173778146 2.92479787634848609201 \\
29 6.20886595966694443405 4.89426160001572263525 \\
30 6.51880212523892232923 3.94350423177157738408 \\
31 5.54045400871826032585 4.15047032295678075542 \\
32 5.85039017429023555650 3.19971295471263106336 \\
33 6.82873829081089578352 2.99274686352742635975 \\
34 5.42810490947615775781 4.26943187720719841138 \\
35 5.27736702157977877192 5.25800564236210021818 \\
36 4.49660597138899298386 4.63317591955357510614 \\
37 4.34586808349261310980 5.62174968470847602475 \\
38 3.56510703330182643356 4.99691996189995091271 \\
39 4.75969295852747453779 3.52564060014825431111 \\
40 3.91436914540544922403 4.05989489443968754045 \\
41 3.87435326102915400526 3.06069585070636529522 \\
42 4.87204205776957799401 2.99274686352742413931 \\
43 6.20886595966694976312 1.09123212703912719768 \\
44 6.51880212523891788834 2.04198949528327622360 \\
45 5.54045400871826299039 1.83502340409806996568 \\
46 5.85039017429023466832 2.78578077234221943570 \\
47 5.42810490947615686963 1.71606184984765142154 \\
48 5.27736702157977877192 0.72748808469275083599 \\
49 4.49660597138899387204 1.35231780750127672519 \\
50 4.34586808349262021522 0.36374404234637675026 \\
51 3.56510703330182643356 0.98857376515490136271 \\
52 4.75969295852747276143 2.45985312690659529977 \\
53 3.91436914540544922403 1.92559883261516406883 \\
54 3.87435326102915533752 2.92479787634848609201 \\
55 6.93 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
2 1 6 0.5 Blue {} 1.5 \\
3 12 13 0.45 Green {} 1.5 \\
10 13 14 0.45 Orange {} 1.5 \\
5 4 15 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,very thick] (P10) -- (P13);
\draw[green,very thick] (P12) -- (P14);
\draw[green,very thick] (P15) -- (P14);
\draw[green,very thick] (P13) -- (P40);
\draw[red,very thick] (P14) -- (P41);
\draw[green,very thick] (P15) -- (P28);
\draw[red,very thick] (P28) -- (P54);
\draw[green,very thick] (P54) -- (P42);
\draw[green,very thick] (P27) -- (P53);
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2150, vom Themenstarter, eingetragen 2021-12-08
|
...und schon gehört er zu unseren besten Approximationen 😎
54 Knoten, 54×Grad 4, 0 Überschneidungen,
108 Kanten, minimal 0.99999999999999844569, maximal 1.00775767458498988205, Einsetzkanten=Beweglichkeit+3,
nicht passende Kanten:
|P26-P18|=1.00775767458498988205
|P39-P31|=1.00775767458498966000
$
%Eingabe war:
%
%[101,281]
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%P[25]=[450,-217.49950261790622]; P[23]=[358.9588967914035,-181.94856686614736]; D=ab(25,23); A(23,25); L(24,23,25); L(22,23,24); L(21,23,22); L(20,21,22); L(16,21,20); M(18,16,21,blauerWinkel); L(17,16,18); L(19,17,18); L(5,17,19); M(4,5,17,gruenerWinkel); L(2,5,4); L(3,2,4); L(1,2,3); M(7,1,2,orangerWinkel); L(6,7,1); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); M(38,11,9,vierterWinkel); L(37,11,38); L(36,37,38); L(35,37,36); L(34,35,36); L(29,35,34); M(31,29,35,fuenfterWinkel); L(30,29,31); L(32,30,31); L(33,30,32); Q(43,33,25,2*D,3*D); A(43,25); H(50,25,43,3); A(50,25); L(51,25,50); A(43,33); H(44,33,43,2); A(44,33); L(46,44,33); A(44,43); L(45,43,44); A(45,46); H(48,25,43,3/2); A(50,48); L(49,50,48); A(51,49); A(48,43); L(47,48,43); A(49,47); N(15,4,19); N(42,46,32); N(52,47,45); M(53,51,49,sechsterWinkel); M(40,38,11,siebenterWinkel); M(39,34,35,achterWinkel); M(27,24,23,neunterWinkel); M(26,20,21,zehnterWinkel); M(13,10,9,elfterWinkel); M(12,3,2,zwoelfterWinkel); L(14,13,12); L(28,26,27); L(41,39,40); L(54,53,52);
%A(53,52); R(53,52,"green");
%A(39,40); R(39,40,"green");
%A(26,27); R(26,27,"green");
%A(12,13); R(12,13,"green");
%A(41,42); R(41,42,"green");
%A(14,15); R(14,15,"green");
%A(13,40); R(13,40,"green");
%A(28,15); R(28,15,"green");
%A(54,42); R(54,42,"green");
%A(41,14); R(41,14,"green");
%A(54,28); R(54,28,"green");
%A(27,53); R(27,53,"green");
%RA(39,31); RA(26,18); RA(12,6);
%
%
%
%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,20,28,31,47,54}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.96274065395424424096,2.90776668666422866139}} % 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 2 \\
1 3 \\
2 5 \\
2 4 \\
3 2 \\
3 4 \\
4 5 \\
5 17 \\
5 19 \\
6 7 \\
6 1 \\
7 1 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 3 \\
12 13 \\
12 6 \\
13 10 \\
13 40 \\
14 13 \\
14 12 \\
14 15 \\
15 4 \\
15 19 \\
16 21 \\
16 20 \\
17 16 \\
17 18 \\
18 16 \\
19 17 \\
19 18 \\
20 21 \\
20 22 \\
21 23 \\
21 22 \\
22 23 \\
22 24 \\
23 25 \\
24 23 \\
24 25 \\
25 25 \\
26 20 \\
26 27 \\
26 18 \\
27 24 \\
27 53 \\
28 26 \\
28 27 \\
28 15 \\
29 35 \\
29 34 \\
30 29 \\
30 31 \\
31 29 \\
32 30 \\
32 31 \\
33 30 \\
33 32 \\
34 35 \\
34 36 \\
35 37 \\
35 36 \\
36 37 \\
36 38 \\
37 11 \\
37 38 \\
38 11 \\
39 34 \\
39 40 \\
39 31 \\
40 38 \\
41 39 \\
41 40 \\
41 42 \\
41 14 \\
42 46 \\
42 32 \\
43 43 \\
44 33 \\
44 43 \\
45 43 \\
45 44 \\
45 46 \\
46 44 \\
46 33 \\
47 48 \\
47 43 \\
48 43 \\
49 50 \\
49 48 \\
49 47 \\
50 25 \\
50 48 \\
51 25 \\
51 50 \\
51 49 \\
52 47 \\
52 45 \\
53 51 \\
53 52 \\
54 53 \\
54 52 \\
54 42 \\
54 28 \\
},
%
% 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 0.68165816539866186385 4.87098010509124001999 \\
2 0.34082908269933093193 3.93085482812740183434 \\
3 1.32541599663956133348 4.10575082264315316394 \\
4 0.98458691394023023502 3.16562554567931497829 \\
5 0.00000000000000000000 2.99072955116356409278 \\
6 1.44454737211590500401 4.22445086501440147941 \\
7 1.62301351495327428331 5.20839691834291063088 \\
8 2.38590272167051731245 4.56186767826607120213 \\
9 2.56436886450788659175 5.54581373159458124178 \\
10 3.32725807122512984293 4.89928449151774270121 \\
11 3.50572421406249912224 5.88323054484625362903 \\
12 2.08830520335680702715 3.45922158256631639972 \\
13 2.94485266003976198235 3.97528984786652017647 \\
14 2.96350715953522803048 2.97546385818202852036 \\
15 1.96360012208903356168 2.96182873934960788631 \\
16 0.62602678516547627385 1.09123212703912564336 \\
17 0.31301339258273824795 2.04098083910134509011 \\
18 1.29202660073154129705 1.83718403277163822018 \\
19 0.97901320814880310461 2.78693274483385744489 \\
20 1.40678783535626306112 1.71606184984765230972 \\
21 1.55752572325264271313 0.72748808469275061395 \\
22 2.33828677344342938937 1.35231780750127694724 \\
23 2.48902466133980881935 0.36374404234637530697 \\
24 3.26978571153059549559 0.98857376515490147373 \\
25 3.42052359942697492556 0.00000000000000000000 \\
26 2.10692949657129124930 2.43006580938223404331 \\
27 2.98213145274971225263 1.94630808499794660804 \\
28 2.96347695325424576041 2.94613407468243826415 \\
29 6.30022102832399699679 4.79199841780712798567 \\
30 6.61323442090673552229 3.84224970574490898301 \\
31 5.63422121275793319484 4.04604651207461518680 \\
32 5.94723460534067083216 3.09629780001239618414 \\
33 6.92624781348947404780 2.89250099368268953626 \\
34 5.51945997813321120873 4.16716869499860109727 \\
35 5.36872209023683133466 5.15574246015350201588 \\
36 4.58796104004604465842 4.53091273734497601566 \\
37 4.43722315214966478436 5.51948650249987693428 \\
38 3.65646210195887810812 4.89465677969135093406 \\
39 4.81931831691818413077 3.45316473546401780936 \\
40 3.94411636073976268335 3.93692245984830657690 \\
41 3.96277086023522828739 2.93709647016381358853 \\
42 4.96264769140043870976 2.92140180549664751908 \\
43 6.24458964809081251701 1.01225043975501360904 \\
44 6.58541873079014283832 1.95237571671885157265 \\
45 5.60083181684991338045 1.77747972220310024305 \\
46 5.94166089954924281358 2.71760499916693820666 \\
47 5.48170044137356970992 1.65877967983185259371 \\
48 5.30323429853619998653 0.67483362650334266508 \\
49 4.54034509181895717944 1.32136286658018176077 \\
50 4.36187894898158745605 0.33741681325167133254 \\
51 3.59898974226434420487 0.98394605332851003965 \\
52 4.83794261013267057336 2.42400896227993989385 \\
53 3.98139515344971250954 1.90794069697973256439 \\
54 3.96274065395424424096 2.90776668666422866139 \\
};
% ===================================
% 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
21 16 18 0.5 Blue {} 1.5 \\
17 5 4 0.5 Green {} 1.5 \\
2 1 7 0.5 Orange {} 1.5 \\
9 11 38 0.5 Violet {} 1.5 \\
35 29 31 0.5 Teal {} 1.5 \\
49 51 53 0.5 Lime {} 1.5 \\
11 38 40 0.45 LightBlue {} 1.5 \\
35 34 39 0.5 LightCoral {} 1.5 \\
23 24 27 0.45 LightCyan {} 1.5 \\
21 20 26 0.5 LightGoldenrodYellow {} 1.5 \\
9 10 13 0.5 LightGreen {} 1.5 \\
2 3 12 0.5 LightGray {} 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] (P53) -- (P52);
\draw[green,very thick] (P39) -- (P40);
\draw[green,very thick] (P26) -- (P27);
\draw[green,very thick] (P12) -- (P13);
\draw[green,very thick] (P41) -- (P42);
\draw[green,very thick] (P14) -- (P15);
\draw[green,very thick] (P13) -- (P40);
\draw[green,very thick] (P28) -- (P15);
\draw[green,very thick] (P54) -- (P42);
\draw[green,very thick] (P41) -- (P14);
\draw[green,very thick] (P54) -- (P28);
\draw[green,very thick] (P27) -- (P53);
\draw[red,very thick] (P39) -- (P31);
\draw[red,very thick] (P26) -- (P18);
\draw[green,very thick] (P12) -- (P6);
\end{tikzpicture}
\end{document}
$
Detail
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_detail_108_approx.png
Neu ist der allerdings nicht, nur besser approximiert. Und hat jetzt ne Point symmetry.
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/8038_108_alt.png
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2151, eingetragen 2021-12-09
|
ja also das wusste ich natürlich nicht dass ich hier wieder ein dinosaurier aus der vorzeit ausgegraben hatte, die verbesserung ist NUR stefans button "besser annähern" geschuldet, und wegen ungeduldigkeit hab ich es noch nichtmlal durchlaufen lassen, da könnte also noch was drin sein
ich hatte nur versucht einen ~102er mit nem punkt in der mitte einzugeben
und dann eben zu nem 4/2er erweitert um progarmieren zu üben, und weil mir diese aproximationen missfallen... klar wenn sie mal in der 4. kommastelle angekommen sind also nicht nur heftstreifen und lego tauglich sind sondern von fasst niemandem, weltweit, mehr entlarvt werden können dann lass ich mit mir reden
also den beste von gestern der noch einen punkt in der mitte hat war dieser, auch nur ein 99hölziger 4/3er, aber wenn man 16-28 wegnimmt (dann passt er mit zwei rechtwinklig über die 90° symetralen laufenden auch ins beutechema 102)dann ist er sehr schön beweglich anzusachauen.... appropo ihr hattet schon mal animierte hier im forum dargestellt, oder? wie könnte das gehen?
51 Knoten, 6×Grad 3, 45×Grad 4, 0 Überschneidungen,
99 Kanten, minimal 0.99999999999998911981, maximal 1.00000000000001132427, Einsetzkanten=Beweglichkeit+0,
einzustellende Kanten, Abstände und Winkel:
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%
%P[1]=[-38.15986242189031,281.13970292970345]; P[2]=[-65.18501153963527,203.06985785459352]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); M(6,1,2,blauerWinkel); L(7,1,6); L(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); N(15,6,3); M(16,10,8,gruenerWinkel); M(73,15,3,193.80041733676828) ; L(40,73,15); Q(13,16,15,D,ab(73,15,40,"gedreht")); M(30,5,2,221.40542790066596) ; M(29,30,5,185) ; L(74,30,29); L(75,30,74); Q(32,5,30,D,ab(75,30,29,74,"gedreht")); Q(31,40,5,D,ab(74,5,29,30,32,"gedreht")); M(25,11,9,orangerWinkel); L(26,25,11); M(23,25,11,185.0000000000001); M(17,23,25,184.99999999999983); L(22,17,23); L(77,22,23); Q(76,23,25,ab(77,23,17,22,"gedreht"),D); Q(24,25,26,ab(76,25,17,22,23,"gedreht"),D); M(12,16,10,vierterWinkel); N(28,26,12); M(78,12,16,152.34359315978162); M(52,12,78,fuenfterWinkel); Q(41,12,13,ab(78,12,52,"gedreht"),D); M(33,29,30,298.5906906332199) ; M(80,33,29,65.00000000000006); L(35,33,80); Q(34,33,29,ab(80,33,35,"gedreht"),D); L(36,35,34); L(79,35,36); L(38,79,36); Q(37,41,29,D,ab(79,29,33,34,35,36,38,"gedreht")); A(33,40); N(39,28,52); M(81,39,28,303.8359291375334) ; L(51,81,39); Q(27,22,39,D,ab(81,39,51,"gedreht")); M(49,38,36,222.0296335963015) ; M(47,49,38,185) ; M(42,47,49,185) ; L(82,47,42); L(84,47,82); Q(48,49,47,D,ab(84,47,42,82,"gedreht")); L(83,49,48); Q(50,38,49,D,ab(83,49,42,82,47,48,"gedreht")); Q(46,51,38,D,ab(82,38,42,47,48,49,50,"gedreht")); A(50,52); M(18,17,22,73.21818201751707); L(19,18,17); L(20,18,19); L(85,18,20); M(43,42,46,298.59069063321965) ; L(44,42,43); M(86,43,42,185) ; L(87,43,86); Q(45,44,43,D,ab(87,43,86,"gedreht")); Q(21,17,42,ab(85,17,18,19,20,"gedreht"),ab(86,42,43,44,45,"gedreht")); A(19,27); A(44,51);
%R(50,52);
%R(19,27);
%R(33,40);
%R(44,51);
%A(16,28);
%
%
%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,19,33,46,52}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.49638482046311338536,1.96766460144810695354}} % 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 \\
6 1 \\
7 1 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 8 \\
11 9 \\
11 10 \\
12 16 \\
13 16 \\
13 15 \\
14 14 \\
15 6 \\
15 3 \\
16 10 \\
16 28 \\
17 23 \\
18 17 \\
19 18 \\
19 17 \\
19 27 \\
20 18 \\
20 19 \\
21 18 \\
21 20 \\
21 43 \\
22 17 \\
22 23 \\
23 25 \\
24 22 \\
24 23 \\
24 25 \\
24 26 \\
25 11 \\
26 25 \\
26 11 \\
27 22 \\
27 39 \\
28 26 \\
28 12 \\
29 30 \\
30 5 \\
31 40 \\
31 29 \\
31 30 \\
32 5 \\
32 30 \\
32 31 \\
33 29 \\
33 40 \\
34 33 \\
34 29 \\
35 33 \\
35 34 \\
36 35 \\
36 34 \\
37 41 \\
37 35 \\
37 36 \\
38 37 \\
38 36 \\
39 28 \\
39 52 \\
40 13 \\
40 15 \\
41 12 \\
41 13 \\
42 47 \\
43 42 \\
44 42 \\
44 43 \\
44 51 \\
45 44 \\
45 43 \\
45 21 \\
46 51 \\
46 42 \\
46 47 \\
47 49 \\
48 49 \\
48 47 \\
48 46 \\
49 38 \\
50 38 \\
50 48 \\
50 49 \\
50 52 \\
51 27 \\
51 39 \\
52 12 \\
},
%
% 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 0.65424214018756077227 4.78092440845777488789 \\
2 0.32712107009378049716 3.83594197184813090473 \\
3 1.30906040137474022345 4.02513803333858888323 \\
4 0.98193933128095978180 3.08015559672894490006 \\
5 0.00000000000000000000 2.89095953523848692157 \\
6 1.41037040570034366560 4.12650096290235257612 \\
7 1.59905360162709020422 5.10853897213359875451 \\
8 2.35518186713987320857 4.45411552657817644274 \\
9 2.54386506306661974719 5.43615353580942173295 \\
10 3.29999332857940208541 4.78173009025399942118 \\
11 3.48867652450614906812 5.76376809948524471139 \\
12 3.46020832022578606058 2.96701001762340466072 \\
13 2.91253746502471599911 2.83967785242914816379 \\
14 7.02 0 0 \\
15 2.06518866688752211758 3.37071458778316657146 \\
16 2.96904903833226274656 3.83807979657905073978 \\
17 6.30251694488106561920 4.72343061161685540128 \\
18 6.61033427270525208996 3.77198513620001518731 \\
19 5.63244965676641395902 3.98113024828764627827 \\
20 5.94026698459060220614 3.02968477287080650839 \\
21 6.91815160052944122526 2.82053966078317630561 \\
22 5.53322397715081049085 4.08453443084820211340 \\
23 5.36457013808942750899 5.07020977423965302222 \\
24 4.59527717035917149246 4.43131359347099706980 \\
25 4.42662333129778851060 5.41698893686244975498 \\
26 3.65733036356753293816 4.77809275609379291438 \\
27 4.86315668903620412777 3.34223406751895035782 \\
28 3.96899723632352063873 3.82790132252553405579 \\
29 0.59512629976430997392 0.98155525973032708986 \\
30 0.29756314988215509798 1.93625739748440639509 \\
31 1.27314102916557625456 1.71660357563542964598 \\
32 0.97557787928342021289 2.67130571338950861815 \\
33 1.35095703339549944033 1.63632231914805492679 \\
34 1.54008657359689138389 0.65437017315355250346 \\
35 2.29591730722808096132 1.30913723257127911914 \\
36 2.48504684742947246079 0.32718508657677591867 \\
37 3.24087758106066292640 0.98195214599450308945 \\
38 3.43000712126205353769 0.00000000000000000000 \\
39 4.00517373656084885170 2.82855590635023634860 \\
40 2.02897176279678470578 2.37137063505313516742 \\
41 3.40369674691823931312 1.96860807347350164065 \\
42 6.28428098229607634551 0.92364534655782837280 \\
43 6.60121629141275789721 1.87209250367050183961 \\
44 5.62136930464771111815 1.67234295416548572888 \\
45 5.93830461376439355803 2.62079011127815952875 \\
46 5.54193522738828470153 1.59366234646931048680 \\
47 5.33285636195140178017 0.61576356437188561888 \\
48 4.59051060704361102438 1.28578056428336706674 \\
49 4.38143174160672810302 0.30788178218594347557 \\
50 3.63908598669893779132 0.97789878209742353565 \\
51 4.87902354973990970421 2.34235995407695885007 \\
52 3.49638482046311338536 1.96766460144810695354 \\
};
% ===================================
% 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
2 1 6 0.5 Blue {} 1.5 \\
8 10 16 0.5 Green {} 1.5 \\
9 11 25 0.5 Orange {} 1.5 \\
10 16 12 0.45 Violet {} 1.5 \\
78 12 52 0.5 Teal {} 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] (P50) -- (P52);
\draw[green,very thick] (P19) -- (P27);
\draw[green,very thick] (P33) -- (P40);
\draw[green,very thick] (P44) -- (P51);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2152, vom Themenstarter, eingetragen 2021-12-09
|
\quoteon(2021-12-09 11:33 - haribo in Beitrag No. 2151)
ich hatte nur versucht einen ~102er mit nem punkt in der mitte einzugeben
und dann eben zu nem 4/2er erweitert um progarmieren zu üben, und weil mir diese aproximationen missfallen... klar wenn sie mal in der 4. kommastelle angekommen sind also nicht nur heftstreifen und lego tauglich sind sondern von fasst niemandem, weltweit, mehr entlarvt werden können dann lass ich mit mir reden
\quoteoff
Ich weiß, dass es dir eigentlich nur um Üben ging 🙂. Wir sind ja bereits bei 2 richtigen Nachkommastellen angekommen. Heftstreifen und Lego sind da schon weit außen vor. Und ich denke, dass bereits bei 2 richtigen Nachkommastellen niemand einen asymmetrischen 51er entlarven könnte ohne großen technischen Aufwand. Doch in einer Veröffentlichung müssten wir ja selbst einen Beweis für die Korrektheit liefern, sonst bliebe es bei einer Vermutung.
\quoteon(2021-12-09 11:33 - haribo in Beitrag No. 2151)
appropo ihr hattet schon mal animierte hier im forum dargestellt, oder? wie könnte das gehen?
\quoteoff
Wenn man einen Winkel neu setzt, wird der Animationsbutton automatisch im Fenster integriert.
z.B.:
Die kann man aber nicht einfach so hier animiert posten. Ich habe das mit einem gratis Tool aufgenommen (AutoScreenRecorder) und dann hier auf YouTube verlinkt. ...wenn ich mich recht erinnere.
In der englischen Version sind ja auch viele Graphen enthalten (schweine Arbeit war das 😎). Auch die ganzen Approximationen der noch offenen Knotenzahlen. Die sind aber alle noch nicht besser angenähert. Das hatte ich nur mit den 51ern gemacht. Aber zum Üben und zum Finden neuer Ideen sind die alle gut, da man ja einfach den vorhandenen und sehr sauberen Code nutzen und ändern kann.
Gruß, Slash
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2153, eingetragen 2021-12-09
|
hy hier also ein versuch des ausschlusses: warum es keinen doppelt symetrischen 102er geben mag
-obiges würde bedeuten dass vier gespiegelte jeweils im 90° winkel wären
bei 102 hölzern hat man im 90°winkel 102/4=25.5 unterzubringen
-laut stefan braucht er 2 (od 6..10) quer über die grenze laufende hölzer, und einen punkt im mittelpunkt, damit sind 1,5 hölzer vergeben(blau) bleiben noch 24 hölzer
-laut aller unserer erfahrung braucht er einen rahmen aus 2er oder 3er randteilen
-zwei zweier rahmen fallen aus.. das ist hinlänglich untersucht
also mindestens einen zweier und einen dreier, damit sind weitere 7+11=18 hölzer(rot) vergeben, bleiben noch 6
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/35059_st102-ausschluss.jpg
- alle vier inneren dreierecken der rahmen benötigen jeweils ein eigenes holz, keine zwei davon kann man direkt verbinden, diese hölzer können auch nicht über die symetrilinen laufen, denn dann würde der randträger auch durchlaufen und es weitere randträger im 90° winkel benötigen um überschneidungen zu vermeiden, diese 4 hölzer(gelb) bleiben also alle im 90° winkel , sind noch 2 über
- jetzt hat man evtl noch mehr varianten... aber meine erfahrung sagt mir dass man die alle vollständig abarbeiten könnte
- die linken drei gelben können nicht im selben punkt aufeinander treffen, dann würden sich die randrahmen berühren
- also muss der zweite gelbe von links entweder seinen linken oder rechten nachbarn treffen, weil es für die 4 gelben freien enden nicht genügend (4 x drei wäre zwölf) anschluss elemente mehr gibt,
- diese beiden zusammengekommenen können nicht auf der symetrielinie liegen, denn dann wäre der randträger auch drauf oder drüber
- also liegen sie frei im feld und binden die 2 letzten hölzer (schwarz) ein,
- damit sind alle 25,5 hölzer vergeben !!!
spielt man mit diesem konstrukt herum dann zeigt sich dass auch das erste halbe holz (blau)(welches über die sym linie gehen muss)nicht an einen randrahmen stossen kann (der würde dadurch wieder überschneidungen hervorrufen) also wohl nur ans andere blaue holz anschliessen kann
da hat man jetzt zwei richtungen als möglichkeit und bildet damit einen blauen zweierknoten
- daran kann muss oder will ein schwarzes und ein gelbes anschliessen (möglicherweise sind das nochmals 2..3..od..4 varianten)
ich halte nur eine für möglich, das wäre aber noch zu konkretisieren
- damit hat man noch ein schwarzes und ein gelbes holz einseitig frei... und davon hat maximal ein ende eine anschlussmöglichkeit
-geht eins der hölzer dabei über eine sym-linie dann ist es der ausschluss für 100=4 x 25 hölzer(das ist mir wohl hier passiert...)
ich werde das obige bild demnächst noch versuchen mit den weiteren varianten zu erweitern
das gleiche könnte man auch für 100;98;96;94;90;ff versuchen, aber 102+100 sind die wichtigsten
danach bleiben dann nur nur nur noch die dreifach, also 3 x 120° winkel oder einfachsymetrische najagut auch unsymetrischen bleiben noch als harborth unterbieter
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2154, vom Themenstarter, eingetragen 2021-12-09
|
Es können ja auch einzelne Dreiecke im Rahmen über den Symmetrieachsen liegen. Wir könnten ja mal wirklich alle Rahmenviertelstücke, auch Symmetrieachsenüberschreitend, zusammentragen. Das käme einem echten Beweis schon nahe. Nächster Schritt wäre dann die Füllung.
Und wie von dir vorgeschlagen konzentrieren wir uns auf 102 Kanten. Wenn wir damit einen Beweis konstruieren können, dann können wir ihn bestimmt auch verallgemeinern.
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2155, eingetragen 2021-12-09
|
wenn ein dreieck über die sym linie geht und man spiegelt dran, wie soll das gehen?
49 Knoten, 8×Grad 3, 37×Grad 4, 4×Grad 5, 19 Überschneidungen,
96 Kanten, minimal 0.99999999999999500400, maximal 6.90588761650178373230, Einsetzkanten=Beweglichkeit+1,
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[120.70679545432176,-122.49920706904257]; P[2]=[199.99989119822087,-122.49920706904257]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); L(43,3,4); M(6,1,2,blauerWinkel); Q(7,1,6,jum(gruenerWinkel)*D,jum(orangerWinkel)*D); N(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); M(12,11,9,vierterWinkel); L(13,11,12); Q(14,13,12,D,jum(fuenfterWinkel)*D); L(15,13,14); Q(42,14,12,jum(sechsterWinkel)*D,D); M(16,15,13,siebenterWinkel); L(17,15,16); L(18,17,16); L(19,17,18); L(20,19,18); L(21,19,20); M(22,21,19,achterWinkel); L(23,21,22); Q(24,23,22,D,jum(neunterWinkel)*D); Q(41,24,22,jum(zehnterWinkel)*D,D); L(25,23,24); M(26,25,23,elfterWinkel); L(27,25,26); L(28,27,26); L(29,27,28); L(30,29,28); L(31,29,30); M(32,31,29,68.18000000000006); L(33,31,32); L(34,33,32); L(45,34,32); L(70,33,34); M(39,5,2,223.55799826410274) ; M(37,39,5,184.99999999999994) ; M(71,37,39,185.00000000000003) ; L(36,37,71); L(73,37,36); Q(38,39,37,D,ab(73,37,71,36,"gedreht")); L(72,39,38); Q(40,5,39,D,ab(72,39,71,36,37,38,"gedreht")); Q(35,31,5,ab(70,31,32,33,34,45,"gedreht"),ab(71,5,36,37,38,39,40,"gedreht")); M(44,41,22,zwoelfterWinkel); M(74,42,12,169.17618388397386); L(47,74,42); L(46,74,47); A(44,42,ab(74,42,46,47,"gedreht")); M(48,45,32,185.66359531200675); L(49,48,45); L(75,48,49); A(46,45,ab(75,45,48,49,"gedreht")); A(41,49); A(43,47); A(43,48);
%R(42,44); // oder R(42,47);
%R(45,48); // oder R(45,49);
%R(41,49);
%R(43,47);
%R(43,48);
%R(24,22);
%R(7,1);
%R(7,6);
%R(14,12);
%R(41,24);
%R(42,14);
%A(13,33); A(2,23);
%
%
%Ende der Eingabe.
\begin{tikzpicture}[draw=grey,font=\sffamily\scriptsize]
%Koordinaten als \coordinate (p-1) at (0,0);
\foreach \i/\x/\y in {
1/2.52343247254090474740/0.00000000000000035844,
2/3.52343247254090474740/0.00000000000000035844,
3/3.02343247254090519149/0.86602540378443904068,
4/4.02343247254090474740/0.86602540378443881863,
5/4.52343247254090474740/0.00000000000000000000,
6/2.57121643325673865377/0.99885769411778990712,
7/1.68228831502726938751/0.54081097093224494987,
8/1.73007227574310396001/1.53966866505003419086,
9/0.84114415751363447171/1.08162194186448989974,
10/0.88892811822946904421/2.08047963598227925175,
11/0.00000000000000000000/1.62243291279673473859,
12/0.86923698086345757563/2.11682857529730839019,
13/0.00645928718539447774/2.62241205138366373362,
14/0.87569626804885214444/3.11680771388423716317,
15/0.01291857437078895547/3.62239118997059250660,
16/0.93693188651852377102/3.24003089002592936652,
17/0.80605896359537221318/4.23143004175319870086,
18/1.73007227574310684659/3.84906974180853689305,
19/1.59919935281995506671/4.84046889353580755966,
20/2.52321266496769025522/4.45810859359114441958,
21/2.39233974204453847534/5.44950774531841464210,
22/2.89233974204453669898/4.58348234153397449120,
23/3.39233974204453847534/5.44950774531841197756,
24/3.89233974204453625489/4.58348234153397271484,
25/4.39233974204453847534/5.44950774531841020121,
26/4.34455578132870368080/4.45065005120062107125,
27/5.23348389955817250296/4.90869677438616491827,
28/5.18569993884233859660/3.90983908026837578831,
29/6.07462805707180741877/4.36788580345392052351,
30/6.02684409635597173605/3.36902810933613139355,
31/6.91577221458544055821/3.82707483252167568466,
32/6.04653523372198442587/3.33267917002110047875,
33/6.90931292740004909803/2.82709569393474646759,
34/6.04007594653659296569/2.33270003143417081759,
35/6.90285364021465674966/1.82711655534781791665,
36/5.97884032806692378159/2.20947685529248083469,
37/6.10971325099007422921/1.21807770356521172239,
38/5.18569993884233948478/1.60043800350987464043,
39/5.31657286176548993240/0.60903885178260519506,
40/4.39255954961775607615/0.99139915172727155479,
41/3.39233974204453492263/3.71745693774953522848,
42/1.73847396172691492922/2.61122423779788226383,
43/3.52343247254090519149/1.73205080756887763727,
44/2.50913468955445262409/3.24846990673909052916,
45/5.17729825285852918171/2.83828350752052394057,
46/3.44633599122291744976/2.89968097321204121286,
47/2.67567526339537842262/2.26243530427083250345,
48/4.29409320036844199819/2.36929647651008101761,
49/4.32954104371300019238/3.36866800422248324764}
\coordinate (p-\i) at (\x,\y);
%Innenflächen als \filldraw[yellow,shift={+(0.1,0.1)}] (p-1) -- (p-2) -- (p-3) -- cycle;
%gefüllte Winkel als \fill[red!20] (p-1) -- +(0:0.3 cm) arc (0:60:0.3 cm) -- cycle;
%Punkte als \fill[red] (p-1) circle (1.125pt)
\foreach \i in {1,...,49}
\fill[red] (p-\i) circle (1.125pt);
%einzustellende Kanten als \draw[green] (p-1) -- (p-2);
%Kanten als \draw[line width=0] (p-1) -- (p-2);
\foreach \i/\j in {
2/1, 2/23,
3/1, 3/2,
4/3, 4/2,
5/4, 5/2,
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, 13/33,
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,
29/27, 29/28,
30/29, 30/28,
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/36, 38/37,
39/5,
40/5, 40/38, 40/39,
41/24, 41/22, 41/49,
42/14, 42/12,
43/3, 43/4, 43/47, 43/48,
44/41, 44/42,
45/34, 45/32,
46/44, 46/47, 46/48, 46/49,
47/44, 47/42,
48/45,
49/48, 49/45}
\draw[line width=0] (p-\i) -- (p-\j);
%nicht passende Kanten als \draw[magenta,ultra thick,dash pattern=on 0.01cm off 0.09cm] (p-1) -- (p-2);
%Winkel als \draw[->,red] (p-1) +(0:0.3 cm) arc (0:60:0.3 cm);
%Punktnummern als \node[anchor=30] (P1) at (p-1) {1};
\foreach \i/\a in {
1/210,
2/330,
3/150,
4/330,
5/330,
6/357,
7/177,
8/357,
9/177,
10/117,
11/240,
12/240,
13/240,
14/60,
15/188,
16/308,
17/68,
18/8,
19/68,
20/8,
21/150,
22/210,
23/30,
24/30,
25/117,
26/177,
27/57,
28/297,
29/57,
30/237,
31/357,
32/120,
33/300,
34/300,
35/300,
36/68,
37/8,
38/188,
39/308,
40/128,
41/270,
42/360,
43/90,
44/70,
45/358,
46/10,
47/310,
48/298,
49/58}
\node[anchor=\a] (P\i) at (p-\i) {\i};
\end{tikzpicture}
$
interessanter rautenkern für 5er geeignet, hat jetzt 96 linien (es fehlen zum 102er die 8 innen an die 3er-rahmen anschliessenden (gelben) welche anschlusslos frei herumzappeln würden
ich kann ihn merkwürdigerweise nicht symetrisch hinziehen, obwohl er überall einheitslängen hat, er ist noch beweglich, damit kann er auch exakt symetrisch werden(offenbar aber nur einfach sym.), die 46 würde dabei oberhalb 13-33 bleiben
kannst du den mal anschauen, die langen achsen kann ich ja herauslöschen?
hier also nochmal ohne die sym linien:
49 Knoten, 8×Grad 3, 41×Grad 4, 0 Überschneidungen,
94 Kanten, minimal 0.99999999999999500400, maximal 1.00000000000000421885, Einsetzkanten=Beweglichkeit-1,
$
%Eingabe war:
%
%Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Automatisch generierte Eingabe zu: Rahmen nach innen fortsetzen mit Rauten
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%P[1]=[120.70679545432176,-122.49920706904257]; P[2]=[199.99989119822087,-122.49920706904257]; D=ab(1,2); A(2,1); L(3,1,2); L(4,3,2); L(5,4,2); L(43,3,4); M(6,1,2,blauerWinkel); Q(7,1,6,jum(gruenerWinkel)*D,jum(orangerWinkel)*D); N(8,7,6); L(9,7,8); L(10,9,8); L(11,9,10); M(12,11,9,vierterWinkel); L(13,11,12); Q(14,13,12,D,jum(fuenfterWinkel)*D); L(15,13,14); Q(42,14,12,jum(sechsterWinkel)*D,D); M(16,15,13,siebenterWinkel); L(17,15,16); L(18,17,16); L(19,17,18); L(20,19,18); L(21,19,20); M(22,21,19,achterWinkel); L(23,21,22); Q(24,23,22,D,jum(neunterWinkel)*D); Q(41,24,22,jum(zehnterWinkel)*D,D); L(25,23,24); M(26,25,23,elfterWinkel); L(27,25,26); L(28,27,26); L(29,27,28); L(30,29,28); L(31,29,30); M(32,31,29,68.18000000000006); L(33,31,32); L(34,33,32); L(45,34,32); L(70,33,34); M(39,5,2,223.55799826410274) ; M(37,39,5,184.99999999999994) ; M(71,37,39,185.00000000000003) ; L(36,37,71); L(73,37,36); Q(38,39,37,D,ab(73,37,71,36,"gedreht")); L(72,39,38); Q(40,5,39,D,ab(72,39,71,36,37,38,"gedreht")); Q(35,31,5,ab(70,31,32,33,34,45,"gedreht"),ab(71,5,36,37,38,39,40,"gedreht")); M(44,41,22,zwoelfterWinkel); M(74,42,12,169.17618388397386); L(47,74,42); L(46,74,47); A(44,42,ab(74,42,46,47,"gedreht")); M(48,45,32,185.66359531200675); L(49,48,45); L(75,48,49); A(46,45,ab(75,45,48,49,"gedreht")); A(41,49); A(43,47); A(43,48);
%R(42,44); // oder R(42,47);
%R(45,48); // oder R(45,49);
%R(41,49);
%R(43,47);
%R(43,48);
%R(24,22);
%R(7,1);
%R(7,6);
%R(14,12);
%R(41,24);
%R(42,14);
%A(13,33); A(2,23); A(23,2); A(33,13);
%
%
%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{10,14,32,36}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{4.32954104371300019238,3.36866800422248324764}} % 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 \\
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 \\
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 28 \\
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 36 \\
38 37 \\
39 5 \\
40 5 \\
40 38 \\
40 39 \\
41 24 \\
41 22 \\
41 49 \\
42 14 \\
42 12 \\
43 3 \\
43 4 \\
43 47 \\
43 48 \\
44 41 \\
44 42 \\
45 34 \\
45 32 \\
46 44 \\
46 47 \\
46 48 \\
46 49 \\
47 44 \\
47 42 \\
48 45 \\
49 48 \\
49 45 \\
},
%
% 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.52343247254090474740 0.00000000000000035844 \\
2 3.52343247254090474740 0.00000000000000035844 \\
3 3.02343247254090519149 0.86602540378443904068 \\
4 4.02343247254090474740 0.86602540378443881863 \\
5 4.52343247254090474740 0.00000000000000000000 \\
6 2.57121643325673865377 0.99885769411778990712 \\
7 1.68228831502726938751 0.54081097093224494987 \\
8 1.73007227574310396001 1.53966866505003419086 \\
9 0.84114415751363447171 1.08162194186448989974 \\
10 0.88892811822946904421 2.08047963598227925175 \\
11 0.00000000000000000000 1.62243291279673473859 \\
12 0.86923698086345757563 2.11682857529730839019 \\
13 0.00645928718539447774 2.62241205138366373362 \\
14 0.87569626804885214444 3.11680771388423716317 \\
15 0.01291857437078895547 3.62239118997059250660 \\
16 0.93693188651852377102 3.24003089002592936652 \\
17 0.80605896359537221318 4.23143004175319870086 \\
18 1.73007227574310684659 3.84906974180853689305 \\
19 1.59919935281995506671 4.84046889353580755966 \\
20 2.52321266496769025522 4.45810859359114441958 \\
21 2.39233974204453847534 5.44950774531841464210 \\
22 2.89233974204453669898 4.58348234153397449120 \\
23 3.39233974204453847534 5.44950774531841197756 \\
24 3.89233974204453625489 4.58348234153397271484 \\
25 4.39233974204453847534 5.44950774531841020121 \\
26 4.34455578132870368080 4.45065005120062107125 \\
27 5.23348389955817250296 4.90869677438616491827 \\
28 5.18569993884233859660 3.90983908026837578831 \\
29 6.07462805707180741877 4.36788580345392052351 \\
30 6.02684409635597173605 3.36902810933613139355 \\
31 6.91577221458544055821 3.82707483252167568466 \\
32 6.04653523372198442587 3.33267917002110047875 \\
33 6.90931292740004909803 2.82709569393474646759 \\
34 6.04007594653659296569 2.33270003143417081759 \\
35 6.90285364021465674966 1.82711655534781791665 \\
36 5.97884032806692378159 2.20947685529248083469 \\
37 6.10971325099007422921 1.21807770356521172239 \\
38 5.18569993884233948478 1.60043800350987464043 \\
39 5.31657286176548993240 0.60903885178260519506 \\
40 4.39255954961775607615 0.99139915172727155479 \\
41 3.39233974204453492263 3.71745693774953522848 \\
42 1.73847396172691492922 2.61122423779788226383 \\
43 3.52343247254090519149 1.73205080756887763727 \\
44 2.50913468955445262409 3.24846990673909052916 \\
45 5.17729825285852918171 2.83828350752052394057 \\
46 3.44633599122291744976 2.89968097321204121286 \\
47 2.67567526339537842262 2.26243530427083250345 \\
48 4.29409320036844199819 2.36929647651008101761 \\
49 4.32954104371300019238 3.36866800422248324764 \\
};
% ===================================
% 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
2 1 6 0.5 Blue {} 1.5 \\
9 11 12 0.5 Violet {} 1.5 \\
13 15 16 0.5 LightBlue {} 1.5 \\
19 21 22 0.5 LightCoral {} 1.5 \\
23 25 26 0.5 LightGreen {} 1.5 \\
22 41 44 0.5 LightGray {} 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] (P42) -- (P44);
\draw[green,very thick] (P45) -- (P48);
\draw[green,very thick] (P41) -- (P49);
\draw[green,very thick] (P43) -- (P47);
\draw[green,very thick] (P43) -- (P48);
\draw[green,very thick] (P24) -- (P22);
\draw[green,very thick] (P7) -- (P1);
\draw[green,very thick] (P7) -- (P6);
\draw[green,very thick] (P14) -- (P12);
\draw[green,very thick] (P41) -- (P24);
\draw[green,very thick] (P42) -- (P14);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
hmm, also bei dem könnte man auffassen das die äuseren 2er rahmen über die sym linie gehen, man könnte aber auch sagen es ist im 90°winkel ein einer-dreier-einer rahmen der dann eben 6 über die sym gehende linien hat(gemäss stefan ja zulässig)
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2156, vom Themenstarter, eingetragen 2021-12-10
|
\quoteon(2021-12-09 17:17 - haribo in Beitrag No. 2155)
kannst du den mal anschauen, die langen achsen kann ich ja herauslöschen?
\quoteoff
Der geht wohl gar nicht doppeltsymmetrisch. Bei meiner Eingabe mit nur 3 Winkeln im Rahmen gibt es Überschneidungen. Oder man muss ihn nochmal neu eingeben, also anders symmetrisch als ich es gemacht habe.
49 Knoten, 8×Grad 3, 41×Grad 4, 10 Überschneidungen,
94 Kanten, minimal 0.99999999999999367173, maximal 1.00000000000000488498, Einsetzkanten=Beweglichkeit-1,
einzustellende Kanten, Abstände und Winkel:
|P23-P25|=1.00000000000000088818
|P23-P47|=0.99999999999999944489
|P47-P49|=0.99999999999999622524
|P48-P49|=0.99999999999999700240
|P24-P46|=0.99999999999999888978
$
%Eingabe war:
%
%haribo #2155
%
%
%
%
%
%
%
%P[1]=[78.06012795129618,211.71401168334793];
%P[2]=[79.90689504617268,104.07296945418041]; D=ab(1,2); A(2,1);
%N(3,1,2); N(4,3,2); N(5,4,2);
%M(6,1,3,blauerWinkel,3); M(12,11,10,gruenerWinkel,2); M(16,15,14,orangerWinkel,3);
%N(22,3,4); N(23,14,12);
%M(24,22,4,vierterWinkel,1);
%RA(23,25);
%A(5,21,ab(21,5,[1,25]));
%RA(23,47);
%RA(24,46);
%N(49,25,24);
%RA(47,49);
%RA(48,49);
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(24,46,"LightSlateGrey");
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(24,46,"LightSlateGrey");
%
%//von Button Feinjustieren ausgewählte Einsetzkanten:
%R(24,46,"LightSlateGrey");
%
%
%
%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,28}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{3.45486382907872702219,2.71696053461517683658}} % 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 43 \\
5 44 \\
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 27 \\
21 29 \\
22 3 \\
22 4 \\
23 14 \\
23 12 \\
23 25 \\
23 47 \\
24 22 \\
24 46 \\
25 22 \\
25 24 \\
26 26 \\
27 26 \\
28 26 \\
28 27 \\
29 27 \\
29 28 \\
30 26 \\
31 26 \\
31 30 \\
32 30 \\
32 31 \\
33 31 \\
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 39 \\
41 39 \\
41 40 \\
42 40 \\
42 41 \\
43 41 \\
43 42 \\
44 42 \\
44 43 \\
45 28 \\
45 29 \\
46 36 \\
46 38 \\
46 48 \\
47 45 \\
47 49 \\
48 45 \\
48 47 \\
48 49 \\
49 25 \\
49 24 \\
},
%
% 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 0.00000000000000000000 3.98686550955477070346 \\
2 0.01715419431016564772 2.98701265357166700909 \\
3 0.87447507048287442810 3.50179504961727694479 \\
4 0.89162926479304005500 2.50194219363417325042 \\
5 0.03430838862033155912 1.98715979758856331472 \\
6 0.85571773961612895842 3.46942261405202723168 \\
7 0.87597756232121659625 4.46921736277996473063 \\
8 1.73169530193734577672 3.95177446727722125885 \\
9 1.75195512464243319251 4.95156921600515786963 \\
10 2.60767286425856248400 4.43412632050241484194 \\
11 2.62793268696364989978 5.43392106923035278498 \\
12 3.12793268696365078796 4.56789566544591352226 \\
13 3.62793268696364989978 5.43392106923035278498 \\
14 4.12793268696364989978 4.56789566544591529862 \\
15 4.62793268696364901160 5.43392106923035367316 \\
16 4.42887016202894834294 4.45393427790782592268 \\
17 5.37709488115480560566 4.77153447003416619765 \\
18 5.17803235622010493699 3.79154767871163977944 \\
19 6.12625707534596308790 4.10914787083797872214 \\
20 5.92719455041126241923 3.12916107951545230392 \\
21 6.87541926953711879378 3.44676127164179169071 \\
22 1.74895014096574885620 3.01672458967978318611 \\
23 3.62793268696365078796 3.70187026166147559181 \\
24 2.51537255607977572325 2.37438769862433218805 \\
25 2.68844141396469993310 3.35929742567062739056 \\
26 6.90972765815744871531 1.44705555967558319175 \\
27 6.89257346384728286637 2.44690841565869110497 \\
28 6.03525258767457728482 1.93212601961307650633 \\
29 6.01809839336441054769 2.93197887559617864639 \\
30 6.05400991854132364267 1.96449845517832266673 \\
31 6.03375009583623178600 0.96470370645038305835 \\
32 5.17803235622010404882 1.48214660195313396862 \\
33 5.15777253351501752121 0.48235185322519447126 \\
34 4.30205479389888711950 0.99979474872793616669 \\
35 4.28179497119380148007 0.00000000000000554406 \\
36 3.78179497119380059189 0.86602540378444370361 \\
37 3.28179497119379925962 0.00000000000000000000 \\
38 2.78179497119380103598 0.86602540378444115010 \\
39 2.28179497119380014780 0.00000000000000000000 \\
40 2.48085749612850170465 0.97998679132252597412 \\
41 1.53263277700264377579 0.66238659919618780858 \\
42 1.73169530193734466650 1.64237339051871411577 \\
43 0.78347058281148740377 1.32477319839237561716 \\
44 0.98253310774618829448 2.30475998971490181333 \\
45 5.16077751719170141342 2.41719647955056471389 \\
46 3.28179497119379925962 1.73205080756887874749 \\
47 4.39435510207767432433 3.05953337060602148512 \\
48 4.22128624419275055857 2.07462364355972628260 \\
49 3.45486382907872702219 2.71696053461517683658 \\
};
% ===================================
% 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.45 Blue {} 1.5 \\
10 11 12 0.5 Green {} 1.5 \\
14 15 16 0.5 Orange {} 1.5 \\
4 22 24 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,very thick] (P23) -- (P25);
\draw[green,very thick] (P23) -- (P47);
\draw[green,very thick] (P47) -- (P49);
\draw[green,very thick] (P48) -- (P49);
\draw[green,very thick] (P24) -- (P46);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2157, eingetragen 2021-12-10
|
ja, dieser 4/3er zieht sich nicht doppelt symetrisch hin obwohl er ja erstmal richtung oben-unten keine unterschiedliche eingabe hat, aber er bleibt dabei beweglich
nimm mal meinen unteren,(der ist ja correkt und überschneidungsfrei) und mach "beweglich" "extrapolieren"
innen die rauten bleiben bei der bewegung immer unterschiedlich, merkwürdiger vogel
nachtrag: nun ist es mir auch mit deinem als grundlage gelungen, "egal wie winkel" und erstmal die überschneidungen wegziehen... dann "feinjustieren"
klappt aber auch nur manchesmal, jedenfals haben wir ihn damit beide gleich eingegeben... is ja auch was
|
Profil
|
Slash
Aktiv  Dabei seit: 23.03.2005 Mitteilungen: 9109
 | Beitrag No.2158, vom Themenstarter, eingetragen 2021-12-11
|
Nochmal neu eingegeben. Hülle ist jetzt komplett zwingend doppelt spiegelsymmetrisch. Aber der Kern hat nur eine Symmetrieachse, welche aber nicht durch die Art der Eingabe forciert ist. Der Winkel bei P43 kann aber nicht 120 Grad werden, dann stimmt Kante P48,P49 nicht mehr. Wegen der doppelten Spiegelsymmetrie ist die Hülle bzw. ihre Winkel natürlich fix. Aber interessant, dass sich im Kern dennoch Einheitskanten mit reduzierter Symmetrie ergeben können.
49 Knoten, 8×Grad 3, 41×Grad 4, 0 Überschneidungen,
94 Kanten, minimal 0.99999999999999766853, maximal 1.00000000000000599520, Einsetzkanten=Beweglichkeit-1,
einzustellende Kanten, Abstände und Winkel:
|P10-P22|=1.00000000000000000000
|P3-P24|=1.00000000000000088818
|P12-P46|=1.00000000000000000000
|P45-P33|=1.00000000000000000000
$
%Eingabe war:
%
%haribo #2155
%
%
%
%
%
%
%
%
%P[1]=[-113.56411882795318,215.7903101738409];
%P[2]=[-113.56411882795318,125.00000000000009]; D=ab(1,2); A(2,1);
%N(3,1,2);
%M(4,1,3,blauerWinkel,3); M(10,9,8,gruenerWinkel,1); M(12,10,9,vierterWinkel);
%A(11,12,ab(11,12,[1,12],"gespiegelt"));
%RA(10,22);
%A(2,14,ab(2,14,[1,22],"gespiegelt"));
%RA(3,24); A(15,35);
%N(43,3,24); N(44,35,15);
%M(45,43,24,fuenfterWinkel,1);
%RA(12,46);
%N(47,46,45);
%RA(45,33);
%N(48,12,47); N(49,47,33);
%A(48,49); A(48,44); A(49,44);
%
%
%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,15,25,36}
% Möglichst eingeben:
\xdef\BeliebigesVorhandenesKoordinatenpaar{{4.36921895030231688395,2.13436637460645339814}} % 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 23 \\
3 1 \\
3 2 \\
3 24 \\
4 1 \\
5 1 \\
5 4 \\
6 5 \\
6 4 \\
7 5 \\
7 6 \\
8 7 \\
8 6 \\
9 7 \\
9 8 \\
10 9 \\
10 22 \\
11 9 \\
11 10 \\
11 21 \\
11 22 \\
12 10 \\
12 22 \\
12 46 \\
13 13 \\
14 13 \\
14 34 \\
15 13 \\
15 14 \\
15 35 \\
16 13 \\
17 13 \\
17 16 \\
18 16 \\
18 17 \\
19 17 \\
19 18 \\
20 18 \\
20 19 \\
21 19 \\
21 20 \\
22 21 \\
23 23 \\
24 23 \\
24 2 \\
25 23 \\
26 23 \\
26 25 \\
27 25 \\
27 26 \\
28 26 \\
28 27 \\
29 27 \\
29 28 \\
30 28 \\
30 29 \\
31 30 \\
31 42 \\
32 30 \\
32 31 \\
32 41 \\
32 42 \\
33 31 \\
33 42 \\
34 34 \\
35 34 \\
35 14 \\
36 34 \\
37 34 \\
37 36 \\
38 36 \\
38 37 \\
39 37 \\
39 38 \\
40 38 \\
40 39 \\
41 39 \\
41 40 \\
42 41 \\
43 3 \\
43 24 \\
44 35 \\
44 15 \\
45 43 \\
45 33 \\
46 43 \\
46 45 \\
47 46 \\
47 45 \\
48 12 \\
48 47 \\
48 49 \\
48 44 \\
49 47 \\
49 33 \\
49 44 \\
},
%
% 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 0.00000000000000031305 3.72605576323966714014 \\
2 0.00000000000000031305 2.72605576323966714014 \\
3 0.86602540378443892966 3.22605576323966758423 \\
4 0.90722236206568562800 3.30540438053902896343 \\
5 0.81790596458864539553 4.30140768431955589080 \\
6 1.72512832665433046841 3.88075630161891815817 \\
7 1.63581192917729012493 4.87675960539944419736 \\
8 2.54303429124297508679 4.45610822269880646473 \\
9 2.45371789376593474330 5.45211152647933250392 \\
10 2.95371789376593429921 4.58608612269489324120 \\
11 3.45371789376593474330 5.45211152647933250392 \\
12 3.45371789376593474330 3.72006071891045486666 \\
13 6.90743578753186859842 3.72605576323966936059 \\
14 6.90743578753186593389 2.72605576323966491969 \\
15 6.04141038374742933570 3.22605576323966802832 \\
16 6.00021342546618097202 3.30540438053902763116 \\
17 6.08952982294322442414 4.30140768431955411444 \\
18 5.18230746087753946227 3.88075630161891815817 \\
19 5.27162385835457847350 4.87675960539944330918 \\
20 4.36440149628889439981 4.45610822269880646473 \\
21 4.45371789376593429921 5.45211152647933250392 \\
22 3.95371789376593474330 4.58608612269489324120 \\
23 0.00000000000000000000 1.72605576323966736219 \\
24 0.86602540378443848557 2.22605576323966669605 \\
25 0.90722236206568529493 2.14670714594030487277 \\
26 0.81790596458864417428 1.15070384215977883358 \\
27 1.72512832665432958024 1.57135522486041590007 \\
28 1.63581192917728834857 0.57535192107988952781 \\
29 2.54303429124297419861 0.99600330378052692737 \\
30 2.45371789376593252285 0.00000000000000062610 \\
31 2.95371789376593385512 0.86602540378443892966 \\
32 3.45371789376593296694 0.00000000000000125219 \\
33 3.45371789376593429921 1.73205080756887741522 \\
34 6.90743578753186859842 1.72605576323965981267 \\
35 6.04141038374742844752 2.22605576323966225516 \\
36 6.00021342546618008384 2.14670714594030309641 \\
37 6.08952982294322353596 1.15070384215977572495 \\
38 5.18230746087753768592 1.57135522486041301349 \\
39 5.27162385835457669714 0.57535192107988730736 \\
40 4.36440149628889262345 0.99600330378052470692 \\
41 4.45371789376593163468 0.00000000000000000000 \\
42 3.95371789376593341103 0.86602540378443804148 \\
43 1.73205080756887697113 2.72605576323966625196 \\
44 5.17538497996299273751 2.72605576323966580787 \\
45 2.53821683722955127038 2.13436637460645339814 \\
46 2.64755186410526022200 3.12837133027724290102 \\
47 3.45371789376593429921 2.53668194164403004720 \\
48 4.25988392342660926460 3.12837133027724201284 \\
49 4.36921895030231688395 2.13436637460645339814 \\
50 7.01 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 4 0.5 Blue {} 1.5 \\
8 9 10 0.5 Green {} 1.5 \\
9 10 12 0.5 Violet {} 1.5 \\
24 43 45 0.5 Teal {} 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] (P10) -- (P22);
\draw[green,very thick] (P3) -- (P24);
\draw[green,very thick] (P12) -- (P46);
\draw[green,very thick] (P45) -- (P33);
%nicht passende Kanten:
\end{tikzpicture}
\end{document}
$
|
Profil
|
haribo
Senior  Dabei seit: 25.10.2012 Mitteilungen: 4376
 | Beitrag No.2159, eingetragen 2021-12-11
|
Beeindruckend das es dir gelingt drei der Einsatzkranten auf zwanzigstellig eins zu bekommen
Dann ist 12-33-43 also ein gleichseitiges Dreieck!
Bleibt das eins wenn die Hülle sich bewegt?
|
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]
|