This version of the MGC contains all graphs from the following articles. For optimal functionality and design please use the Firefox web browser. Last update on September 23, 2018.

Choose an article:

Click on a button to see the graph. Click on the button "show proof" to read the constructive proof of the graph. Click on the button "labels on/off" to see only the edges of the graph.

Click on the blue point beside "start_blue_angle" to start the animation of the graph. Edges which differ from the unit length are colored blue if shorter and purple if longer.

Platz für Bildtext

` `

` `

` `

label color , window size or , alternative keys for tablet PC

neu:

()

blue_angle= ° green_angle= ° orange_angle= ° , angle(,,) = 60°, distance(,)=1

* *

Input window for the graph construction program code in MGC language.

next vertex is P .

This is a brief description of the MGC language. D is the (adjustable) unit length 1. The point Pk is always the new point to be added. Pk is placed such that the path from Pk over Pi to Pj is a link curve. L(k,i,j) generates Pk such that Pk, Pi, Pj form an equilateral triangle. N(k,i,j) generates Pk such that the line segments Pk,Pi and Pk,Pj have both length 1. Q(k,i,j,a*D,b*D) generates Pk such that the line segment Pk,Pi has length a and Pk,Pj has length b, instead of a*D or b*D also works ab(l,m) for |Pl,Pm|. H(k,i,j,a) generates Pk such that Pk is 1/a of the distance from Pi to Pj. M(k,i,j,w) generates Pk such that the line segments Pi,Pj and Pi,Pk enclose an angle w°. A(i,j) adds a missing edge between Pi and Pj. Z(i,j) removes the edge between Pi and Pj. W() marks the end of the proof with "All edges have length 1". R(i,j) chooses the distance |Pi-Pj| for accurate adjustment to the nearest integer. The input also works before Pi, Pj are entered. The line color can be selected with R(i,j,"Web colors"). R(i,j,"",a*D) uses the distance for accurate adjustment of Pi-Pj instead of the nearest integer. RA(i,j) is the shortcut for the input A(i,j); R(i,j); M(k,i,j,w,n1,w1,n2,w2,n3,w3...) continues M(k,i,j,w) to a frame with n1,n2,n3... outer edges, with angles w1,w2,w3... between them. M(....w,n,"zumachen",i,j,k) closes the frame to point Pi with two frame pieces to each j and k outer edges. ab(i,j,k,l,[m,n],...) draws instead of the edge ab(i,j) a copy of the subgraph Pi,Pj,Pk,Pl,Pm...Pn,... A(i,j,ab(...)) connects Pi,Pj by a copy of the subgraph ab(...). Bew(n) in A(i,j,Bew(n)) A(i,j,ab(...),Bew(n)) denotes the proof step n, with meaning see the source code of Bew(n). jam(x) denotes an edge length generated by the program which is made incremental to 1 by the stretch_factor. Kites(x,y) placed at position x,y copying templates, with kites() these are removed again (faster input for short-term graphs, because the copying templates can change). The info about the next vertex P# is given below the input window. The edges are drawn with a centered circle. Clicking on this circle brings the endpoints Pi,Pj into the foreground and measures their distance. The graph construction program code can be got from generated fedgeo or tikz source code. (section between "Eingabe war:" and "Ende der Eingabe, weiter mit..."). fedgeo comment mark "#" and tikz comment "%" at the beginning of the line are automatically removed, everything after "//" until line end remains javascript comment. Pressed Shift key: each cursor movement from Pi to Pj generates L(k,i,j) or N(k,i,j) if Pi,Pj is not connected. Pressed Ctrl key: cursor movement from Pi to Pj generates A(i,j). Get Pj=Pi, if Pi accidentally steered.

This is a brief description of the function buttons, small input windows and texts below the drawing window.

This information is important for persons who programs a new graph or changes the code of a given graph from the articles.
The "show proof" button does not generate a proof of the current graph. This button only makes a suggestion for a proof text from the existing input code for drawing the graph. The function "W()" does not calculate and check anything at all. It only sets the prepared text for the proof and the end-of-proof square under the displayed proof text. It is the responsibility of the person who programs the graph to ensure that all edges have unit length and that the displayed proof text is a correct constructive proof of the given graph.
Also important is the function "Bew(n)", which is documented under the point "23. Beweisschritte" of the button "program structure".

generates a new input from the outside to the inside of the graph.
generates randomly slightly different new coordinates for the inner vertices.
generates randomly slightly different new degrees for the angles.
undoes the effect of the buttons "shift inner vertices randomly" or "vary angles randomly".
The Matchstick Graphs Calculator (MGC) is a software for the construction and calculation of unit distance graphs and matchstick graphs by Stefan Vogel. Written 2016-2018.

The method Stefan Vogel used for the calculations he describes in a German article.

English texts, translations and surface design by Mike Winkler.

For optimal functionality and design please use the Firefox web browser.

For questions about copyright or miscellaneous things please contact: Mike Winkler.

A brief history of the matchstick graphs team "Winkler - Dinkelacker - Vogel".

In April 2013 Mike Winkler took notice of the Harborth graph during his studies on the four color theorem. Curious about the fact that there exists no proof for the minimality of the Harborth graph, he began his own research on a smaller example. On May 4, 2013 he started a thread in the graph theory forum on Matroids Matheplanet to discuss his results. Stefan Vogel took instantly part in the thread and in October 2014 he began to verify the new graphs with mathematical methods and software. The result: all ideas failed. After a long break on this subject Mike Winkler started on February 17, 2016 a new thread about matchstick graphs in the forum. Beginning with questions on (2; 5)-regular matchstick graphs, the thread switched to 4-regular matchstick graphs on March 22, 2016. Also fascinated by this subject Peter Dinkelacker took instantly part in the thread. Animated by a matchstick problem that Erich Friedman posted in 2005 on his Math Magic pages, they started searching about smaller examples of (4; n)-regular matchstick graphs. In March 2016 Stefan Vogel took also part in the new thread. At this time he began developing the MGC to verify the new graphs. Until today the team found a lot of new and more minimal graphs. They won many new results and insights on this topic and wrote eight articles. The thread contains their complete research on (4; n)-regular matchstick graphs in chronological order.

- Clicking on a text shows the corresponding source code (at the bottom of the page). Note: The source code uses German vocabulary.
- globale Variablen, Berechnung von Abstand und Winkel
- Zeichenfunktionen
- Eingabefunktionen L, M, N, Q, H, A, R
- Button Grafik draw new
- Button labels on/off
- Buttons +1 +0.1 +0.01 -0.01 -0.1 -1
- Buttons Beispiele
- Winkel für acos(1/4)-Graphen
- Buttons Code erzeugen
- Buttons Feinjustieren
- Button Zufallsverschiebung
- mittels Kursorbewegung Kanten eingeben
- Buttons Graph verschieben, drehen, zoomen
- diese Programmgliederung ausgeben
- Websocket
- Kites
- Gauß-Algorithmus von https://github.com/itsravenous/gaussian-elimination
- Punkte mit Maus eingeben und verschieben
- animate
- Download
- dokumentation
- Beweisschritte
- Übersetzungstabelle für die xml-Elemente
- A_Kanten ausgeben

generate code for ( )

(erfolgt mit <a href=... download=...>)