Login
Newsletter
Werbung

Do, 29. August 2019, 15:00

Dreiecke machen OpenSCAD-Polygone rund

Die einsam stehende Ziffer in der eben vorgeführten Befehlszeile darf nicht fehlen, an Stelle der 4 könnte allerdings auch eine beliebige Ganzzahl zwischen 0 und 8 stehen. Sie sagt, wie oft der oben beschriebene Vorgang mit der Dreiecksbildung praktiziert werden soll. Hätten wir 0 angegeben, dann enthielte das Polygon in OpenSCAD genau die vier im Text gezeigten Koordinatenpaare, aber in einer von OpenSCAD verdaulichen Form. Die Zahl 1 würde entsprechend anzeigen, dass für jede Ecke des Quadrats zwei neue Eckpunkte erzeugt werden, Die 2 würde darauf hinweisen, dass sich die Anzahl der Eckpunkte noch einmal verdoppeln würde usw; das Programm eliminiert Doppeleinträge. In der eben gezeigten roh-Definition fehlen Angaben zu den Teilungsverhältnissen, die die Dreieckspunkte auf den Polygonseiten bilden. Die Routine nimmt in diesem Fall für alle Polygonkanten an, dass die den Polygonecken zugeordneten Teilungsdreiecke die Polygonseite im Längenverhältnis 0,5 teilen, sie also halbieren. Damit liegen alle Krümmungsendpunkte genau mittig zu den Nachbarecken. Aus dem Quadrat wird so etwas wie ein in ein Quadrat gequetschter Kreis. Übrigens dienen die eckigen Klammern als Definitions-Begrenzungen für das betrachtete Polygon. In einer roh-Datei können durchaus mehrere eckig geklammerte Datenblöcke zur Erzeugung genausovieler Polygone vorliegen. Betrachten wir ein anderes Beispiel, gespeichert als simple-quadrat.roh

[
@ 0.2 0.8
0 0
100 0
100 100
0 100
]

Die beiden Werte neben dem @-Zeichen signalisieren dem Programm, dass für alle folgenden Koordinaten gilt: Die jeweils als nächste folgende Kante (hier: [0,0]-[100,0]) wird derart in drei Abschnitte geteilt, dass die dem Punkt [0,0] zugerechnete Krümmung nach dem 0.2-fachen Teil der Strecke [0,0]-[100,0] endet, die dem nachfolgenden Punkt [100,0] zugeordnete Krümmung aber beim 0.8-fachen der Strecke zwischen [0,0] und [100,0] beginnt. Der in diesem Fall verbleibende mittige 0.6-fache Anteil der betreffenden Kante bleibt ungekrümmt. Sicher leuchtet ein, dass der zweite Teilwert größer oder gleich dem ersten sein muss, beide Werte aber im geschlossenen Intervall [0,1] liegen müssen. Wieder führt die Anwendung von ./scadbows.tcl 4 <simple-quadrat.roh >simple-quadrat-4.scad zu einer verwertbaren OpenSCAD-Datei.

Harald Schreiber

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung