ebook img

Kurven und Flächen im Computer Aided Geometric Design: Eine praktische Einführung PDF

379 Pages·1994·28.894 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Kurven und Flächen im Computer Aided Geometric Design: Eine praktische Einführung

Gerald Farin Kurven und Flächen im Computer Aided Geometric Design Eine praktische Einführung Second Edition Gerald Farin Kurven und Flächen im Computer Aided Geometrie Design Gerald Farin Kurven und Flächen • IDl Computer Aided Geometrie Design Eine praktische Einführung 2. Auflage Aus dem Amerikanischen übersetzt von Hans J. Wolters I I VI&W eg Dieses Buch ist die deutsche Ausgabe von Gerald Farin: Curves and Surfaces for CAGD. A practical Guide. 3'd Edition Copyright© 1993, 1990, 1988 by ACADEMIC PRESS, INC. Translation Copyright© 1994 by Vieweg All rights reserved. Übersetzung: Hans J. Wolters Alle Rechte der deutschen Ausgabe vorbehalten © Springer Fachmedien Wiesbaden 1994 Originally published by Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden in 1994 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspei cherung und Verarbeitung in elektronischen Systemen. IISSBBNN 997788--33--666633--1100660033--66 IISSBBNN 997788--33--666633--1100660022--99 (eBook) DOI 10.1007/978-3-663-10602-9 V Vorwort In den späten fünfzigerJahrenbegann man, über Hardware zu verfügen, die es ermöglichte, dreidimensionale Formen aus Stahl oder Holz maschinell herauszufräsen1. Diese Formen konnten dann als Stanzwerkzeuge für Produkte, wie zum Beispiel die Motorhaube eines Autos, verwandt werden. Man fand schnell heraus, daß der Mangel an geeigneter Software die Effizienz dieser Produktionsmethode stark beeinträchtigte. Um eine gewünschte Form mit Hilfe eines Computers ausfräsen zu können, bedurfte es einer Beschreibung der Form, die vom Computer verarbeitet werden konnte. Man erkannte schnell, daßd ie vielversprechendste Beschreibungsmethode in der Verwendung parametrischer Flächen bestand. Ein Beispiel für diesen Ansatz findet man in den Farbtafeln I und III in der Mitte des Buches: Tafel I zeigt die tatsächliche Motorhaube eines Autos; Tafel III zeigt, wie sie intern als Smlung parametrischer Flächen dargestellt ist. Die Theorie der parametrischen Flächen war in der Differentialgeometrie schon vollständig entwickelt worden. Das Potential dieser Theorie im Zusammenhang mit der Darstellung von Flächen in einer Computer-Aided-Design-(CAD-)Umgebung ist jedoch nicht bekannt gewesen. Die Initiative, die Verwendung parametrischer Kurven und Flächen zu untersuchen, kann als Ursprung des Computer Aided Geometrie Design (CAGD) angesehen werden. Die bahnbrechenden Entwicklungen in CAGD waren zweifellos die Theorie derBezierflächen und der Coonspftaster, welche später mit B-Spline-Methoden kombiniert wurden. Bezierkurven und -flächen wurden von P. de Casteljau bei Citroen und P. Bezier bei Renault unabhängig von einander entwickelt. De Casteljau entwickelte sie ein wenig früher als Bezier, aber seine Arbeiten wurden nie veröffentlicht, was zur Folge hatte, daß die ganze Theorie der Polynomkurven und -flächen in Bernsteinform nun Beziers Namen trägt. CAGD ist zu einer eigenständigen Diszi plin im Jahre 1974 nach der Konferenz an der Universität Utah herangereift (siehe Barnhill und Riesenfeld [27]). Dieses Buch stellt eine einheitliche Behandlung der Hauptideen des CAGD dar. Während der letzten Jahre versuchte man verstärkt, die geometrischen Hintergründe von Kurven- und Flächenschemata herauszuarbeiten; ich habe dieser Tendenz Rechnung getragen, indem ich die meisten Konzepte auf einfache geometrische Algorithmen aufgebaut habe. Zum Beispiel wird ein Student in der Lage sein, Bezierkurven fast ohne Kenntnis des Konzepts einer parametrischen Kurve zu konstruieren. Wenn später parametrische Kurven im Zusammenhang mit Differential geometrie behandelt werden, können die Ideen aus der Differentialgeometrie auf konkrete Kurven angewandt werden, die wir vorher entwickelt haben. Die Theorie der Bezierkurven (und der rationalen Bezierkurven) spielt in diesem Buch ei ne zentrale Rolle. Von den zur Zeit in CAD-Systemen benutzten Polynombasen sind diese die numerisch stabilsten, wie kürzlich von Farouki und Rajan [178] gezeigt wurde. Somit sind Bezierkurven der ideale geometrische Standard zur Darstellung stückweiser Polynomkurven. Außerdem erleichtern Bezierkurven das geometrische Verständnis etlicher in CAGD vorkom mender Phänomene, und sie können beispielsweise zur Herleitung der Theorie der rationalen und nichtrationalen B-Spline-Kurven benutzt werden. Während dieses Buch eine umfassende Behandlung der grundlegenden Methoden zum Mo dellieren von Kurven und Flächen darstellt, ist es nicht dazu gedacht, Lösungen zu in der Praxis vorkommenden anwendungsorientierten Problemen anzubieten. Insbesondere kommen keine Al gorithmen zur Lösung von Problemen der Schnittbestimmung, der graphischen Wiedergabe oder 1 Ein Prozeß, der heute CAM für Computer Aided Manufacturing genannt wird. VI Vorwort der Bestimmung von Offsets vor. Zur Zeit gibt es keinen einheitlichen Zugang zur Lösung dieser Probleme aus der "geometrischen Datenverarbeitung". Der hier behandelte Stoff sollte den Leser jedoch dazu in die Lage versetzen, weiterführende Literatur zu diesen Themen zu studieren; über Offsets: [162], [173], [174], [270], [273], [276], [293], [401], [460]; über Schnittbestimmung: [24], [141], [143], [204], [209], [233], [274], [254], [277], [303], [310], [328], [432], [362], [384], [405], [436], [434]; über graphische Wiedergabe: [1], [90], [194], [205], [311], [449]. Dieses Buch befaßt sich zudem nicht mit Solid-Modelling. Dies ist ein Teilbereich des geome trischen Modellierens, welcher sich mit der Darstellung von solchen Objekten befaßt, die durch eine Sammlung von Flächen eingeschlossen werden können, meist solch elementare Flächen wie Ebenen, Zylinder oder Tori. Wenn solche Solid-Modelling-Systeme voll akzeptiert sind, dann werden sie in der Lage sein, die in diesem Buch beschriebenen Freiformkurven und -flächen mitzuverarbeiten. Literatur dazu ist unter anderem: [93], [177], [185], [264], [327], [337], [397], [466]. Ich habe den hier vorgestellten Stoff sowohl in Kursen bei Konferenzen als auch in Univer sitätsvorlesungen gelehrt. Die Vorlesungen waren zumeist solche, die für Studenten mittlerer Semester angeboten werden. Die Aufgaben stammen meist aus höhersemestrigen Vorlesungen. Im allgemeinen sollte der hier behandelte Stoff den Leser in die Lage versetzen, die vorgestellten Konzepte zu benutzen. Die Aufgaben dienen zum tieferen Verständnis. Man sollte diese mit einfacheren Übungen ergänzen, wenn der Text für Vorlesungen niedrigerer Semester benutzt wird. Zur Vermittlung des Stoffes ist es notwendig, daß den Studenten graphikfaltige Rechner zur Verfügung stehen; praktische Erfahrung erleichtert das Verständnis und fördert die Wertschätzung des Stoffes, der sonst nur trockene Theorie bleiben würde. Wenn ich das Buch für eine einsemestrige CAGD-Vorlesung für Studenten mittlerer Semester benutze, behandle ich normalerweise die folgenden Kapitel: die erste Hälfte von Kapitel2, Kapitel 3, 4, 6, 8, 9, 16 und 17. Stoff aus anderen Kapiteln wird, wenn nötig, eingestreut. Bei der zweiten Auflage wurde eine Reihe von C-Programmen hinzugefügt. Diese Programme stellen meine Implementierung einiger (nicht aller) der wichtigsten hier beschriebenen Methoden dar. Die Programme wurden anband vieler Beispiele getestet, sollen aber trotzdem nicht als ,,Industriestandard'' verstanden werden. Im allgemeinen wird die Korrektheit und Konsistenz der Eingabedaten nicht getestet. Außerdem habe ich der Modularität einen höheren Stellenwert als der Effizienz eingeräumt. Die Programme sind alle in C geschrieben, aber aus Rücksicht auf nicht mit C vertraute Benutzer, sollten alle Module insbesondere leicht in FORTRAN übersetzbar sein. Bei der dritten Auflage sind noch mehr Programme hinzugefügt worden, sowie Daten- und Postscript-Dateien. Nur die Programmköpfe sind im Text zu finden, die Programme kann man über das Netz kopieren. Es wurden Aufgaben hinzugefügt, die auf diesen Programmen aufbauen. Anstatt beispielsweise ein Programm für kubische Splinekurven.zu schreiben, sollte der Student nun die bereits gegebene kubische Splineroutine modifizieren und erweitern. Außerdem wurden mehrere Abschnitte hinzugefügt, die sich mit dem neuen Konzept des Blossoming befassen. Dies ist eine effektive Technik, die etliche Aspekte polynomialer und stückweiser polynomialer Kurven einheitlich darstellt. Dieses Buch wäre nicht möglich gewesen ohne die stimulierende Umgebung, die innerhalb der CAGD-Forschungsgruppe an der Arizona State University (und davor an der University of Utah), geleitet von Robert E. Bamhill, gegeben ist. Das Buch profitierte auch stark von unzähligen Diskussionen, die ich mit solchen Experten wie T. Foley, Q. Fu, H. Hagen, J. Hoschek, S. Kersey, G. Nielson, R. Patterson and A. Worsey geführt habe. Ich möchte auch meinen Dank für die durch die National Science Foundation und das Department of Energy2 gewährte finanzielle Unterstützung aussprechen. Mein besonderer Dank gilt D. C. Hansford für unzählige hilfreiche 2Grants DCR-8502858 bzw. DE-FG02-87ER25041 Vorwort VII Vorschläge, die die mathematische Seite des Stoffes betreffen und auch W. Boehm, der ein kritischer und konstruktiver Berater während aller Phasen dieses Buchprojektes war. Für die zweite Auflage wurden etliche Verbess,~rungen gegenüber der ersten Auflage von S. Abi-Ezzi, N. Beebe, W. Boehm, R. E. Barnhill, E. Clapp, P. J. Davis, D. Hansford, F. Kirnura, S. Mann, G. Nielson, A. Swirnmer, K. Voegele, W. Waggenspack, M. Wozny und Y. Yamaguchi vorgeschlagen. Für die dritte Auflage geht mein besonderer Dank an T. De Rose, T. Foley, D. Hansford, J. Hoschek, T. Klojcnik, N. Max, K. Opitz, H. Späthund T. Varady. Tempe, Ariz. Gerald Farin vm Inhaltsverzeichnis 1 P. Bezier: Wie ein einfaches System entstand 1 2 Einführung 11 2.1 Punkte und Vektoren 11 2.2 Affine Abbildungen . 14 2.3 Lineare Interpolation 16 2.4 Stückweise lineare Interpolation . 18 2.5 Der Satz von Menelaos 19 2.6 Funktionenräume 20 2.7 Aufgaben . . . . . . . 22 3 Der Algorithmus von de Casteljau 24 3.1 Parabeln ....... . 24 3.2 Der de-Casteljau-Algorithmus . . 25 3.3 Eigenschaften von Bezierkurven 26 3.4 Der Blossom .... 30 3.5 Zur Implementierung 32 3.6 Aufgaben . . . . . . 32 4 Die Bernsteinform einer Bezierkurve 34 4.1 Bernsteinpolynome . . . . 34 4.2 Eigenschaften von Bezierkurven 36 4.3 Die Ableitung einer Bezierkurve 38 4.4 Ableitungen höherer Ordnung . . 39 4.5 Ableitungen und der de-Casteljau-Algorithmus 41 4.6 Unterteilung . . . . . . . . . . . 42 4.7 Der Blossom und die Polarform . 46 4.8 DieBezierkurve in Matrixform 48 4.9 Zur Implementierung 48 4.10 Aufgaben . . 51 5 Mehr über Bezierkurven 52 5.1 Gradanhebung . . . . . . . . . . . . . . 52 5.2 Wiederholte Gradanhebung ...... . 53 5.3 Die variationsvermindernde Eigenschaft 54 5.4 Gradreduzierung . . . . . . 55 5.5 Nicht-parametrische Kurven 57 5.6 Koordinatenschnitte .... . 57 5.7 Integrale .......... . 58 5.8 DieBezierform einer Bezierkurve . 59 5.9 Die baryzentrische Form einer Bezierkurve 60 5.10 Der Weierstraßsche Approximationssatz 63 5.11 Formeln für Bernsteinpolynome ..... . 63 Inhaltsverzeichnis IX 5.12 Zur Implementierung 64 5.13 Aufgaben ..... . 64 6 Polynominterpolation 66 6.1 Der Algorithmus von Aitken . . . . . . . . . . . . . . 66 6.2 Lagrangepolynome . . . . . . . . . . . . . . . . . . . 69 6.3 Lösungsansatz mittels Vandermondescher Determinante 69 6.4 Grenzen der Lagrange-Interpolation . . 71 6.5 Kubische Hermite-Interpolation . . . . . . 72 6.6 Hermite-Interpolation 5. Ordnung . . . . . . 76 6.7 Die Newtonform und Vorwärtsdifferenzen 77 6.8 Zur Implementierung 78 6.9 Aufgaben . . . . . . . . . . . . . . . . . 79 7 Splinekurven in Bezierform 80 7.1 Globale und lokale Parameter . 80 7.2 Glattheitsbedingungen . 81 7.3 C1-Stetigkeit ........ . 83 7.4 C2-Stetigkeit ........ . 84 7.5 C1-stetige Parametrisierungen 86 7.6 C1-stetige quadratische B-Spline-Kurven . 86 7.7 C2-stetige, kubische B-Spline-Kurven 90 7.8 Parametrisierungen ... .'. 92 7.9 Design und inverses Design . 93 7.10 Zur Implementierung 94 7.11 Aufgaben . . . . . . . . . . 94 8 Stückweise kubische Interpolation 96 8.1 C1-stetige, stückweise kubische Hermite-Interpolation 96 8.2 C1-stetige, stückweise kubische Interpolation I . 98 8.3 C1-stetige, stückweise kubische Interpolation II 100 8.4 Punkt-Normalen-Interpolation. 102 8.5 Erzeugung von Zeichensätzen . 102 8.6 Aufgaben . . . . . . . . . . . 103 9 Kubische Spline-lnterpolation 104 9.1 Die B-Spline-Form 104 9.2 Die Hermireform . 107 9.3 Endbedingungen . 108 9.4 Zur Parametrisierung 112 9.5 Die Minimaleigenschaft . 117 9.6 Zur Implementierung 119 9.7 Aufgaben . . . . . . . . 120 10 B-Splines 122 10.1 Motivation . . . . . . . . . . 122 10.2 Das Einfügen von Knoten . . . 123 10.3 Der Algorithmus von de Boor 128 10.4 Glattheit von B-Spline-Kurven 131 X Inhaltsverzeichnis 10.5 Die B-Spline-Basis . . . . . . . . 131 10.6 Zwei Rekursionsformeln . . . . . 133 10.7 Wiederbottes Einfügen von Knoten 136 10.8 Zusätze ........ . 138 10.9 B-Spline-Blossoms .. . 140 10.10 Grundlagen für B-Splines 143 10.11 Zur Implementierung . . 144 10.12 Aufgaben ....... . 145 11 W. Boehm: Differentialgeometrie I 146 11.1 Parametrische Kurven und Bogenlänge . 146 11.2 Das Frenetsche Dreibein . 147 11.3 Variieren des Dreibeins . . 148 11.4 Der Schmiegkreis . . . . . 150 11.5 Nichtparametrische Kurven 152 11.6 Zusammengesetzte Kurven 152 12 Geometrische Stetigkeit I 155 12.1 Motivation ............. . 155 12.2 Charakterisierung G2-stetiger Kurven . 156 12.3 Nu-Splines . . . . . . . . . . . .. 157 12.4 G2-stetige stückweise Bezierkurven . 160 12.5 Direkte, G2-stetige kubische Splines 162 12.6 Zur Implementierung 164 12.7 Aufgaben . . . . . . . . . . . . . . 164 13 Geometrische Stetigkeit II 165 13.1 Gamma-Splines ............... . 165 13.2 Lokale Basisfunktionen für G2-stetige Splines 167 13.3 Beta-Splines ............... . 170 13.4 Geometrische Stetigkeit höherer Ordnung . 172 13.5 Zur Implementierung 174 13.6 Aufgaben ................ . 174 14 Kegelschnitte 175 14.1 Projektive Abbildungen der reellen Geraden 175 14.2 Kegelschnitte als rationale quadratische Kurven.·. 178 14.3 Eine Variante des Algorithmus von de Casteljau 182 14.4 Ableitungen . . . . . . .. 183 14.5 Die implizite Form . . . . 184 14.6 Zwei klassische Probleme . 185 14.7 Klassifizierung ... 186 14.8 Kontrollvektoren . . 188 14.9 Zur Implementierung 190 14.10 Aufgaben ..... . 190 15 Rationale Bezier-und B-Spline-Kurven 192 15.1 Rationale Bezierkurven ... 192 15.2 Der Algorithmus von de Casteljau . 193

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.