...
Code Block |
---|
Polyline(<Argumenteliste>); |
<Argumenteliste> | Definiert die Argumenteliste, durch Kommata getrennt. Argumente definieren die individuellen Segmente einer Polylinie. |
Ein Liniensegment wird durch 2 Punkte definiert.
Ein Bogensegment wird durch eine Abrundungsfunktion oder durch eine Funktion Arc0 oder Arc1 und zwei Punkten an den Enden des Bogens definiert.
Für Polylinien, die nur aus geraden Liniensegmenten bestehen, enthält die <Argumenteliste> nur 2D-Punkte, die über die Funktion Point(x,y) definiert werden.
...
Code Block |
---|
Point(<cx>,<cy>) |
<cx> | Definiert die X-Koordinate des Punkts |
<cy> | Definiert die Y-Koordinate des Punkts |
Ein Rechteck kann beispielsweise wie folgt definiert werden:
...
Code Block |
---|
Arc0(<cx>,<cy>), Arc1(<cx>,<cy>), |
<cx> | Definiert die X-Koordinate des Bogenmittelpunkts |
<cy> | Definiert die Y-Koordinate des Bogenmittelpunkts |
Anfangs- und Endpunkte eines Bogens werden durch die vorhergehend und nachfolgend genannten Argumente definiert.
Arc0 und Arc1 können das erste oder letzte Argument in der Argumenteliste darstellen. Für eine Polylinie, die nu rein nur ein Bogensegment enthält, besteht die <Argumenteliste> aus zwei durch die Funktion Point(x,y) definierten Punkten und aus einem Bogen, der entweder durch die Funktion Arc0 oder durch Arc1 definiert wird.
...
Code Block |
---|
Fillet(<Radius>); |
<Radius> | Definiert den Radius der Abrundung. |
Beispiel für Abrundungen in einer Polylinie:
Code Block |
---|
// polyfillet.ppm - Polylinie mit Abrundungen H = 5; L = 10; FR = 1; p2 = Polyline( // Rechteck mit abgerundeten Ecken Point(0,0), // untere linke Ecke Point(L,0), // untere rechte Ecke Fillet(FR), // platziert Abrundung unten rechts Point(L,H), // obere rechte Ecke Fillet(FR), // platziert Abrundung oben rechts Point(0,H), // obere linke Ecke Fillet(FR), // platziert Abrundung oben links Point(0,0), // schließt das Rechteck Fillet(FR) // Anfangs-/Endecke der Abrundung // Da es sich um eine geschlossene Form handelt // wird nachfolgend keine Point-Funktion benötigt ); Output(p2); |
...