Visualisierung

OpenSCAD eignet sich auch dazu, größere Datenmengen dreidimensional zu veranschaulichen – etwa die Verteilung von Erdbeben ab einer Stärke 5, die es weltweit im letzten Jahr gab [4]. Die Grafik zeigt den Ort der Beben auf der Erde, die Stärke ausgedrückt durch den Durchmesser der Kugeln und die überhöhte Tiefe, sowohl zu erkennen durch die Anordnung unterhalb des Koordinatengitters als auch durch die Farbe (Abbildung 8).

Abbildung 8: Das Programm eignet sich selbst für Infografiken, wie die Verteilung von Erdbeben ab einer Stärke 5.

Die Koordinaten und Stärke der Erdbeben liegen in zwei Arrays, abgelegt in der Datei eq03.scad. Zur Orientierung enthält der eigentliche Code die Koordinaten einiger Städte. Daten und Namen stehen in den Arrays plock und plockname. Die Schleife durchläuft alle Elemente, deren Anzahl der Befehl len() berechnet. Die selbst definierte Funktion ku2ka bestimmt aus den Kugelkoordinaten Länge, Breite und Tiefe die kartesischen Raumkoordinaten x, y und z. Sie nimmt einen Vektor entgegen und gibt den umgerechneten Vektor zurück.

Am komplexesten fällt die Konstruktion des Gitters aus: Eindimensionale Linien ohne Füllung gibt es bei OpenSCAD nicht. Deshalb konstruieren Sie diese aus extrudierten Kreisscheiben als dünne 3D-Objekte. Bei der kleinen schwarzen Kugel in der Grafik handelt es sich um die Stadt Honolulu auf Hawaii. Die Beschriftung lässt sich in der Reproduktion nicht lesen. Südwestlich stoßen die pazifische und die australische Platte zusammen. Die Erdbeben an der Oberfläche (grün) und die Tiefenbeben (rot) sind selbst in der statischen Ausgabe recht gut zu erkennen.

Listing 3

$fn=100;
$vpd=5500;       // Kameradistanz
$vpr=[88,0,300]; // Kameraorientierung
r=1000;          // Radius
// Die Datei eq03.scad enthält zwei Arrays mit den
// mit den Positionen (eqlock) und den abgeleiteten
// Größen für Erdbebenstärke und -tiefe (eqspec).
include <eq03.scad>
// Koordinaten einiger ausgewählter Punkte
plock=[
[52,   13, 0],  // Berlin
[48,   11, 0],  // München
[35,  139, 0],  // Tokyo
[21, -157, 0]   // Honolulu
];
// Bezeichnung der ausgewählten Punkte
plockname=["Berlin", "München", "Tokyo", "Honolulu"];
// Ausgabe von eqlock und eqspec
for (i=[0:len(eqlock)-1]){
  translate(ku2ka(eqlock[i])) color([eqspec[i][0],1-eqspec[i][0],0]) sphere(eqspec[i][1]);
}
// Ausgabe der ausgewählten Punkte
for (i=[0:len(plock)-1]){
  translate(ku2ka(plock[i])) color("black") sphere(10);
 translate(ku2ka(plock[i])) color("black") text(text=plockname[i], size=30);
}
sphere(450);  //zeichnet innere Kugel
grid(15);     //zeichnet Gitternetz
// Wandelt Kugelkoordinaten um in kartesische
function ku2ka(v)= [
  cos(v.y) * (r-v.z) * sin(90-v.x),
  sin(v.y) * (r-v.z) * sin(90-v.x),
  (r-v.z) * cos(90-v.x)];
// Zeichnet ein Längen- und Breitennetz
module grid(d=30){
  mirrorc()
  rotate_extrude(){
    for (i=[0:d:85]){
      a= ku2ka([0,i,0]);
      translate(a) circle(5);
    };
  };
  for (i=[0:d:185])
  rotate([0,0,i])
  rotate([90,0,0])
  rotate_extrude()
  translate([r,0,0]) circle(5);
}
// Hilfsmodul, um einen Block zu spiegeln
module mirrorc(v=[0,0,1]){
    children();
    mirror(v) children();
};

Fehlersuche

Das wichtigste Dokument zu OpenSCAD findet sich unter Help | Cheat_sheet: eine vollständige Liste aller Befehle, die die Software kennt [5]. Fehlermeldungen beim Übersetzen eines Skripts erscheinen in der Konsole.

Ein vergessenes Semikolon erkennen Sie nur dadurch, dass das Programm in der Abgrenzung zu den nachfolgenden Befehlen stolpert. Der eigentliche Fehler liegt deshalb vor der Zeile, in der das Programm abbricht. Mühsamer zu finden sind syntaktisch korrekte, aber logisch falsche Semikola: Schließen Sie eine Transformation wie translate([0,0,1]) mit dem Zeichen ab, ist das kein Fehler, liefert aber auch keinen Output.

Um beim Verschneiden geometrischer Objekte den Überblick zu behalten, welcher Anteil von welchem Objekt kommt, stellen Sie einem Befehl für das Objekt eine Raute (#) voran. So gibt die Software das Objekt halbtransparent aus. Ein vorangestellter Stern (*) blockt eine Befehlszeile. Ein Ausrufezeichen (!) sperrt alle anderen Zeilen, was die Auswirkungen lediglich der betrachteten Zeile anzeigt. Der Befehl echo schreibt in die Werte von Variablen oder auch Ergebnisse von Berechnungen (echo(3 * 4)) in die Konsole.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Programm der Tübix steht
    Am 13. Juni findet der Linuxtag in Tübingen, kurz Tübix, statt. Die Veranstalter haben jetzt das recht umfangreiche Programm veröffentlicht.
  • Fedora 19 Beta veröffentlicht

    Das Fedora-Projekt hat leicht verspätet die Beta für die kommende Version 19 seiner Linux-Distribution veröffentlicht.
  • Ubuntu, Linux Mint und Knoppix
    Ubuntu, Linux Mint und Knoppix basieren auf der Distribution Debian – wir verraten Tricks und Kniffe, welche die Arbeit auf diesen Systemen angenehmer machen.
  • Easy Programming
    Die Java-Software Processing verwandelt auch Nicht-Programmierer in Computerkünstler: Damit erzeugen Sie schnell und einfach bewegliche Figuren und stellen sie als Flash-ähnliches Applet ins Netz.
  • Neues auf den Heft-DVDs
    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial Ihres Rechners. Mit der Heft-DVD erhalten Sie nicht nur topaktuelle Distributionen, sondern auch die passenden Programme zu den Artikeln.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...