Kunstwerke

Mit der Zeit habe ich auch einige Kunstwerke in WMF geschrieben. Diese Art Grafiken zu erzeugen ist eine Alternative zum WMFzerleger. Der WMFzerleger ist sehr unbequem, da man sich über jedes Byte gedanken machen muss, wo man dieses in Excel einträgt. Eine Liniezeichnen mit "LinieZeichnen" geht viel einfacher, hab aber den Nachteil, dass man eine leere Exceltabelle sieht. Was ich für bunte Bildchen nutze, kann man durchaus auch im Berufsalltag gebrauchen. Z.B. eine Exceltabelle, die die passende Grafik dazu maßgetreu generiert.

Kunstwerke und die Quelldatei mit den Makros
Alle Grafiken als WMF, wie sie vom Makro erzeugt werden. Die Exceltabelle selbst ist fast leer, da die Grafiken per Code generiert werden.
Kunst.zip
Archivdatei im ZIP Format [3.5 MB]

Hello World

Dieses kleine Makro erzeugt diese Grafik

 

Sub HelloWorld()

Dim Datei$, Text As String
Dim a As Integer

Datei = PinselErstellen(255, 0, 0) & PinselErstellen(255, 255, 255)
Datei = Datei & FüllerErstellen(10, 0, 0, 0) & FüllerErstellen(4, 0, 0, 0)
Datei = Datei & FontErstellen(120, 0)
Datei = Datei & ObjektWählen3(0, 2, 4)
Datei = Datei & LinieZeichnen(100, 300, 1000, 300)
Datei = Datei & EllipseZeichnen(300, 500, 500, 650)
Text = "Hello World"
Datei = Datei & TextZeichnen(Text, 180, 100)
Datei = Datei & ObjektWählen2(1, 3)
For a = 1 To 10
 Datei = Datei & DreieckZeichnen(1000, 100, 900, 100, 1050 - 20 * a, 200)
Next
Call DeckchinZeichnen(100, 600, 100, 2.3, 30, 52, "", "03000000", Datei, Datei, Datei, Datei, Datei, Datei, Datei, Datei, Datei, Datei, Text)

Call WMFdateiErstellen("HelloWorld", Datei, 1100, 700, 254)

End Sub

 

 

Der Code macht folgendes:

Variablen werden Definiert. Datei ist ein String.

Zunullt wird ein roter Pinsel angelegt und dann wird zuerst ein weißer Pinsel angelegt. Als zweites folgt ein dicker schwarzer Füller und als drittes ein dünner schwarzer Füller. Als viertes wird noch ein waagerechter Font defniert. Die Nummern sind wichtig, denn diese Malobjekte müssen noch ausgewält werden.

Es werden die Objekte 0; 2 und 4 ausgewählt, also der rote Pinsel zum Ausmalen und der dicke Füller zum Umranden und der Font zum Schreiben.

Anschließend folgen einfache geometrische Objekte wie Linie, Ellipse, Text und Dreiecke, die ihre geometrischen Koordinaten haben wollen. Diese Funxionen ergänzen die fehlenden Bytes, damit die Koordinaten zu einem geometrischen Objekt werden und geben den entsprechenden ASCII-Code aus.

Der ASCII-Code wird in der Variablen Datei abgelegt.

Es werden die Objekte 1 und 3 ausgewählt. Der rote Pinsel wird gegen den weißen ausgetauscht und der dicke Füller durch den dünnen Füller.

DeckchinZeichnen ist eine komplexe Funxion, die gleich mehrere geometrische Objekte aufeinmal zeichnet.

WMFdateiErstellen bekommt den String "Datei" und macht daraus ein WMF. Um Nebensächlichkeiten, wie einem korrekten Header, braucht man sich nicht zu kümmern.

 

fraktale Bäume

Bäume... An Einer Line werden 4 kleinere Linien gesetzt. Unterschreitet die Linie eine Länge, dann erhält sie keine neuen Linien, sondern einen grünen Kreis am Ende. Mit einer Wahrscheinlichkeit von 1% wird statt eines Blattes eine Blüte gesetzt.

 

fraktale Dreiecke

Dreiecke... Ein großes Dreieck wird in 5 ähnlich große Dreiecke geteilt. Es gibt 2 Möglichkeiten zum Teilen. Die eine Variante führt zu einem regelmäßigen Muster, die andere zu einem unregelmäßigen.

 

prozedurale Werkstattplanung

Ein Zufallsgenerator erzeugt 288 Bleche und erstellt daraus einen Einzelteilplan. Jedes Blech kann ein Bohrfeld oder ein Schlitz haben. Zusätzlich kann jedes Blech ein Trapez sein oder ausgerundete Ecken haben. Jedes Blech wird mit seiner Positionsnummer beschriftet und erhält die beiden Gesamtmaßketten. Zusätze wie Bohrfeld/Schlitz und Trapez/Ausrundungsradien erhalten ihre eigene Polymaßkette. Um Platz zu sparen erhalten große Bleche den Maßstab 1:20 und der Maßstab 1:5 schafft den Platz für detailierte Maßketten. Jedes Blech beansprucht mit seinen Maßketten und Text unterschiedlichen Platz auf dem Plan. Ein Fensteranordnungsalgorithmus platziert die Bleche auf dem A0 Plan platzsparend. Platzsparende Methoden sind überlappende Ecken, 2 schmale Bleche statt ein breites in eine Lücke einprüfen, große Bleche zuerst. Zusätzlich wird auf dem A0 Plan eine Stückliste und ein Plankopf generiert. Der Placeable Header des WMF ist auf 254 eingestellt, sodass die Datei die Abmessungen eines A0-Plans hat. 1 Einheit = 0,1mm Papier= 1mm Blech bei M1:10. Da nur ganze Zahlen bis 32767 erlaubt sind, können Blechabmessungen hier keine Nachkommastellen haben. Excel zeichnet den Plan in etwa 3 Sekunden - so schnell geht Werkstattplanung. Für die Praxis sollte man Excel aber nicht in WMF zeichnen lassen, sondern in AutoCAD.

 

wertvolle Kristalle

Kristalle... in prachtvoller Schönheit. Kleines Programm mit großem Glanz.

 

B und K

Bauen Nach Bestell und Krempelladen. Die Seitenansichten dieser Gebäude füllen eine Fläche. Bauen Nach Bestell ist eine Möbelfirma, die von den geldgierigen Katzen Miaunza und Maunzi geführt wird und weitere Katzenanhänger hat. Krempelladen ist ein Laden voller Krempel, der von hufwütigen Elchen namens Elchiuter und Elchameboy verwaltet wird und weitere Katzen und Elche sind in dem Laden.

 

RöRo Traggerüstsysteme (Abandonware)

Traggerüste in verschienensten Varianten, die das Herz höher schlagen lassen. Das Makro WeiRö2 zeichnet Grundriss, Längsschnitt und Jochschnitte vom Traggerüste in AutoCAD. Es wird zwischen RöRo-Traggerüste und Weisetraggerüste unterschieden. Bei einem RöRo-Traggerüst werden die Stützen mit Kopfspindeln und Einzelteilen gezeichnet, während Co.Weise nur einen fetten Strich zeichnet. Dadurch sehen Weisetraggerüste so furchtbar hässlich aus, während die Traggerüste von der RöRo ästhetisch sehr reizvoll sind. Schönheit ist im Bauwesen völlig irrelevant, da zählen Geld und Kompetenz. Da es hier aber um Kunst geht, werden die RöRo-Traggerüste wegen ihrer Liebe zum Detail bevorzugt. WeiRö2 zeichnet Längsträger, Jochquerträger, Stützen, Fußträger, Rohrverbände und Anbauteile wie Abspannungen in Grundriss, Längsschnitt und Jochschnitte und beschriftet, kotiert und bemaßt diese.

Es gibt eine genauere Beschreibung zum Thema Traggerüste mit Excel zeichnen.

 

Fünfecke

Ein Fünfeck mit gleichen Seitenlängen ist durch 2 Winkel eindeutig definiert. 3 Linien der Länge 1 und die beiden Winkel formen eine Polylinie. Ist der Abstand zwischen den Start- und Endpunkt < 2, dann lässt sich das Polygon mit 2 weiteren Linien zweideutig schließen. Ich entschied mich für eine Lösung, da die andere bei gespiegelten Winkeln auftritt. Der Parameter x variiert die Länge der letzten beiden Linien.

Beide Winkel werden von -3,1 bis 3,1 in 0,2 Schritten variiert. Damit entstehen alle erdenklichen 5 Ecke. Ist das Fünfeck ungültig, dann hat es keine graue Füllung, denn es ist ja nur eine Polylinie mit 5 Segmente und kein Polygon.

Ist x=1, dann sind alle Längen gleich. In der Mitte gibt es den Bereich der ungültigen Fünfecke. Interessant ist auch der Fall x=0,5. Dann formen die ungültigen Fünfecke ein großes Sechseck (also keine runde Form), das von Vierecken umrandet ist.

Lateinmuster

 

Lateinmuster. Beim trockenen Latteunterricht war ich oft unkonzentriert und malte Pfeile in den Hefter, die an den Seiten abprallen. Ein Kästchen enthält genau 2 sich kreuzende Pfeile. In einem Rechteck wird oben links und unten links ein Pfeil eingeschossen, der sich durch das Rechteck bewegt. Bis zur nächsten Kante bildet es eine Linie aus Pfeile, die in eine Richtung zeigen. An den Seiten prallt der Pfeil ab. Irgendwann trifft der Pfeil auf eine Ecke oder einen Kästchen, das bereits ein Pfeil hat und endet damit. Damit die Pfeile sich kreuzen, muss der zweite Pfeil eingeschossen werden. Hat das Rechteck teilerfremde Abmessungen, dann ist das Lateinmuster komplett. Je großer der größte gemeinsame Teiler, desto mehr Pfeilschüsse werden zum Füllen benötigt. Im Hausaufgabenheft hatte ich noch richtige Pfeile gemalt. Das Muster ist bei Pfeilen schwer zu sehen. Deshalb muss die vordere Pfeilhälfte mit dem Filzer nachgemalt werden oder in WMF wird nur die Linie der Pfeilhälfte ohne Spitze gemalt.

Da die Lateinmuster so vielfältig sind, haben diese mich fasziniert und sie sehen jedesmal anders aus. Selbst bei gleichen Abmessungen gibt es 2 verschiedene.

Zu den Lateinmustern habe ich auch noch eine ausführliche Beschreibung.

Lateinmuster
Dieses rar-Archiv packte 2,5 mal besser als ZIP und enthält ein voluminöses RTF-Dokument mit alle Lateinmuster von 3x3 bis 52x52. Es sind 5210 Grafiken. 550 Zeilen, die es in sich haben: Die Berechnung des Dokumentes dauerte 10 Minuten. Größte gemeinsame Teiler von mehr als 4 sind nicht enthalten. Bei der zweiten Version habe ich Farben und GgT von 3 und 4 hinzugefügt und duplikate bei GgT 2 ausgefegt.
Lateinmuster2.rar
Komprimierte Archivdatei [6.0 MB]

Bitmaps

Fraktale...  Addiere eine komplexe Zahl a, dann quadriere, dann addiere wieder a, dann quadriere. Wiederhole dies solange, bis der Betrag größer als 4 wird. Geht nicht?, dann Farbe = Weiß, sonst Farbe= Anzahl der Iterationen. Das Mandelbrot wird zu einem brennenden Schiff, wenn man nach dem Quadrieren ein Betrag gesetzt wird. Das kleine Schiff schwimmt etwa bei -1,75. Die Bilder sind Bitmaps und keine WMF-Datein. Anstelle meines billigen 50-Zeilers gibt es dafür das professionelle freie Programm "Kalles Fraktaler". Kalles Fraktaler nutzt eine Powerformel, die bei Deepzooms die lästige Wartezeit entfernt.

 

Geolandschaften als Bitmap. Würfel rollen über eine Matrix. Wo Sechsen sind, entstehen Hügel. Doppel und Dreiersechsen bringen viel Land.

WMF-Deckchin

Deckchin weicht! Das Makro habe ich nochmal neu geschrieben und kann mehr als sein Vorgänger. Wichtig war mir auch, dass die Deckchins auch wo anders erscheinen können und in einem beliebigen Winkel in beliebiger Größe erscheinen können. Damals waren Deckchins und Zipfelsterne möglich, die diese Entwicklungen haben konnten: Doppelrand, Kampf, Finsternis, Decolor, Deckwexel, Negativ, Weichi, Extraweichi, Verzipflungen und Schriftzug. Diese Entwicklungen sind durch Training und gewöhnliche Deckchinsteine erreichbar. Das neue Makro kann auch Deckchins zeichnen, die man nur durch den gefährlichen radioaktiven Mutationsstein bekommen kann. Somit gibt es Dreirand, Doppelrandkampf, doppelte Finsternis und Tricolor.

WMF-Deckchin füllt ein Rechteck mit Deckchins. Wenn eine Bitmap ausgewählt wird, dann wird diese durchdeckert. Die neue Grafik ahmt den Inhalt der Bitmap nach.

Sonstige

Verschiedene Spiele. Skat, Würfel, Labyrinth, Liniengitter, 3D-Diagramme, Punktwolken sowie eine volle Ladung Querschnitte.

Druckversion | Sitemap
cc-by-sa; Simon Pie