WinTracks 3D-Editor
Teil 1:
Einleitung zu WinTracks 3D-Editor
Keine
Scheu eigene 3D-Modelle zu erstellen
Abb.1 |
Bei dem in WinTrack integriertem 3D-Editor (dort auch bezeichnet als TEdit-3D) handelt es sich um ein kleines Tool, um 3D-Modelle für das WinTrack-Programm selber erstellen zu können. Ich stelle leider immer wieder fest, dass die Möglichkeit eigene 3D-Modelle erstellen zu können von nur sehr wenigen WinTrack-Anwendern genutzt wird. Die Begründung lautet überwiegend „zu kompliziert“, oder „zu zeitaufwändig“. Ich sage „nicht zu kompliziert“ und „Zeitaufwand je nach Modellkomplexität“. Deshalb möchte ich hier keinesfalls eine vollständige Anleitung zu diesem kleinen Programmteil von WinTrack geben, diese ist mittels Hilfetext und einer Beispieldatei Namens „beispiel.te3“ bereits im Programm enthalten. Wer an dieser Stelle bereits in die genannte Beispieldatei „hineinschnuppern“ möchte, links die 3D-Ansicht von „beispiel.te3“: |
und hier das
Listing des Beispiels vom 3D-Editor: |
Listing 1: // Beispiel mit allen Elementen des
Editors |
Ich
habe das Listing hier schon einmal dargestellt, weil es (fast) alle
erforderlichen Befehle enthält, die zur Erzeugung von 3D-Modellen
erforderlich sind. Und das sind erstaunlich wenige, mit denen ich
beispielsweise folgendes Modell der Abbildung 2 erstellt habe. Autowerkstatt von Pola Po310165. Mit gealterter Fassade und allen Reklametafeln. Die Datei, mittels TEdit-3D erzeugt, ist dabei nur 30 kByte groß! (ausgenommen Bilder für Reklametafeln, die werden im Programm per Befehlszeile nur „verlinkt“) Jetzt Geschmack daran gefunden? Um jedem die Scheu zu nehmen, sich selber an die Erstellung von 3D-Modellen zu wagen, dazu sollen folgende Beiträge dienen! (also eben nicht eine komplette Programmbeschreibung!) |
Abb.2 |
Teil 2:
Wissenswerte Grundlagen zum Umgang mit TEdit-3d
Einige
Grundkenntnisse zum besseren Verständnis
Abb.3 |
Im Prinzip ist TEdit-3d nichts anderes als ein „elektronischer Holzbaukasten“, und verwendet ebenso einfache geometrische Körper aus denen dann komplexe Gebäude erstellt werden können: Klötzchen für Klötzchen; Verzeihung, Körper für Körper. Aber beginnen wir zuerst noch einfacher. Bereits auf unserem 2D-Anlagenplan benötigen wir Grundrisse der Modelle (beispielsweise Gebäude). Auch das leistet der 3D-Editor. Man spricht dann von 2D-Objekten. Dies sind: |
Beispiel eines daraus Erstellbahren 2D-Grundrisses:
|
Tabelle 1 |
Nun
zu den Körpern (3D-Objekte): |
Tabelle 2 |
Das
rechtwinkelige Koordinatensystem 2 Achsen, x-Achse und y-Achse genannt, legen eine 2-dimensionale Ebene fest, deren rechtwinkeliger Schnittpunkt den Koordinatenursprung Null darstellt. Jeder Punkt auf dieser Ebene kann durch Angabe seiner Koordinaten eindeutig festgelegt werden. So besitzt beispielsweise der Punkt A die x-Koordinate 20, und die y-Koordinate 10; oder kurz aus gedrückt A=(20,10). Für Punkt C schreiben wir entsprechend C=(40,20). Die Punkte A, B, C, D bilden ein Rechteck, davon später mehr. |
2D 2-dimensional Abb.4 |
3 Achsen, x-Achse, y-Achse und z-Achse genannt, legen einen 3-dimensionalen Raum fest, deren rechtwinkeliger Schnittpunkt den Koordinatenursprung Null darstellt. Wir haben jetzt lediglich zur 2d-Darstellung eine weitere Achse z hinzubekommen. Jeder Punkt in diesem Raum kann durch Angabe seiner Koordinaten eindeutig festgelegt werden. So besitzt beispielsweise der Punkt A die x-Koordinate 20, und die y-Koordinate 10, sowie nun eine z-Koordinate 0, oder kurz aus gedrückt A=(20,10,0). Für Punkt C schreiben wir nun entsprechend C=(40,20,0). Die Punkte A, B, C, D bilden ein Rechteck, davon später mehr. Soweit wäre das langweilig, denn wir haben bis jetzt eigentlich nichts anderes als bereits in Abb.4 dargestellt. Nutzen wir also jetzt noch die z-Achse. In Abb.5 besitzt der Punkt G die x-Koordinate 40, die y-Koordinate 20, sowie die z-Koordinate 30, oder kurz aus gedrückt G=(40,20,30). Die Punkte A, B, C, D, E, F, G, H bilden ein Quader, davon später mehr. |
3D 3-dimensional Abb.5 |
|
Die 2d-Koordinaten für den Grundriss sind im Grunde genommen gleich den entsprechenden 3d-Koordinaten (A, B, C, und D), nur dass den 2d-Koordinaten die z-Koordinaten fehlen. Diese (und ähnliche) Zusammenhänge muss man lernen erkennen zu können; das schärft das „räumliche Denkvermögen“ und hilft dann ungemein bei der Umsetzung eigener Ideen.
Raucht der Kopf? |
Abb.6 |
Teil 3:
Wissenswerte Grundlagen zum Umgang mit TEdit-3d
Die Umsetzung in der Praxis
Im Teil 2 haben wir
einige Grundkenntnisse zum Koordinatensystem aufgefrischt. Diese
Kenntnisse sind wichtig zum Verständnis wie Punkte (und damit auch ganze
Objekte) im 3-dimensionalen Raum festgelegt werden. Erinnern wir uns an die Abb.5 aus Teil 2, und zeichnen diese nur etwas anders hin:
In
Abb.7a sehen wir noch grau dargestellt den Quader an seinem
ursprünglichen Platz (dort soll er später auch wieder hin!). Wir denken
uns den Quader nun zum Ursprung des Koordinatensystems verschoben
(farbiger Quader in Abb.7a). Dann stellen wir uns vor, dass wir
senkrecht auf die Vorderseite des Quaders blicken und erhalten somit die
Ansicht, wie sie in Abb.7b dargestellt ist (man nennt das auch
„Draufsicht“). Nun sieht das doch schon alles viel einfacher aus! Die
Vorderansicht des Quaders liegt nun in der xz-Ebene, also sozusagen in
einer Zeichenebene (nur noch 2-dimensional!), welche durch die x-Achse
und z-Achse aufgespannt wird. Die Vorderansicht wird jetzt zum Rechteck
ABFE. Bei dieser Ansicht kommt,
3-dimensional gedacht, der Punkt G
exakt hinter Punkt F zu liegen, und besitzt daher die gleichen x- und
z-Koordinaten! Wir erinnern uns: Ein Quader wird in TEdit-3d mittels des
Befehls „box“ erstellt, und der Quader wird dabei eindeutig durch seine
Raumdiagonale festgelegt, also durch Angabe seines vorderen unteren
linken Punkt (A) und durch seinen
oberen rechten hinteren Punkt (G). In Abb.
7b erkennen wir: A=(0,y,0)
und G(20,y,30). Das alles erkennen
wir jetzt viel leichter, da wir uns lediglich in einer 2-dimensionalen
Ebene (xz-Ebene) zurechtfinden müssen (wenn wir später der Front noch
Fenster und Türen spendieren möchten, dann geht das genau an dieser
Stelle auf die gleiche Weise). Nun machen wir uns nur noch bewusst, dass
der Quader auch eine „Tiefe“ in y-Richtung besitzt, also y nicht stets
Null ist. Aus Abb.7a erkennen wir, dass die y-Koordinate (die „Tiefe“)
von Punkt G 10 sein muss. Die
y-Koordinate von Punkt A
ist natürlich Null. Somit erhalten wir:
A=(0,0,0) und
G=(20,10,30). Und damit ergibt sich
der Befehl: box 0,0,0
20,10,30. Damit hätten wir im
Prinzip bereits unseren Quader, nur noch nicht an der gewünschten
Position. Punkt A soll nämlich nicht im Koordinatenursprung (0,0,0)
liegen, sondern bei (20,10) in der xy-Ebene! Hier hilft nun der Befehl
„verschieben x,y,z“ des 3D-Editors: verschieben 20,10,0 Möchte man beispielsweise die rechte Seite eines Gebäudes erstellen, so ist die Denkweise die gleich, wie oben ausgeführt. Es gibt hiefür zwei prinzipielle Vorgehensweisen: 1) Man denke sich die Blickrichtung senkrecht auf das Seitenteil des Gebäudes. Dann blickt man nun senkrecht auf die yz-Ebene. Die dann folgende Vorgehensweise entspricht der oben beschriebenen, nur hat man es jetzt mit den y-Koordinaten zu tun, statt mit den x-Koordinaten. 2) Auch für die Konstruktion des Seitenteils benutzt man weiterhin (wie bereits gewohnt) die xz-Ebene (exakt so, wie oben beschrieben). Das Ganze muss aber noch in die richtige Position gedreht werden (und eventuell auch noch in die endgültige Position verschoben werden). Dazu gibt es im 3D-Editer den Befehl „drehen x,y,z,wx,wy,wz“ (siehe unter Hilfe von TEdit-3d). Zum Drehbefehl gibt es noch viel zu sagen, aber davon später. In diesem Teil 3 sollte lediglich die prinzipielle Vorgehensweise beim Erstellen von 3D-Objekten vermittelt werden. Auch wenn es anfänglich noch den Eindruck macht, dass es recht komplex zugeht, so wird man bei etwas Übung sehr schnell feststellen, dass bei dieser beschriebenen Vorgehensweise sehr schnell, effektiv und fehlerfrei gearbeitet werden kann. Hier noch einmal eine kurze Zusammenfassung der wichtigsten Punkte zur Vorgehensweise: - Arbeiten und konstruieren mit Frontansichten (Vorteil: 2d, nicht 3d) - Arbeiten und konstruieren in einer Zeichenebene (xz-, yz-, oder xy-Ebene) - Nutzung des Befehls „verschieben“ - Nutung des Befehls „drehen“ Eine wohlgemeinte Empfehlung: Wer bis hierhin gelesen hat, sollte sich
Es wird
meist nur Frust bringen, wenn man sich ungeduldig gleich das Projekt
Hauptbahnhof Berlin vornimmt! Und bitte nicht den Flughafen!!! Wie gesagt, es soll in diesen Beiträgen nicht das Programm TEdit-3d zur Gänze erklärt werden. Vielmehr sollen Praktiken und Vorgehensweisen zur Erstellung von 3D-Objekten vermittelt werden, damit letztlich auch die Erstellung komplexer Objekte flüssig leicht von der Hand gehen. Hierzu werden in den folgenden Teilen noch viele Tipps und Anregungen folgen. |
Teil 4:
Wissenswertes über Gebäudeerstellung mit TEdit-3d
Gebäudeerstellung in der Praxis
Im Teil 3 haben wir
lediglich Grundkenntnisse aufgefrischt. So wurde hier unser „Hochhaus“
sehr primitiv nur durch einen einzigen Quader repräsentiert. Dies
befriedigt natürlich nicht in der Praxis! Wir benötigen wenigsten Wände
der Vorderseite, der Rückseite, sowie die beiden Seitenwände, um darin
Fenster und Türen einzufügen. Wir können bei der Konstruktion im
3D-Editor vom Prinzip her genauso vorgehen, als hätten wir einen Bausatz
vor uns, bei dem wir auch Türen und Fenster zuerst in die entsprechenden
Wandteile setzen und erst dann die Wandteile zusammenfügen. |
Abb.8a zeigt noch mal eine 3D-Ansicht. Jede
Hauswand |
Wir betrachten obiges Listing der box-Befehle einmal genauer. Augenfällig ist die Ähnlichkeit der Koordinaten: Abb.8b Front (gelb): ð stets vom Koordinatenursprung ausgehend ð Wandbreite Front und Rückseite (in x-Richtung) ð Wandbreite linke und rechte Seite (in x-Richtung) ð Alle Wände gleiche Wandstärke (in y-Richtung!) ð Alle Wände gleiche Höhe(in z-Richtung) Das ist der Vorteil,
den eine Konstruktion in einer 2D-Koordinaten-Ebene bietet! Im Grunde brauchen wir
nur ein box-Befehl im 3D-Editor einzutippen, und können ihn 3 mal
Kopieren; anschließend brauchen nur die zweiten x-Koordinaten der
letzten beiden box-Befehle korrigiert werden Natürlich befinden sich mit unserem obigen Listing noch nicht alle Wände an ihren richtigen Positionen. Aber dafür dienen die Befehle „verschieben“ und „drehen“.
|
Aber sehen wir uns das Koordinatensystem mit unseren vier Wänden einmal von oben (=Draufsicht) an. Wir blicken dann senkrecht auf die xy-Ebene und sehen so zu sagen den Grundriss des Gebäudes |
Sehen wir uns als erstes die Front an:
|
color 1.00,1.00,0.00 // gelb box 0,0,0, 20,2,30 |
Das Listing im 3D-Editor ist sehr einfach (d ist die Wandstärke). Hier muss nichts verschoben oder gedreht werden.
Die Rückwand:
|
color 0.00,1.00,1.00 // hell blau verschieben 20,10,0 drehen 0,0,0, 0,0,180 // Drehe um die z-Achse um 180 Grad (links = mathematisch positiver Drehsinn!) box 0,0,0, 20,2,30 drehen 0 // Drehung wieder auf 0 Grad verschieben -20,-10,0 // Verschieben rückgängig |
- erst verschoben werden (2): 20 nach rechts, 10 nach oben, und - dann gedreht werden (3): 180 Grad Wichtig ist die
Reihenfolgen: erst verschieben, dann drehen, dann die Box eingeben;
danach in umgekehrter Reihenfolge, den Drehbefehl aufheben und dann die
Verschiebung rückgängig machen! Siehe Listing des 3D-Editors oben neben
der Abb.9c. |
|
color 1.00,0.50,0.25 // hell rot verschieben 20,0,0 drehen 0,0,0, 0,0,90 // Drehe um die z-Achse um 90 Grad (links = mathematisch positiver Drehsinn!) box 0,0,0, 10,2,30 drehen 0 // Drehung wieder auf 0 Grad verschieben -20,0,0 // Verschieben rückgängig |
Die rechte Seite: |
|
color 0.00,1.00,0.00 // hell grün verschieben 2,0,0 drehen 0,0,0, 0,0,90 // Drehe um die z-Achse um 90 Grad (links = mathematisch positiver Drehsinn!) box 0,0,0, 10,2,30 drehen 0 // Drehung wieder auf 0 Grad verschieben -2,0,0 // Verschieben rückgängig |
Beachte: in den obigen
Abbildungen sind die Verschiebungen immer in
grau dargestellt. Man kann auch
sagen, die Koordinatenachsen x und y werden durch die Verschiebung zu
Koordinatenachsen x´ und y´ Alle oben erklärten 4
Schritte (die 4 Wände) hintereinander ausgeführt ergeben: |
|
color 1.00,1.00,0.00 // gelb |
Das
Listung des 3D-Editors liefert dann auch die erwartete 3D-Ansicht:
Abb.9f |
Teil 5:
Wissenswertes über Gebäudeerstellung mit TEdit-3d
Türen und
Fenster einer Front
Im vorangehenden Teil 4
wurde gezeigt wie generell Wände stets in der xz-Ebene erstellt werden,
und dann in ihre gewünschte Position gebracht werden. |
|
Wir verwenden die uns bereits vertraute Methode und konstruieren in der xz-Ebene. Unsere Hausfassade messen wir aus, erstellen eine kleine Skizze, und tragen darin die Maße ein.
Zum Beispiel links Die Aussparrungen für Türen und Fenster teilen unsere Hausfassade in 7 Wandelemente (gelb und orange dargestellt) auf. Die Rahmenstärke d von Tür und Fenstern (blau dargestellt) sei 1 mm. |
|
|
Wählen wir für die Wandstärken wieder 2 (Koordinate in y-Richtung), und konstruieren in bereits gewohnter Manie in der xz-Ebene, so erhalten wir: Wandelement 1: box
0,0, 0, 20,2,
6 Die y-Koordinaten im Listing oben wurden in der Farbe Magenta hervorgehoben; es handelt sich um die Wandstärken von 0 nach 2 in y-Richtung des Koordinatensystems. Obige Befehle im 3D-Editor eingegeben, ergibt das Listing L1:
color 1.00,1.00,0.00 // gelb |
|
Die Farbbefehle wurden nur gewählt, um die gleiche anschauliche Darstellung wie Abb.10b zu erhalten. Die 3D-Ansicht des 3D-Editors sieht folglich wie in Abb.11 dargestellt aus. |
Anmerkung: oben im Listing L1 fällt auf, dass der Farbbefehl gelb unnötig doppelt auftritt (ich wählte dies nur, um die Übersicht zu wahren, nämlich die Reihenfolge der Wandelemente 1 bis7). Wenn wir später einmal sehr viele Befehlszeilen für ein 3D-Objekt haben, und auch sehr viele 3D-Objekte erstellt haben, welche alle in einem Gleisplan geladen werden müssen und bei einer 3D-Ansicht dann auch berechnet werden müssen, bedeutet jede unnötige Befehlszeile mehr Berechnungszeit. Man sollte folglich stets bemüht sein das Listing zu „kürzen“ wo immer es geht. In unserem Fall können wir also die Wandelemente nach Farbe sortieren. Wir erhalten das Listing L2: color 1.00,1.00,0.00 //
gelb und damit eine Befehlszeile weniger. Um es übersichtlicher
zu gestalten, können wir auch noch Kommentare einfügen: //
Front 1 Nun wollen wir Türen und Fenster einfügen. Der 3D-Editor von WinTrack bietet hier eine elegante Funktion an „Fenster einfügen“, zu finden in der Menüleiste, dort das kleine Fenster mit den blauen Scheiben: |
|
Wir erinnern uns an unsere kleine Skizze Abb. 10a |
Klicken auf das
Fenstersymbol in der Menüleiste, und erhalten die Abb.12 In diesem Menü lassen sich alle Werte mühelos eintragen. Die Werte für das linke Fenster unseres Beispiels habe ich hier bereits eingegeben. Ein Klick auf OK liefert das fertige Listing samt Kommentar in den 3D-Editor: |
// Fenster: 10.00,1.00,6.00, 3, 10.00,10.00, 0.50,1.00, 0,0,1.20,1.20, 0.00,0.00, 0.00 // Rahmen box 5.00,1.00,6.00, 15.00,2.00,6.50 box 5.00,1.00,16.00, 15.00,2.00,15.50 box 5.00,1.00,6.00, 5.50,2.00,16.00 box 15.00,1.00,6.00, 14.50,2.00,16.00 Komfortabler geht es wirklich nicht mehr! Das komplette Listing unseres Beispiels sieht nun wie folgt aus (ich habe nur, wie in unserer Skizze, die Farbe hell blau eingefügt, und das Wort „links“ bei dem Kommentar Fenster): Listing 4:
color 1.00,1.00,0.00 // gelb |
|
Der Editor zeigt damit
die 3D-Ansicht der Abb.13 Man erkennt sehr schön den im Mauerwerk zurückgesetzten hell blauen Fensterrahmen. |
|
Anmerkung: Eine genaue Beschreibung des Menüs „Fenster“ ist in der Hilfe des Programms nachzulesen. Dort steht unter „Richtung“, dass Ausrichtungen nur in +/- x,y,z-Richtungen möglich sind (für das Dialogfenster korrekt), andere Richtungen „von Hand“ mit dem Befehl HEXAEDER konstruiert werden müssen. Nun, der Text stammt noch aus der Zeit als es noch keinen Drehbefehl gab! Öffnen wir also das Fenster um 45 Grad mit nur einem zusätzlichen Drehbefehl; dazu das Listing unten:
|
// Fenster 45 Grad
geöffnet Wir erkennen also wie mächtig der Befehl „Drehen“ ist: statt umständlich mit vielen Hexaeder-Befehlen zu arbeiten, kann mit vorgegebenen Eingabehilfen gearbeitet werden. Nachträglich wird das Objekt in seine endgültige Position gebracht (auch den Befehl „Verschieben“ nicht vergessen! So können beispielsweise mit dem Befehl „Fenster“ auch Schiebetore schnell erstellt werden und in Position gebracht werden). Die in diesen Beispielen verwendeten Farben wurden zur Verdeutlichung konstruktiver Elemente gewählt und entsprechen natürlich nicht den Farben welche man bei einem reellen 3D-Objekt verwenden würde.
TIPP: |
Abb.15 |
Zum Abschluss unsere Hausfront in etwas realistischeren Aussehen |
Ich verzichte hier bewusst auf Beschreibung und Listing der Abb. 15! In dieser kleinen Beitragsfolge sollen Grundlagen zum besseren Verständnis des 3D-Editors von WinTrack behandelt werden. Die eigentliche Programmbeschreibung ist der ausgezeichneten Hilfe zu entnehmen. Die erforderlichen Fertigkeiten erreicht man nur durch Übung (wie stets). Also probieren Sie einmal das Ergebnis von Abb. 15 selbst zu erreichen – es ist nicht schwer! |
Teil 6: Wissenswertes über Gebäudeerstellung mit TEdit-3d
Rundbögen und der Befehl Hexaeder
Da der Befehle Hexaeder nicht ganz trivial ist, möchte ich hierzu ein paar Hinweise geben. Hexaeder bedeutet Sechsflächner, er besitzt also 6 Seiten, genau wie ein Würfel und wie ein Quader. Nur ist ein Hexaeder ein viel allgemeineres Gebilde, d. h. seine Seiten können alle verschieden groß sein und brauchen auch nicht parallel zueinander sein. Um nicht nur Theorie zu haben, wählen wir zur Veranschaulichung gleich ein praktisches Beispiel wo wir den Hexaederbefehl geradezu anwenden müssen. Da der 3D-Editor keinen Befehl für Rundbögen bereitstellt, müssen wir Bögen also mittels mehr oder weniger vielen Hexaedern näherungsweise nachbilden. Es wäre ungeschickt einen Rundbogen gleich irgendwie im freien Raum hinein konstruieren zu wollen. Viel geschickter, wir wählen uns dazu erst einmal eine ebene, zweidimensionale Fläche aus; sagen wir die x/z-Ebene des 3D-Editors. Für unseren Rundbogen nehmen wir einen Halbkreis K1 mit Durchmesser d1=20 LE (LE = LängenEinheit; im Listing von TEdit3D wählen wir z. B. einen Faktor von 10, dann sind dort 20 LE = 200mm). Der Bogen soll eine Stärke von 1 LE haben, somit nehmen wir einen zweiten Halbkreis K2 mit Durchmesse d2=18 LE. Dies können wir z.B. auf Millimeterpapier zeichnen (1:1, oder besser noch in einem vergrößerten Maßstab, um die Koordinaten darin genauer ablesen zu können, z. B. 2:1 oder 4:1). Wir erhalten also folgende Zeichnung: |
Der
exakte Rundbogen wird durch die beiden blauen Halbkreise K1 und K2
dargestellt, die in der x/z-Ebene liegen. Wir teilen den linken
Viertelkreis in der Mitte auf: Punkt P5 und P6. Damit erhalten wir
unseren ersten rot dargestellten Hexaeder in einer seitlichen Ansicht
mit den Punkten P1,P2,P6,P5. Haben wir unseren Rundbogen auf
Millimeterpapier gezeichnet, können wir die ersten x-Koordinaten dort
ablesen oder ausrechnen: P1= -10, P2= -9, P5= -7.07, P6= -6.36. Da |
Damit stehen uns auch die x- Koordinaten des rechten Hexaeders schnell
zur Verfügung: |
Wir
weisen unserem Rundbogen noch eine Breite von |
|
Abb18 |
Da Hexaederkoordinaten (Punkte) des linken Viertelkreises spiegelsymmetrisch zu denen des rechten Viertelkreises sind, lässt sich folgender Zusammenhang erkennen: |
Abb.19 |
Man braucht sich also lediglich die Koordinaten der Hexaeder im linken Viertelkreis zu verschaffen, dann entsprechende Vorzeichen einfach umzukehren, und die Punkte kreuzweise vertauschen, um die Hexaeder in richtiger Reihenfolge für die rechte Seite zu bekommen. Die eckigen Pfeilklammern kennzeichnen Punkte mit gleichen x/z-Koordinaten, die sich nur in der y-Koordinate unterscheiden. Dieses Wissen kann man dazu verwenden um (a) richtige Reihenfolge der Punkte, (b) schnelles Erstellen der rechten Hexaeder durch Kopieren, Vorzeichenwechsel und Vertauschen der Koordinaten von linken Hexaedern, (c) schnelle Überprüfung auf Fehler zu erreichen. Diese Arbeit wird leichter, wenn man im Listing zwischen den einzelnen Punkten entsprechende Leerzeichen einfügt, damit die Darstellung übersichtlich wird. Solange man mit dem Hexaederbefehl, insbesondere bei der Erstellung von Bögen, noch nicht so geübt ist, kann auch eine Tabelle hilfreich sein, in der man alle Koordinaten erst einmal einträgt: |
0Abb.20 |
Hier ein Beispiel eines Torbogens auf Millimeterpapier Abb.21 in der Bildmitte eine 3D-Ansicht des 3D-Editors |
Anmerkungen: Man kann auch Originalmodelle scannen und in ein Zeichenprogramm importieren (z.B. CorelDraw), ein Hilfslinienraster (Millimeterpapier) anlegen, alles vergrößern, Linien nachzeichnen, etc. und Koordinaten dort ablesen. Es gibt auch kleine Programme mit denen man die Koordinaten von verschiedenen geometrischen Körpern berechnen kann. Ein solches ist z. B. Geometrix.. Hier der Link zu Geometrix. Beispiel "Torbogen": |
Abb.22 |
Wie bereits bekannt, im 3D-Editor ist alles was nach den Zeichen „//“ kommt Kommentar (also keine Befehle). Also, „//P01 bis //P13“ sind jeweils die Ergebnisse, die Geometrix ausgibt, wenn jeweils Mittelpunkt M, Durchmesser d, und Lochzahl in Geometrix eingegeben wird. Durch einfaches Kopieren dieser errechneten Werte und Einfügen in den 3D-Editor sind die entsprechenden Hexaeder schnell erstellt. Das obige Listing enthält sehr viele Kommentarzeilen; sie sollen dem Leser lediglich helfen, die Zuordnung der Koordinaten besser zu erkennen. Weiterhin helfen Leerzeichen im Listing dieses übersichtlicher zu gestalten (dies sollte man wenigsten so lange tun, bis man geübter ist; auch Fehler lassen sich so schneller erkennen). |
Das
Ergebnis des oberen Listings in der 3D-Ansicht: Torbogen Abb.23 |
Hinweis: Soll ein solcher Torbogen Bestandteil einer Hausfassade sein, so sind angrenzende Wände an den Rundbereichen des Torbogens natürlich ebenfalls durch Hexaeder darzustellen.
Ich sage nur, viel
Spaß beim Üben. Hexaeder können es in sich haben! |
Teil 7:
Wissenswertes über Modellerstellung mit TEdit-3d
Farbgebung und Farbwahl: der Befehl color
Einige Anmerkungen zum Befehl [color 0.00, 0.00, 0.00] : Mit Hilfe dieser drei Werte lassen sich dann alle Farben darstellen. So wäre dann z.B. die Werte für ein reines Rot 255, und die Werte für Grün und Blau jeweils Null. Also R=255, G=0, B=0. Man sollte also erwarten, dass der Befehl für Rot dann [color 255,0,0] lauten sollte. Dies ist aber nicht der Fall! In WinTrack - und in TEdit3D - heißt der Befehl vielmehr [color 1,0,0]. Verwendet man den in TEdit3D eingebauten Color-Befehl und wählt hier Rot, so erhält man im Listing [color 1.00,0.000,0.00], also mit zwei Stellen hinter dem Komma. Wir werden gleich sehen warum! Kein Rot bedeutet 0, volles Rot bedeutet 255 (Farbauflösung 256 Farben). WinTrack nun normiert die Farbanteile von 0 bis 255 auf 0 bis 1! Deshalb benötigt WinTrack auch die Kommastellen bei den Farbanteilen. Verwirrt? Aber es ist ganz einfach: 1. Hat man die Farbanteile im RGB-Format vorliegen, z.B. 255,128,64, also R=255, G=128, B=64 und möchte nun exakt diese Farbe in WinTrack darstellen, so teile man lediglich jeden einzelnen Farb-Wert durch 255. Also R=255/255=1, G=128/255=0.50, B=64/255=0.25. Also erhält man in WinTrack (bzw. in TEdit3D) mit dem Farbbefehl [color 1, 0.5, 0.25] exakt die helle Orange-Farbe.
2.
Umgekehrt erhält man die RGB-Formate indem man die Farbwerte von
WinTrack mit 255 multipliziert. Also [color 1,0.5,0.25] Welchen Nutzen hat man von diesem Wissen? Viele Programme in Windows zeigen Farben im RGB-Format an. Beispiel: mittels eines Scanners holt man sich eine Vorlage eines Modells in den Rechner, um dessen Farbe exakt zu bestimmen (und sie nicht per Augenmaß zu schätzen). Mit dem Cursor, oder besser mit der Pipette, fährt man über die Farbe die man bestimmen will. Hierbei werden meist die Farbanteile in RGB angegeben: |
jetzt muss man die Zahlenwerte nur noch durch 255 teilen, um sie direkt im color-Befehl eingeben zu können und TEdit3D erzeugt exakt die Farbe des Originalmodells! |
Kurzfassung:
// Der Farbbefehl color
Besonderheiten:
Beispiel: Von einer Straßenbahn verschafft man sich ein Bild (beispielsweise aus dem Internet). Dieses Bild lädt man in geeignetes Programm, welches ausgewählte Farbbereiche im RGB-Modus zur Anzeige bringen kann. Ich verwende hier Corel PhotoPaint: |
Abb.24 |
Mit
Hilfe der Pipettenfunktion (Farbauswahl-Anzeige) wählt man an einer
geeigneten Stelle sein Blau aus. In Abb. 24 werden im rechten Fenster
die entsprechenden RGB-Werte angezeigt: R=62,
G=116,
B=212. Für den 3D-Editor teilen wir
jeden Wert durch 255 und erhalten: r=0,24,
g=0,45,
b=0,83. Damit lautet der Color-Befehl
in TEdit-3D: |
Im WinTrack wird die
Farbe dann so dargestellt: Abb. 25 |
|
Entsprechend werden in Abb. 24 im linken Fenster die entsprechenden
RGB-Werte für die Scheiben angezeigt: R=53,
G=57,
B=58. Für den 3D-Editor teilen wir
jeden Wert durch 255 und erhalten: r=0,21,
g=0,22,
b=0,23. Damit lautet der Color-Befehl
in TEdit-3D: |
Im WinTrack wird die
Farbe dann so dargestellt: |
Eine andere Möglichkeit die getönten Scheiben darzustellen, wäre der Texture-Befehl im 3D-Editor. Dazu schneidet man sich mittels eines Foto-Nachbearbeitsprogramms einen kleinen geeigneten Bildausschnitt im Scheibenbereich der Fotovorlage aus, hier z. B. gelb markierter Bereich: |
Abb. 27 |
Dieses kleine
„Scheiben-Bild“ speichert man dann im Format bmp (!) mit
der Pixelgröße 128 x 128 (!) |
Hinweis:
mehr zum Thema finden Sie im Teil 1 meiner
Homepage:
http://www.hjb-electronics.de/, dort unter "3D-Modellkonstruktion", wie auch unter "WinTrack TIPPs". |
Teil 8:
3D-Editor in der Praxis
Funktion Treppe in TEdit-3D
Immer wieder stelle
ich fest, dass Anwender den 3D-Editor von Wintrack nicht benutzen, weil
er ihnen zu schwierig erscheint. Zugegeben, möchte man beispielsweise den Hauptbahnhof Bonn erstellen (was natürlich möglich ist) so wird dies eine Herausforderung sein, welcher man sich nur stellen sollten, nachdem man bereits einfache und übersichtliche 3D-Modelle erstellt hat und darin die erforderliche Übung erlangt hat. Ein Beispiel für ein solch einfaches und dennoch äußerst nützliches 3D-Modell möchte ich im Folgenden beschreiben |
Abb.29 |
In meiner Modelleisenbahnplanung habe ich eine Stützmauer mit Geländer
mittels Wintrack 13 eingefügt. Das obere Gleis hat die Höhe 0, das
untere die Höhe -90 (alle Angaben in Millimeter!). Wie schön wäre eine Treppe! Nun, dafür gibt es den 3D-Editor in Wintrack. Die Höhe der Treppe ergibt sich aus dem Höhenunterschied der Gleise, also 90. Aber wie breit, wie lang ist die Treppe, und wie viele Stufen hat sie? Auch das kann mittels des Programms ermittelt werden, was nun gezeigt werden soll. |
Abb.30 | Wir öffnen den 2D-Gleisplan in
zoomen groß auf die entsprechende Stelle. Die Breite der Treppe ermittelt Wintrack, in dem wir Klick 1 und 2 ausführen; unten in der Statusleiste wird der Wert 12 angezeigt. Also Breite B=12mm. Die Länge der Treppe wird durch Klick 3 und 4 an gewünschten Stellen ermittelt; in der Statusleiste wird der Wert 46 angezeigt. Also Länge L=46mm. Somit kennen wir nun die Treppenabmessungen H=90, B=12, L=46 |
Aber wie viele Stufen hat die Treppe und wie
ist die Stufentiefe? Nun, das rechnen wir kurz aus: Sagen wir, die Stufenhöhe soll in der Realität 20 cm (also 200 mm) betragen. Im Maßstabe 1:87 bedeutet das 200:87=2,3mm. 2,3 mm pro Stufe ergibt bei eine Gesamthöhe von 90 mm 90:2,3=39,1 Stufen. Wir vereinfachen: Stufenhöhe = 2 und Stufenzahl = 39 Nun können wir bereits den 3D-Editor bemühen. Abb.31 |
Abb.32 |
Wir rufen TEdit-3D auf. In der oberen Menüleiste finden wir ein Symbol "Treppe einfügen", was uns die Arbeit ungemein erleichtert. Ein Klick darauf öffnet ein Eingabefenster: |
Hier tragen wir die oben
ermittelten Werte ein. Hinweis: in der Hilfe von TEdit-3D finden wird dazu weitere Informationen. Nach einem Klick auf die Schaltfläche "OK" erstellt das Programm automatisch ein entsprechendes Listing. Und wir können uns auch gleich in einer 3D-Darstellung einen Eindruck von der Treppe verschaffen. Listing und 3D Bild siehe unten. Abb.33 |
// Treppe: -46.00,0.00,0.00, 0.00,0.00,90.00,
39,2.00,12.00,2.00,12.00,2.00, 0.00 box -46.00,-6.00,0.00, -48.00,6.00,2.00 box -44.79,-6.00,2.37, -46.79,6.00,4.37 box -43.58,-6.00,4.74, -45.58,6.00,6.74 box -42.37,-6.00,7.11, -44.37,6.00,9.11 box -41.16,-6.00,9.47, -43.16,6.00,11.47 box -39.95,-6.00,11.84, -41.95,6.00,13.84 box -38.74,-6.00,14.21, -40.74,6.00,16.21 box -37.53,-6.00,16.58, -39.53,6.00,18.58 box -36.32,-6.00,18.95, -38.32,6.00,20.95 box -35.11,-6.00,21.32, -37.11,6.00,23.32 box -33.89,-6.00,23.68, -35.89,6.00,25.68 box -32.68,-6.00,26.05, -34.68,6.00,28.05 box -31.47,-6.00,28.42, -33.47,6.00,30.42 box -30.26,-6.00,30.79, -32.26,6.00,32.79 box -29.05,-6.00,33.16, -31.05,6.00,35.16 box -27.84,-6.00,35.53, -29.84,6.00,37.53 box -26.63,-6.00,37.89, -28.63,6.00,39.89 box -25.42,-6.00,40.26, -27.42,6.00,42.26 box -24.21,-6.00,42.63, -26.21,6.00,44.63 box -23.00,-6.00,45.00, -25.00,6.00,47.00 box -21.79,-6.00,47.37, -23.79,6.00,49.37 box -20.58,-6.00,49.74, -22.58,6.00,51.74 box -19.37,-6.00,52.11, -21.37,6.00,54.11 box -18.16,-6.00,54.47, -20.16,6.00,56.47 box -16.95,-6.00,56.84, -18.95,6.00,58.84 box -15.74,-6.00,59.21, -17.74,6.00,61.21 box -14.53,-6.00,61.58, -16.53,6.00,63.58 box -13.32,-6.00,63.95, -15.32,6.00,65.95 box -12.11,-6.00,66.32, -14.11,6.00,68.32 box -10.89,-6.00,68.68, -12.89,6.00,70.68 box -9.68,-6.00,71.05, -11.68,6.00,73.05 box -8.47,-6.00,73.42, -10.47,6.00,75.42 box -7.26,-6.00,75.79, -9.26,6.00,77.79 box -6.05,-6.00,78.16, -8.05,6.00,80.16 box -4.84,-6.00,80.53, -6.84,6.00,82.53 box -3.63,-6.00,82.89, -5.63,6.00,84.89 box -2.42,-6.00,85.26, -4.42,6.00,87.26 |
Abb.34
3D-Ansicht von TEdit-3D Doch leider ist es damit noch nicht ganz getan (obwohl das Meiste die Software für uns erledigt hat). Was wir noch manuell ergänzen: - standardmäßig den Faktor damit wir im 2D-Plan beim Einfügen der Treppe auch ein 2D-Objekt angezeigt bekommen: - einen Anfasser (zum Verschieben und positionieren) - einen gewünschten Farbbefehl - ein Rechteck, welches die Treppe in einer 2D-Draufsicht darstellt. Für das 3D-Objekt legen wir noch die Farbe fest. Damit stellen wir dem links dargestellten Listing folgende Einträge voran: faktor 1.2,1 //2D anfasser2d 0,0 color 0.50,0.50,0.50 // mittel-grau rechteck2d 0,0, -46,12, 1 // 3D color 0.50,0.50,0.50 // mittel-grau Im 3D-Editor speichern wir nun unter einem geeigneten Namen in das Verzeichnis, in dem unsere eigenen Modelle vom Programm zu finden sind (models2). Alsdann importieren wir das Objekt (also die Treppe) im Programm. Damit steht die Treppe als Objekt zur Verfügung. |
Abb.35 | In meiner Anlagenplanung habe ich
nun im 2D-Plan an gewünschter Stelle die Treppe eingefügt (in der linken
Abbildung rotes Rechteck). Anschließend in Position gedreht und nach Aufruf der 3D-Ansicht einige Male in der Position (im 2D-Plan!) korrigiert (natürlich muss man dazu die 3D-Ansicht jedes Mal schließen und neu öffnen). Das Ergebnis kann sich dann aber durchaus sehen lassen, wie die folgende Abbildung zeigt. |
Abb.36 | Im Grunde ganz einfach,
wenn man sich die Schritte logisch überlegt: 1. Höhe, Breite, Länge der Treppe (mit Hilfe des Programms) ermitteln. 2. Treppenstufenhöhe festlegen und Stufenzahl aus der Höhe berechnen. 3. Im 3D-Editor die Funktion Treppe aufrufen und die ermittelten Zahlen eingeben. 4. Das Listung für eine 2D-Objektdarstellung ergänzen und gewünschte Farbe eintragen. 5. Objekt im Ordner models2 speichern. 6. Objekt im Programm importieren. 7. Objekt steht zur Verfügung und kann im Plan eingefügt werden. In nur 7 einfachen Schritten ist das erledigt! |
3D-Editor in der Praxis
Gully erstellen mit der
Funktion Fenster in TEdit-3D
Abb.37 | Wir wollen einen Gully
(Kanaldeckel) mit 1 waagerechten und 2 senkrechten Streben erstellen. Dazu wird elegant die Funktion "Fenster" des 3D-Editors zweckentfremdet. Wir klicken also im Editor auf "Fenster erstellen": |
Abb.38 | Die Positionen x, y, z belassen
wir auf Null, ebenso die Markierung auf +X. Fensterhöhe und Fensterbreite setzen wir auf 8 (unser Gully 8mm mal 8mm). Rahmenbreite und -Dicke (Gullyrahmen), sowie Sprossenbreite und -Dicke (Gullygitter) setzen wir auf 0.5mm (Achtung: Eingabe ist 0 "Punkt" 5, nicht 0 "Komma" 5!). Waagerechte Sprossen = 1, und Senkrechte Sprossen = 2 (Gullygitter). Wenn wir möchten, können wir noch eine "Fensterscheibe" einsetzen; wir können dann später im Listing eine dunkle Farbe einfügen, dann erscheint die Gullyöffnung realistisch dunkler als die Straße. Wir klicken auf OK und das Listing erscheint. Unser Gully (das Fenster) steht natürlich senkrecht, was wir nachträglich ändern. Auch fehlt noch ein Anfasser, sowie eine 2D-Ansicht für unser 3D-Objekt Gully. Dies wird nun beschrieben. |
// Gully_2 // Modellumsetzung und ©:Hans-Joachim Becker 04.12.2017 // alle Angaben in mm faktor 1.0,1.0 anfasser2d 4,4 // Mitte oben // 2D color 0.00,0.00,0.00 // schwarz rechteck2d 0,-4, 8,4, 1 // 3D verschieben 0,0,7.5 // Anpassung auf Fahrbahn-Niveau: +7.5mm höher drehen 0,0,0, 0,90,0 // flach, auf xy-Ebene // Fenster: 4.00,0.00,0.00, 1, 8.00,8.00, 0.50,0.80, 1,2,0.50,0.80, 0.00,0.00, 0.50 // Rahmen box 4.00,-4.00,0.00, 4.80,4.00,0.50 box 4.00,-4.00,8.00, 4.80,4.00,7.50 box 4.00,-4.00,0.00, 4.80,-3.50,8.00 box 4.00,4.00,0.00, 4.80,3.50,8.00 // Sprossen box 4.00,-1.50,0.50, 4.80,-1.00,7.50 box 4.00,1.00,0.50, 4.80,1.50,7.50 box 4.00,-3.50,3.75, 4.80,3.50,4.25 // Glas color 0.38,0.38,0.38 //sehr dunkles grau box 4.15,-3.50,0.50, 4.65,3.50,7.50 |
Nach
den Zeichen "//" steht nur ein erklärender Text standardmäßiger Faktor (für H0) Anfasser des 2D-Objekts im Gleisplan. Gully ist 8x8, also ist 4x4 Mitte oben. Gully 2D-Objekt in Farbe Schwarz (Colorbefehl im Editor wählbar) 2D-Objekt Rechteck untere linke Ecke 0,-4, obere rechte Ecke 8,4 3D-Objekt wir heben den Gully in Z-Richtung (Höhe) um 7.5mm an, damit er bei einer eingefügten Fahrbahn aus der Teerdecke ragt. Wir drehen das Fenster, also den Gully, in die Waagerechte. Dieser Teil des Listings wurde mit der Funktion "Fenster" automatisch generiert und bleibt unverändert. | | | | | | | | | | Hier fügen wir den Colorbefehl für das Gullyloch (Scheibe) ein. | |
Anmerkung: das oben stehende Listing kann bei
gedrückter linken Maustaste markiert werden und anschließend in die
Zwischenablage kopiert werden (Tasten "Strg + C"). Dann öffnet man
Wintrack 3D-Editor und fügt den kopierten Inhalt der Zwischenablage ein
(Tasten "Strg + V". Und schon hat man das 3D-Modell Gully_2 verfügbar. Wir speichern unser Listing z. B. unter dem Namen "Gully_2" (Gully_1 folgt noch) in unser Wintrack-Verzeichnis für eigene Modelle (Ordner "models2"). Im 3D-Editor können wir zur Überprüfung noch auf die Schaltfläche klicken und die 3D-Ansicht aufrufen. |
Abb,39 |
Im Gleisauswahlfenster wählen wir
zuerst die Bibliothek in der unser 3D-Objekt (der Gully) gespeichert
werden soll, siehe 1
und 2. Dann klicken wir auf "Extras" 3 und weiter auf "3D-Modell importieren..." 4 Es öffnet sich ein weiteres Fenster, indem wir zum Ordner navigieren, in dem wir unseren Gully gespeichert hatten: Abb.40 |
Abb.41 |
Es öffnet sich abermals ein weiteres
Fenster. Hier wird unter "Bezeichnung" automatisch der Dateiname eingetragen. Die Endung".te3" benötigen wir nicht zwingend und entfernen diese. Unter "Größe im Gleisauswahlfenster" erhöhen wir den Vorgabewert "5" auf "20" (max.), da der kleine Gully sonst im Gleisauswahlfenster zu klein erscheint. Kurzbezeichnung können wir lassen, ebenso Artikel-Nr. (für Gleisplan), da es fürs eigene Modell ja keine Artikelnummer gibt (wer mag kann hier auch was Anderes eintragen). Anschließend Klick auf OK und unser Modell erscheint ganz unten in unserer gewählten Bibliothek. [auf die gleiche Weise wird auch die oben beschriebene Treppe importiert] |
Abb.42 2D-Plan |
Abb.43 3D-Ansicht |
Erstellen wir in Wintrack einen
kleine Plan mit einer Fahrbahn und einem Bürgersteig und fügen dort
unseren Gully ein, so erhalten wir die links stehenden Ansichten. Also, mit Ausnutzung der Funktion "Fenster" des 3D-Editors ist des Modell Gully schnell erstellt. |
Gully_1:
// Gully_1 // Modellumsetzung und ©:Hans-Joachim Becker 04.12.2017 // alle Angaben in mm faktor 1.0,1.0 anfasser2d 2.5,0 // 2D color 0.00,0.00,0.00 // schwarz rechteck2d 0,0, 5,5, 1 // 3D verschieben 0,0,3.5 // Anpassung auf Fahrbahn-Niveau: +3.5mm höher drehen 0,0,0, 0,90,0 // flach, auf xy-Ebene // Fenster: 0.00,0.00,0.00, 1, 5.00,5.00, 0.50,0.50, 1,1,0.50,0.50, 0.00,0.00, 0.50 // Rahmen box 0.00,-2.50,0.00, 0.50,2.50,0.50 box 0.00,-2.50,5.00, 0.50,2.50,4.50 box 0.00,-2.50,0.00, 0.50,-2.00,5.00 box 0.00,2.50,0.00, 0.50,2.00,5.00 // Sprossen box 0.00,-0.25,0.50, 0.50,0.25,4.50 box 0.00,-2.00,2.25, 0.50,2.00,2.75 // Glas color 0.38,0.38,0.38 //sehr dunkles grau box 0.00,-2.00,0.50, 0.50,2.00,4.50 |
Links noch
ein Listing für einen kleinen Gully_1 Ebenso erstellt wie der Gully_2 |
|
Abb.44 Viel Erfolg beim Ausprobieren! |
Mögen diese Beispiele Anregung sein, sich mit dem äußerst nützlichen Tool des 3D-Editors von Wintrack zum Erstellen eigener 3D-Modelle zu beschäftigen! |
Gully und Kanaldeckel auf meiner
Anlagenplanung Abb.45 |
Teil 9:
3D-Editor in der Praxis
siehe auch
Teil 10 weiter unten auf der Seite
Funktion Textur in TEdit-3D
Unter der Rubrik WT3D-Downloads sind mittlerweile etliche 3D-Symbole zu finden, bei denen Texturen verwendet wurden. Auch wenn es zutreffen sollte, dass viele Anwender - trotz ausführlicher Hilfen auf dieser Seite - sich scheuen den 3D-Editor zu verwenden, so möchten diese vielleicht lediglich in den herunterladbaren Symbolen Texturen durch andere ersetzen. Beispielsweise um andere Verkehrszeichen, Eisenbahnschilder, Richtungsschilder, Reklametafeln, oder Automaten, zu erstellen. Aber auch wenn hierzu meistens der Austausch einer einzigen Zeile in der heruntergeladenen Datei erforderlich ist, muss man einiges über den Texturbefehl wissen. Dies soll im Folgenden vermittelt werden. |
Möchte man
eigene Texturen für WinTrack erstellen, ist grundsätzlich Folgendes zu
beachten: das Bild, also die Textur muss folgendermaßen vorliegen 1.] Farbtiefe 24 Bit im bmp-Format (Version 16: 24 Bit *.bmp oder *.jpg) 2.] Bildgröße exakt 128 x 128 Pixel (Version 16: jeweils 32, 64, 128, 256, oder 512) damit können dann deutlich größere Texturen verwendet werden. Zur Erzeugung solcher Texturen eignen sich viele Zeichenprogramme. Ich verwende beispielsweise CorelDraw, CorelPhotoPaint, oder AdobePhotoShop. Nachfolgende Beispielbeschreibungen erfolgen mit diesen genannten Programmen. Auch ist es hilfreich über ein Programm zu verfügen mit dem man sogenannte Bildschirmdumps machen kann, also Bilder vom Bildschirm ausschneiden kann. Rechts sehen Sie einige Beispiele von 128x128-Pixel-Texturen: Abb.0: zeigt die Größe eines leeren Texturfeldes 128x128 Pixel. Abb.1: das ganze Texturfeld ist mit einem Bild ausgefüllt; hier "Rost". Abb.2: ein dreieckiges Bild im 128x128-Pixel-Feld. Abb.3: ein kreisförmiges Bild im 128x128-Pixel-Feld im 128x128-Pixel-Feld. Abb.4: ein in Y-Richtung schmales Bild, mittig angeordnet im 128x128-Pixel-Feld. Abb.5: ein kleines quadratisches Bild mittig angeordnet im 128x128-Pixel-Feld. Abb.6: ein kleines quadratisches Bild am Rand angeordnet im 128x128-Pixel-Feld. Abb.7: bei Schildern, Reklametafeln, oder Ähnlichem, kann es erforderlich sein, mehrere Texturfelder verwenden zu müssen, da ein einziges Texturfeld mit einer Größe von nur 128x128 Pixel für ein großes Bild zu klein ist. Die Abb.7 zeigt 6 Texturen, jeweils 3 in horizontaler Anordnung für ein Richtungsschild. Einige abgebildeten Texturen finden Sie in den Dateien unter WT3D-Download. |
Abb.46 |
Unter Texturen versteht man im ursprünglichen Sinne Oberflächenstrukturen (metallische Oberflächen, Rost, Holzstrukturen, usw.). In WinTrack können dies aber auch Bilder sein (Schilder, Reklametafeln, Automaten, usw.). Wir wollen als erstes kurz beschreiben wie man aus Bildern Texturen für WinTrack erstellt. |
1.]
Wir verschaffen uns ein Bild eines Zigarettenautomaten (Foto,
aus dem Internet, etc.) 2.] In einem Zeichenprogramm (ich verwende hier CorelDraw) zeichnen wir ein Quadrat (also ein Viereck mit gleich langen Seiten!) beliebiger Größe. 3.] ebenfalls fügen wir unser Bild, Zigarettenautomat, in das Programm ein. 4.] Nun verschieben wir das Bild in das Quadrat und verkleinern es, sodass es genau in das Quadrat passt. Ich habe hier bewusst ein nicht quadratisches Bild gewählt, um zu zeigen, wie dabei für eine Texturerzeugung zu verfahren ist: das Bild muss mittig und zentriert in das Quadrat eingepasst werden, dabei entstehen ober- und unterhalb des Bildes gleich große freie Bereiche im Quadraht. 5.] Diese Abbildung wird nun mit Farbtiefe 24 Bit im bmp-Format exportiert. 6.] In einem weiteren Programm (ich verwende AdobePhotoShop) wird das Bild importiert und die Bildgröße auf 128x128 Pixel geändert (verkleinert) und anschließend im jpg-Format gespeichert: "AutoZig3.jpg". (jpg und bmp sind möglich Formate für Texturen). |
Abb.47 |
Damit ist die Textur bereits
erstellt und kann zur Erstellung eines Zigarettenautomats im WinTrack-
Programm TEdit3D verwendet werden. Wie? Das soll im Folgenden beschrieben werden. |
7.]
Wir rufen das Programm TEdit3D auf und kümmern uns erst einmal nur um
die Textur: Für 3D geben wir ein: texture 0,1,0,0,AutoZig3.jpg. Im Einzelnen bedeutet das: texture = Texturbefehl 0 = Texturnummer, eine Null steht für "es wird eine eigene Textur verwendet" 1 = Texturgröße (kleiner 1 = verkleinern, größer 1 = vergrößern) 0 = keine Farbmischung zum Hintergrund (1=Farbmischung zum Hintergrund) 0 = kein Drehwinkel (sonst kann hier ein Drehwinkel angegeben werden) AutoZig3.jpg = Texturdatei (muss im selben Ordner wie die *.tre-Datei stehen) Damit die Textur auch erscheint benötigen wir noch ein Feld, dazu dient eine dünne Fläche und wir verwenden den Befehl "box": box 0,0,0, 10,-0.1,10 (Erklärungen zum Befehl auf dieser Seite weiter oben) texture 0 beendet den Texturabschnitt. Rufen wir unter TEdit3D die 3D-Ansicht auf, so erscheint das Bilder der Abb.48 rechts: |
Listing in TEdit3D: texture 0,1,0,0,AutoZig3.jpg box 0,0,0, 10,-0.1,10 texture 0 |
Abb.48 |
Wir sehen innerhalb der weißen Box
die Textur, welche in X-Richtung (horizontal) bereits sehr gut passt, in
Z-Richtung (vertikal) jedoch oben und unten unerwünscht sichtbare
Bereiche erscheinen. Dies gilt es zu korrigieren. Dazu gleich; zuvor
aber noch eine grundsätzliche Bemerkung: Texturen können in WinTrack auf Flächen abgebildet werden (hier auf den Flächen eines Quader, der Box). Der Quader ist hier so "dünn", dass die Textur im Grunde nur auf einer Fläche sichtbar ist (auf der Vorderseite und spiegelbildlich auf der Rückseite!). Um Texturen am leichtesten zu erstellen, empfiehlt es sich diese erst einmal auf einer Fläche zu erzeugen, welche sich in der XZ-Ebene erstreckt. Also vom Koordinatenursprung (0,0,0) aus nach Richtung +X und +Z! Wählt man hier eine andere Position, beispielsweise eine gleich große Fläche "box -5,0,0, 5,-0.1,10", also nicht von X=0 bis X=+10, sondern von X=-5 bis X=+5, so wird man verwundert feststellen, dass die Textur dann mittig geteilt erscheint, so also unbrauchbar ist! |
8.]
Korrektur der unerwünscht sichtbaren Bereiche der Box: man könnte hier natürlich Berechnungen anstellen (Box-Größe und Texturgröße in Pixel), aber ich möchte hier darauf verzichten und auf praktisches Probieren ausweichen. Wir verringern die texturdarstellende Fläche der Box symmetrisch oben und unten um 1. Sie hat damit in Z-Richtung eine Höhe von 1 bis 9. Es ergibt sich damit das neben stehende Listing und die 3D-Darstellung der Abbildung 49. Wir haben damit die Textur eines Zigarettenautomaten, noch nicht aber den kompletten Automaten für ein Symbol in Wintrack. Ich möchte an dieser Stelle aber nicht enden, ohne zu Komplettieren. Es fehlt zunächst noch das Gehäuse des Automaten. |
Listing in TEdit3D: texture 0,1,0,0,AutoZig3.jpg box 0,0,1, 10,-0.1,9 texture 0 |
Abb.49 |
9.]
Das Gehäuse des Zigarettenautomaten: Im Grunde steht uns das bereits (fast) zur Verfügung. Denn, die Box der Textur hat bereits die erforderlichen Abmessungen in der XZ-Ebene. Nur die Tiefe in Y-Richtung muss noch eingetragen werden. Wir wählen für die Tiefe 3 und fügen in TEdit3D die Zeile box 0,0,1, 10,3,9 ein. Die 3D-Ansicht zeigt die Abbildung 50. Das Gehäuse passt, nur die Farbgebung gefällt noch nicht zur Front der Textur. Wir fügen daher einen Farbbefehl mit passender Farbe in das Listing ein: color 0.44,0.13,0.04, das ist ein dunkles Rot/Braun. Listing und 3D-Ansicht siehe Abbildung 51. Nun passt es. Aber wir wollen den Automaten nicht auf dem Boden stehen lassen. Wir setzen ihn also erhöht auf einen Rundpfahl, und dies mittig zum Koordinatenursprung. |
Listing in TEdit3D: texture 0,1,0,0,AutoZig3.jpg box 0,0,1, 10,-0.1,9 texture 0 box 0,0,1, 10,3,9 Abb.50 |
Listing in TEdit3D: color 0.44,0.13,0.04 texture 0,1,0,0,AutoZig3.jpg box 0,0,1, 10,-0.1,9 texture 0 Abb.51 |
10.]
Zigarettenautomat mit Standfuß: Der Standfuß wird mittels Befehl "cylinder" erzeugt. Mittels des Befehls "verschieben" wird der Automat mittig zum Koordinatenursprung verschoben. Anfänglich war der Automat in X-Richtung von 0 bis 10 positioniert. Ein Verschieben von -5 in X-Richtung bringt in zur Mitte. Wir verschieben gleichzeitig um -1.5 in Y-Richtung zur Mitte des Zylinders, und verschieben in in Z-Richtung um 12, das ist die Höhe des Zylinders. Um in WinTrack ein "vernünftiges" Symbol zu haben, fehlen nun nur noch die 2D-Daten, Also ein Draufsicht des Zigarettenautomaten, damit dieser auch in einem 2D-Plan korrekt angezeigt und positioniert werden kann. |
Listing in TEdit3D: //3D //Standfuß color 0.83,0.83,0.83 //Sibergrau cylinder 0,0,0, 13, 0.7,0.7, 16, 0,0,0 //Automat verschieben -5,-1.5,12 //Ursprungsmitte color 0.44,0.13,0.04 //dunkel RotBraun texture 0,1,0,0,AutoZig3.jpg box 0,0,1, 10,-0.1,9 //Texturfläche texture 0 //Texturbefehl aufheben box 0,0,1, 10,3,9 //Gehäuse verschieben 5,1.5,-12 //Rückverschieben |
Abb.52 |
11.]
2D-Daten: Bei einer Draufsicht (also von oben gesehen) bildet der Automat ein Rechteck von 10 mal 3. Da wir in X-Richtung um -5 und in Y-Richtung um -1.5 verschieben, ergibt sich für den 2D-Befehl: rechteck2d -5,-1.5, 5,1.5, 1 (die letzte Ziffer "1" bedeutet, dass das Rechteck mit Farbe ausgefüllt werden soll). kreis2d 0,0, 1, 1 ist der 2D-Befehl für den Standfuß. Dieses Modell und weitere können Sie unter WT3D-Downloads herunter laden. |
Vollständiges Listing in TEdit3D: //Automat 3 Zigaretten mit Standfuß //Bearbeitungsstand: 28.03.2020 //Modellumsetzung und ©: Hans-Joachim Becker //Dateiname: AutoZig3.te3 Faktor 5,1 //Zoom 5 im Editor, keine Vergrößerung anfasser2d 0,0 //2D color 0.44,0.13,0.04 //dunkel RotBraun rechteck2d -5,-1.5, 5,1.5, 1 //Automat color 0.83,0.83,0.83 //Sibergrau kreis2d 0,0, 1, 1 //Standfuß //3D //Standfuß color 0.83,0.83,0.83 //Sibergrau cylinder 0,0,0, 13, 0.7,0.7, 16, 0,0,0 //Automat verschieben -5,-1.5,12 //Ursprungsmitte color 0.44,0.13,0.04 //dunkel RotBraun texture 0,1,0,0,AutoZig3.jpg box 0,0,1, 10,-0.1,9 //Texturfläche texture 0 //Texturbefehl aufheben box 0,0,1, 10,3,9 //Gehäuse verschieben 5,1.5,-12 //Rückverschieben |
Abb.53 |
In WinTracks Version 15 hat auch der 3D-Editor neue Funktionen erhalten
WT15
Transparenz |
Im Befehl "color" kann ein vierter Parameter eingefügt werden. welche die Transparenz nachfolgender Objekte bestimmt. Dieser Zahlenwert muss zwischen Null und Eins liegen. Je großer der Wert ist, desto undurchsichtiger ist die Darstellung. WICHTIG: diese Befehle müssen am Ende der Datei stehen! |
Teil 10: 3D-Editor
in der Praxis WinTrack
Ver.16
eigene
Texturen in TEdit-3D erzeugen und in 3D-Modellen verwenden
Es ist nicht trivial eigene Texturen bei Erstellung eigener 3D-Modelle einzubinden. Das größte Problem ergibt sich aus Größe und Position der Textur, sowie der Fläche auf der die Textur erscheinen soll. Dies erfolgt dann meist durch mühsames Probieren. Um dieses Probieren deutlich zu reduzieren, habe ich mir einige Gedanken gemacht und beschreibe die Technik dazu an einem Beispiel wie folgt. Zur Erstellung von Texturen verwende ich folgende Hilfs-Programme: Snagit (Screenshots) und CorelDraw (Zeichenprogramm).
Natürlich sind auch andere Programme geeignet, welche die
nachfolgenden Funktionen ermöglichen.
|
Auf einem Bananenwagen ist ein Bild eines Bananenmannes, welches wir als Textur auf einen Wagen darstellen wollen. Dazu fotografieren wir das Original in passender Frontansicht und speichern das Bild auf dem PC; siehe Abb.1 |
Abb.1 Bananenwagen MÄRKLIN 4509 |
Wir öffnen das Foto auf dem PC. Mittels einem Programm "Snagit", wird das Wagonbild mittels gezeichneten Rechteckrahmen ausgeschnitten und gespeichert:
=> Bananenmann_1.bmp
|
Abb.2 |
Wir starten das Programm CorelDraw.
Auf einem DIN A3 quer-Blatt wählen wir den Nullpunkt unten links auf der Seite. Sodann richten wir Hilfslinien ein, horizontal und vertikal jeweils 0 und 512 Pixel, und schalten die Funktion "an Hilfslinien ausrichten" ein.
Dann zeichnen wir ein Rechteck exakt auf die Schnittpunkte der Hilfslinien , sodass wir ein Quadrat von 512x512 Pixel erhalten. Für die Linienfarbe und Füllfarbe wählen wir weiß! Hinweis: entweder wählen wir die Linienstärke sehr dünn ("Haarlinie"), oder wählen die Fläche ohne Umriss, damit das später zu exportierende Bild nicht größer als 512x512 Pixel ist (andernfalls muss das später manuell korrigiert werden).
Dann importieren wir das zuvor erstellte Bild "Bananenmann_1.bmp" und positionieren es mittels der Fangfunktion auf den unteren linken Schnittpunkt der Hilfslinien.
Nun verkleinern wir das Bild indem wir den oberen rechten Bildpunkt auf die obere Hilfslinie verschieben (wird dort gefangen). Siehe Abb.3 |
Abb.3 |
Wir markieren alles (Texturfläche und Bananenmann) und wählen " exportieren" mit "nur Markierte Objekte" und den Dateinamen "Bananenmann-Textur.bmp". Darauf erscheint ein Fenster, siehe Abb.4. Sollte die Bildgröße hier für Breite und Höhe nicht exakt 512 Pixel aufweisen (z.B. durch Berechnungsungenauigkeiten), so korrigieren wir diese Werte manuell. Nach Klick auf "OK" wird das Texturbild gespeichert. Damit ist die Textur fertiggestellt.
Das erstellte Texturbild reicht noch nicht aus, um damit eine korrekte Textur im 3D-Editor zu erstellen. Es ist eine Fläche erforderlich, auf der die Textur dargestellt werden kann (wir werden in unserem Fall mit dem Befehl "box" ein Quader verwenden). Um die hierfür exakte Größe festzustellen, gehen wir wie folgt vor:
|
Abb.4 |
Vom Original messen wir von Wagenmitte nach links die Kanten des Bildes: -10 und -19 in mm. Daraus ergibt sich eine Bildbreite von 9 mm. Dann messen wir noch die Höhe des Bildes 18.5 mm. Die Box hat damit in x eine Länge von 9 mm und in z eine Höhe von 18.5 mm. Für y-Tiefen wählen wir testweise einfach mal die Werte -17 mm und 0 mm. Damit lautet der box-Befehl im 3D-Editor: box 0,-17.0,0, 9,0,18.5 Die Verschiebung (-10 und -19) lassen wir erst einmal weg. |
Abb.5 Original Wagenbild mit Abmessungen |
Wir erstellen testweise im 3D-Editor Folgendes:
//Datei:Texturerstellung_Grundlagen_1.te3 // HJB © 06.08.2023 faktor 5.5,1 anfasser2d 48,0 //3D // Babanenmann Textur °°°°°°°°°°°°°°°°°°°°° texture 0,1,0,0,Bananenmann-Textur.bmp box 0,-17.0,0, 9,0,18.5 Texture 0 // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° |
Abb.6 |
Wir öffnen im 3D-Editor "Texturerstellung_Grundlagen_1.te3".
Und öffnen die 3D-Ansicht. Box mit Textur wird sofort in der Frontansicht dargestellt, siehe Abb.7. Mit Snagit schneiden wir den Ausschnitt (Abb.7) aus und geben ihn in die Zwischenablage. Dann starten wir CorelDRAW und mit Strg+V fügen wir das Bild ein. |
Abb.7 |
In CorelDraw setzen wir den Koordinaten-Nullpunkt exakt auf die untere linke Ecke. Dann setzen wir zwei vertikale Hilfslinien: eine exakt auf den rechten Rand der Textur und eine exakt auf den rechten Rand der box.
Sodann rufen wir in CorelDRW "Hilfslinien einrichten" auf und Klicken auf "vertikale Hilfslinien". In dem Fenster werden dann die Werte der Hilfslinien angezeigt, welche ich in Abb.8 unten eingetragen habe. Dabei spielen die Einheiten (Pixel, cm, mm, etc.) keine Rolle, auch die absoluten Werte nicht (die von der Größe des eingefügten Bildes abhängen). Es kommt hier lediglich auf das Verhältnis box/Textur an, um den Vergrößerungsfaktor der Textur zu ermitteln.
Wir rechnen diesen wie Folg: Vergrößerungsfaktor 530/282=1,88Wir haben damit den Vergrößerungsfaktor errechnet und mussten diesen nicht durch umständliches Probieren ermitteln! |
Abb.8 |
Im 3D-Edtor ändern wir also im Texturbefehl den Wert des Vergrößerungsfaktors von 1 auf 1.88: //Datei:Texturerstellung_Grundlagen_2.te3 // HJB © 06.08.2023 faktor 5.5,1 anfasser2d 48,0 //3D // Babane Textur °°°°°°°°°°°°°°°°°°°° texture 0,1.88,0,0,Bananenmann-Textur.bmp box 0,-17.0,0, 9,0,18.5 Texture 0 // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° Jetzt wird die Textur auf der box wunschgemäß ohne mühsames Probieren dargestellt. Es kommt nur bei der vorderen Box-Seite auf korrekte Texturplatzierung an, nicht auf den anderen Box-Flächen! Siehe Abb.9 |
Abb.9 |
Hier ein Programmausschnitt des Bananenwagen mit Texturen welche mittels "verschieben" und "drehen" positioniert wurden: //Beginn Wagenkasten-------------------------------- color 0.00,0.00,0.00 box -48.5,-16.5,37.3, 48.5,16.5,37.5 color 0.90,0.78,0.11 // gelb dotter texture 0,1,1,0,TextureStreifen01.bmp box -48,-16.5,15, 48,16.5,37.5 texture 0 box -48,-16.5,15, 48,16.5,37.5 // Banane Textur Vorderseite°°°°°°°°° verschieben -19,0,16 texture 0,1.88,0,0,Bananenmann-Textur.bmp box 0,-17.0,0, 9,0,18.5 texture 0 verschieben 19,0,-16 // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° drehen 0,0,0, 0,0,180 // Banane Textur Hinterseite°°°°°°°°° verschieben -19,0,16 texture 0,1.88,0,0,Bananenmann-Textur.bmp box 0,-17.0,0, 9,0,18.5 texture 0 verschieben 19,0,-16 // °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° drehen 0
Anmerkung: Ich stelle hier nur einen Programmausschnitt des Bananenwagen dar, weil ich einige Elemente aus einem Modell entnahm, welches ich nicht selbst erstellte. Daher hier nur die von mir selbst erstellten Programmzeilen. |
Abb.10 Vorderseite auf dem Bananenwagen Abb.11 Hinterseite auf dem Bananenwagen |
Hinweis: statt der hier verwendeten "Hilfsprogramme" "Snagit" und "CorelDRAW" sind natürlich auch andere Programme mit entsprechend erforderlichen Funktionen erhältlich, darunter auch Freeware. Diese zu suchen überlasse ich aber dem geneigten Leser. Ich wünsche guten Erfolg bei Ihren eigenen Modellerstellungen! |
Schlussbemerkungen:
Die oben
ausführlich beschriebenen Vorgehensweisen zur Erstellung von Texturen in
einem 3D-Modell fasse ich in einer kurzen Übersicht in einer Tabelle
zusammen: Verfahrensübersicht der wichtigsten Schritte
|
|
Dieses Verfahren, Box mit Textur in der xz-Ebene im Koordinatenursprung mit errechneter Texturgröße erstellen und dann diese Texturbox mittels Verschieben und eventuell Drehen auf die endgültige Position in einem 3D-Modell verschieben, erhält die korrekten Textureigenschaften ohne nachträgliches umständliches Korrigieren und Probieren. |