a anhang: hilfreiche adressen im internet978-3-8348-9679-7/1 · tutorial,zu büchern, zu...
TRANSCRIPT
287
A Anhang: Hilfreiche Adressen im Internet
Online-Service zum Buch: Der Online-Service mit dem Quellcode aller Beispielprogramme sowie weiteren Programme, Aufgaben mit Lösungen zu deneinzelnen Buchkapiteln, Folien für Lehrveranstaltungen und 3D-Modellenim Wavefront Object Format steht unter
http: / /public.ostfalia.de/rvklawonn /computergrafik
zur Verfügung.
Java 20: Weitere Informationen zu Java 2D findet man im Java- Tutorial
http: / /java.sun.com/docs/books/tutorial /2d /
Java 30: Die Homepage von Java 3D firmiert unter der Adresse
http: / /www.java3d.org
Dort findet man zahlreiche Links im Zusammenhang mit Java 3D, z.B. zumTutorial , zu Büchern, zu Beispielen oder hilfreiche Ergänzungen zum Ladenverschiedener Dateiformate oder auch einen Szenengraph-Editor. Selbstverständlich ist dort auch der Link
http: / /java.sun.com/products/java-media /3D/
vorhanden, wo Java 3D kostenlos heruntergeladen werden kann und dasJava 3D API, das Tutorial sowie weitere Informationen zur Verfügung stehen.
30-Modellierung: Neben zahlreichen professionellen CAD-Modellierungswerkzeugen im Design-Umfeld ist in den Bereichen Spiele, Animation und Filmdas kommerzielle und umfangreiche Programm Maya zur ModelIierung vondreidimensionalen Objekten sehr verbreitet, zu dem man unter
http: / /www.alias.com
288 A Anhang: Hilfreiche Adressen im Internet
Informationen findet. Biender3D ist ein freies Open Source Produkt für die3D-Modellierung, mit dem man auch Wavefront Object Dateien erstellenkann. Biender3D steht unter
http: / /www.blender3d.com
zur Verfügung.
Wavefront Object Dateien: Bei
http: / /http:j/www.3droad.com/3d_models_OBJ.htm
findet man eine Reihe von Objekten im Wavefront Object Format.
OpenGl: OpenGL firmiert unter der Adresse
http: / /www.opengl.org
und in Deutschland unter
http: / /www.open-gl.de
289
BAnhang: Beispielprogramme
Der Online-Service zu diesem Buch stellt alle erwähnten und weitere Beispielprogramme zur Verfügung. Die folgenden Tabellen verweisen auf die Stellen imBuch, in denen die jeweiligen Beispielprogramme erwähnt werden. Die Tabellen enthalten getrennt nach Java 2D und 3D die Programme in alphabetischerReihenfolge.
I Java-KlasseJava 2DI Thema
ArcExample Ellipsenbogen, -ausschnitt und 21-abschnitt
AreaExample Vereinigung, Durchschnitt, Diffe- 22renz und symmetrische Differenzfür Flächen
BufferedlmageDrawer Generische Klasse für die Verwen- 95dung von Double-Buffering zumZeichnen eines BufferedImage
ConvexCombTransforms Animation mittels Konvexkombi- 44nationen von Transformationenam Beispiel der Umwandlung ei-ner Ellipse in eine andere
CurveDemo Zeichnen von Geradensegmen- 17ten, quadratischen und kubischenKurven
DoubleBufferingClockExampie Bewegungen am Beispiel einer 95Uhr realisiert mittels Double-Buffering
290 BAnhang: Beispielprogramme
Java 2DI Thema
DToCMorphing Transformation zweier Objekte inein- 44ander , die durch Kurven unter Ver-wendung von Kontrollpunkten definiertwerden, am Beispiel der Buchstaben Dund C
GeneraIPathCar Beispiel eines GeneralPath anhand 19des Umrisses eines Autos
GradientPa intExampie Verwendung von Farbverläufen 113ImageLoadingExample Laden eines JPEG-Bildes 96ImageSavingExampie Speichern eines JPEG-Bildes 97LineEndings Enden und Verbindungen bei breiten 87
LinienMorphingCandS Verwendet die Klasse 114
Triangulatedlmage , um zwei trian-gulierte Bilder schrittweise ineinanderumzuwandeln
MyFi nishWindow Klasse zum Schließen eines Fensters 11NonSynchronizedClock Bewegungen am Beispiel einer einfa- 39
chen UhrRecta ngleElli pseExampie Rechteck und Ellipse 20Rotation Exampie Rotation 35ScalingExample Skalierung 35ShearingExample Scherung 35SimpieJava2DExampie erstes Java 2D Beispielprogramm 10SimpleLetterC Darstellung des Buchstaben C mittels 44
zweier quadratischer KurvenSimpleLetterD Darstellung des Buchstaben D mittels 44
zweier quadratischer KurvenStrokingExampie verschiedene Strichel ungsmuster 67TextExample Zeichnen und modifizieren von Text 101Texture2DExampie Zeichnen von Texturen 97
I Java-Klasse
291
1 Seite I
Java 2D-----:----:-:-:---------1 Thema
TransformationOrderExampie Reihenfolge von Transformatio- 35nen
TransformationOrderExampleR Reihenfolge von Transformatio- 35nen
TransformationOrderExampleRT Reihenfolge von Transformatio- 35nen
TransformationOrderExampieT Reihenfolge von Transformatio- 35nen
TransformationOrderExampleTR Reihenfolge von Transformatio- 35nen
TranslationExampie Translation 35Triangulatedlmage Klasse für triangulierte Bil- 114
der, die sich schrittweise durchPixel- und Farbinterpolation in-einander umwandeln lassen
I Java-Klasse
I Java-Klasse 1 ThemaJava 3D
BackgroundExampie Verwendung eines aus einer Datei gelade- 241nen Bildes als Hintergrund. Dieses Pro-gramm benötigt die Datei sunset . j pg.Einen einfarbigen Hintergrund findet manz.B. im Programm StaticSceneExample.
C1ippingPlanes Veränderung des C1ipping-Volumens durch 194den Sichtfeldwinkel und die vordere undhintere C1ipping-Ebene
CollisionBehaviour1 Eine Klasse, die von CollisionExample 273verwendet wird, um die Farbe eines Objektbei einer Kollision zu ändern. Dazu wird einSwitch benutzt.
292 BAnhang: Beispielprogramme
Java 3DI Thema
CollisionBehaviour2 Eine Klasse, die von CollisionExample 271verwendet wird, um ein Objekt bei einerKollision zu bewegen.
CollisionExample Beispiel für die Verwendung der 270Kollisionsdetektion. Außerdem: Ver-wendung der Klasse Switch und derNavigation mittels Cursor- Tasten.Die Klassen CollisionBehaviourlund CollisionBehaviour2 werdenbenötigt.
ConstantFloatCreator Implementiert das Interface 257IFloatCreator.
Consta ntLongCreator Implementiert das Interface 257ILongCreator.
ConstantVector3fCreator Implementiert das Interface 257IVector3fCreator.
DynamicSurfaceExample Realisiert das Morphing el- 263ner Fläche In eine andere.IFunctionlnTwoVariables,FunctionlnTwoVariablesExampleFunctionlnTwoVariablesExample2und SimpleMorphBehaviour werdenbenötigt.
ExpFogExampie Exponentieller Nebel und die mehrfache 252Verwendung derselben Transformations-gruppe in einer Szene
Extract3DExampie Laden eines Objektes aus einer Da- 167tei im Wavefront Object Format, dar-gestellt wird nur ein Teilobjekt, nichtdas gesamte geladene Objekt. Die Da-tei schiff . obj wird für das Programmbenötigt.
Functionln- Two- Implementieru ng des Interfaces 172VariablesExampie IFunctionlnTwoVariables , das In
der Klasse SurfaceExample benötigtwird.
I Java-Klasse
293
Java 3DI Thema
GeomArrayExampie Erzeugung eines Objektes (Tetraeders) 165aus einzelnen Dreiecken
IDirectionCreator Ein Interface zur Erzeugung von Bewe- 257gungsrichtu ngen von Parti kel n.
IFloatCreator Ein Interface zur Erzeugung von Ge- 257schwindigkeiten von Partikeln.
IFunctionlnTwoVariables Ein Interface, das eine reelle Funktion in 172zwei Variablen beschreibt.
ILongCreator Ein Interface zur Erzeugung von Zwi- 257schena nkunftszeiten und Lebensdauernvon Partikeln.
Interaction Exampie Auswahl von Objekten mit der Maus und 268Initiierung einer Bewegung. Dazu wirddie Klasse PickingExample verwendet.
Interaction Test Auswahl von Objekten mit der Maus. 267Es wird unter Verwendung der KlassePickingTest ausgegeben, welches Ob-jekt ausgewählt wurde.
ISimpleParticieCreator Ein Interface Im Package 256simpleParticleSystemPackagezur Erzeugung einzelner Partikel.
IVector3fCreator Ein Interface zur Erzeugung von An- 257fangspositionen einzelner Partikel.
LightingExampie Verwendung verschiedener Lichtquellen 227und Reflexionseigenschaften von Ober-flächen
LightingExample2 Eine um die Szene rotierende Lichtquel- 227le verdeutlicht unrealistische Farbeffek-te, die entstehen, wenn die Reflexionsfar-ben einer Oberfläche völlig unterschied-lich gewählt werden.
LineOfSparksCreator Implementiert das Interface 256ISimpleParticleCreator.
I Java-Klasse
294 BAnhang: Beispielprogramme
Java 3DI Thema
LinFogExample Linearer Nebel und die mehrfache 252Verwendung derselben Transformations-gruppe in einer Szene
Load3DExampie Laden und Darstellen eines Objektes aus 167einer Datei im Wavefront Object For-mat, Ausgabe der Namen aller Teilob-jekte, Färben eines Teilobjekts. Die Da-tei schiff. obj wird für das Programmbenötigt.
LODExample Verwendung der LOD-Technik (Level of 277Detail)
MovingLight Eine sich bewegende Lichtquelle 217MovingSpotLight Ein um die Szene rotierender Scheinwer- 227
fer, dessen Lichtintesität zum Rand desLichtkegels nicht abnimmt, dort aber ab-rupt auf Null fällt.
NormalsForGeomArrays Erzeugung eines Objektes (Tetraeders) 189aus einzelnen Dreiecken, bei dem die Nor-malenvektoren der Dreiecke interpoliertwerden.
ParticieSystemExampie Realisierung einer Wunderkerze mit Hilfe 255eines Partikelsystems. Eswird das Packa-ge simpleParticleSystemPackagebenötigt.
PickingExampie Eine Klasse, die von 268InteractionExample benutzt wird, ummit der Maus ausgewählte Objekte zubewegen.
PickingTest Eine Klasse, die von InteractionTest 267benutzt wird, um die Namen mit derMaus ausgewählter Objekte auszugeben.
RandomDirectionCreator2 Implementiert das Interface 257IDirectionCreator.
RandomLongCreator Implementiert das Interface 257ILongCreator.
I Java-Klasse
295
Java 3DI Thema
ShadingExample Verwendung von konstanter statt 231Gouraud-Schattieru ng
SimpleAnimation3d Einfache Animation, die einen Hub- 142schrauber starten und landen lässt
SimpleMorphBehaviour Ein Behaviour, das die Konvexkom- 263bination bei einem Morph steuert.
SimpleParticieSystem Die zentrale Klasse Im Package 255simpleParticleSystemPackage zurErzeungung eines einfachen Partikelsy-stems
SimpleParticieSystemRunner Ein Thread, in dem Partikel für ein 258Partikelsystem erzeugt werden.
SimpleSingleParticieCreator Ein Thread, zur Erzeugung einzelner 258Partikel inklusive Bewegung.
SoundExample Einbindung von Akustikeffek- 280ten In eine Szene In Form ei-nes BackgroundSound und ei-nes PointSound. Die Dateienbgsound .wav, psound.wav unddarkclouds . jpg werden für dasProgramm benötigt.
StaticSceneExampie Erzeugung einer statischen Szene mit 130einem Hubschrauber und einem Baum
SurfaceExample Darstellung einer Funktion In zwei 172Variablen als Oberfläche. Die KlassenIFunctionInTwoVariables undFunctionInTwoVariablesExamplewerden dafür benötigt.
Tesselation BWExampie Drahtgittermodelldarstell ung einer 162statischen Szene mit einem Hub-schrauber und einem Baum
Tesselation Exampie teiIweise Drahtgittermodelldarstell ung 162einer statischen Szene mit einem Hub-schrauber und einem Baum
I Java-Klasse
296 BAnhang: Beispielprogramme
Java 3DI Thema
TesselationResolution Annäherung einer Kugeloberfläche mit 163einer unterschiedlichen Anzahl von Drei-ecken
Text3DExampie Verwendung von Text und eines 174Billboard-Behaviours In einer dreidi-mensionalen Darstellung. Die KlassenIFunctionlnTwoVariables undFunctionlnTwoVariablesExamplewerden dafür benötigt.
TextureExample Aufbringen einer aus einer Bilddatei ge- 241ladenen Textur auf eine Kugel. Die DateimyTexture . jpg wird für das Programmbenötigt.
TransparencyExampie Beispiel für interpolierte und Screen- 236Door-Transparenz
ViewParallelProjection Para Iiel projektion zur Darstellung einer 149statischen Szene mit einem Hubschrau-ber und einem Baum
I Java-Klasse
C Anhang: Hinweise zu Java 2D Klassenund Methoden
297
AffineTransform, 33Arc2D,20Area, 21BasicStroke, 66, 86Bufferedimage, 93Color, 109concatenate, 34createGlyphVector, 100createTransformedArea, 35createTransformedSha pe, 35CubicCurve2D, 17curveTo, 18deriveFont, 100draw, 16drawlmage, 93drawString, 99Ellipse2D, 20fill, 16Font, 99GeneralPath, 17getClip, 97getGlyphOutline, 101getGlyphPosition, 100getMatrix, 44getRGB, 114GlyphVector, 100GradientPaint, 113Graphics, 10Graphics2D, 10Image, 93Line2D, 17lineTo, 18moveTo, 18paint, 10
Point2D, 16Point2D.Double, 16Point2D.Float, 16preConcatenate, 34QuadCurve2D, 17quadTo, 18Rectangle2D, 19rotation, 33scale, 34setClip, 97setFont, 100setPaint, 109setRenderingHint, 84setRGB, 114setStroke, 66setToRotation, 33setToSeale, 34setToShear, 34setToTranslation, 34setWindingRule, 93Shape, 16shear, 34TexturePaint, 97transform, 35translate, 34update, 94
298
D Anhang: Hinweise zu Java 3D Klassenund Methoden
addBranchGraph, 132addChild, 131, 132Alpha, 136AmbientLight, 215Appearance, 126, 226AxisAngle4d, 122Background, 241BackgroundSound, 279Behavior, 262, 265Billboard, 174BitSet, 274BoundingBox, 140BoundingSphere, 140Box, 127BranchGroup, 132, 214Color3f, 126ColoringAttributes, 231compile, 132Cone, 163ConeSound, 280Cylinder, 127, 163DirectionalLight, 215ExponentialFog, 252Font3D, 174FontExtrusion, 174GeometryArray, 163,188getlmage, 241getNamedObjects, 166getScaledlmage, 240getSceneGroup, 166ImageComponent2D, 240initialize, 262, 272Interpolator, 135KeyNavigatorBehavior, 276
LinearFog, 252Link, 252DistanceLOD, 277 Material, 226MediaContainer, 280Morph,262mul, 123NormalGenerator, 188ObjectFile, 166OrbitBehavior, 130, 265pickAll, 267pickAIiSorted, 267pickAny, 267pickCanvas, 267pickClosest, 267PickMouseBehavior, 265PickTranslateBehavior, 270Point3f, 216PointSound, 280PolygonAttributes, 162Position Interpolator, 139Primitive, 265processStimulus, 262, 273removeChild, 258Rotation Interpolator, 141rotX, 122rotY, 122rotZ, 122Scalelnterpolator, 141Scene, 166setAppearance, 166setApplicationBounds, 241setBackClipDistance, 194setCapability, 141, 270
setChildMask, 274setCollidable, 271setCollisionBounds, 271setCreaseAngle, 188setEnable , 278setFieldONiew, 194setFrontClipDistance, 194setlnitialGain, 278setLoop, 278setMaterial, 226set(matrix), 123setPickable , 265setPolygonAttributes, 162setScale, 122setSchedulingBounds, 140setShadeModel , 231setSoundData, 278setStartTime, 267setTranslation, 122setTransparency, 236setTransparencyAttri butes, 236setTransparencyMode, 236setUserData, 265setWeights, 262setWhichChild , 274Shape3D, 165SharedGroup, 252SimpleUniverse, 128Sphere, 127, 163SpotLight, 216Switch,273Text2D, 173Text3D, 173, 174Textur2D, 240TextureLoader, 241Transform3D, 122TransformGroup, 131TransparencyAttributes, 236updateScene, 266
Vector3f, 215View, 194WakeupOnCollisionEntry, 272WakeupOnCollisionExit , 272WakeupOnCollisionMovement, 272WakeupOr, 272
299
300
Literaturverzeichnis
[1] J. Barrilleaux: 3D User Interfaces with Java 3D. Manning Publications,Greenwich, CT (2002)
[2] A. Beuthner: Displays erobern die dritte Dimension. Computer Zeitung30/2004, 14-14
[3] J.F. Blinn: Simulation of Wrinkled Surfaces. In: Proc. SIGGRAPH'78, Computer Graphics 12 (1978), 286-292
[4] J.E. Bresenham: Aigorithm for Computer Control of a Digital Plotter. IBMSystems Journal 4 (1965), 25-30
[5] J.E. Bresenham: A Linear Aigorithm for Incremental Digital Display of Circular Ares. Communications of the ACM 20 (1977), 100-106
[6] R. Brons: Linguistic Methods for the Description of a Straight Line on aGrid. Computer Graphics and Image Processing 3 (1974), 48-62
[7] R. Brons: Theoretical and Linguistic Methods for the Describing StraightLines. In: [14], 19-57
[8] K. Brown, D. Petersen: Ready-to-Run Java 3D. Wiley, Chichester (1999)
[9] H.-J. Bungartz, M. Griebel, C. Zenger: Einführung in die Computergraphik(2. Aufl.}. Vieweg, Wiesbaden (2002)
[10] M.F. Cohen, S.E. Chen, J.R. Wallace, D.P. Greenberg: A Progressive Refinement Approach to Fast Radiosity Image Generation. In: Proc. SIGGRAPH'88, Computer Graphics 22 (1988), 75-84
[11] M.F. Cohen, D.P. Greenberg: The Hemi-Cube: A Radiosity Solution forComplex Environments. In: Proc. SIGGRAPH'85, Computer Graphics 19(1985), 31-40
[12] M. Cyrus, J. Beck: Generalized Two- and Three-Dimensional C1ipping. Computers and Graphics 3 (1978), 23-28
[13] Y. Dobashi, K. Kaneda , H. Yamashita , T. Okita, T. Nishita: A Simple, Efficient Method for Realistic Animation of C1ouds. In Proc. SIGGRAPH'2000,Computer Graphics 34 (2000) , 19-28
301
[14] R.A. Earnshaw (ed.): Fundamental Aigorithms for Computer Graphics.Springer, Berlin (1985)
[15] D.5. Ebert, F.K. Musgrave, D. Peachey, K. Perlin, S. Worley: Texturing &Modeling: A Procedural Approach (3rd ed.). Elsevier, San Francisco (2003)
[16] J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes: Computer Graphics: Principles and Practice. Second Edition in C. Addison-Wesley, Boston (1996)
[17] C. Geiger: Helft mir, Obi-Wan Kenobi. iX 5/2004 , 97-102
[18] C.M. Goral, K.E. Torrance, D.P. Greenberg, B. Battaile: Modeling the Interaction of Light Between Surfaces. In: Proc. SIGGRAPH'84, ComputerGraphics 18 (1984), 213-222
[19] H. Gouraud: Continuous Shading of Curved Surfaces. IEEE Transactions onComputers C-20 (1971) , 623-629
[20] S. Gupta, R.E. Sproull: Filtering Edges for Gray-Scale Displays. ComputerGraphics 15 (1981), 1-5
[21] V.J. Hardy: Java 2D API Graphics. Prentice Hall, Upper Saddle River, NJ(2000)
[22] D. Hearn, M.P. Baker: Computer Graphics with OpenGL (3rd Edition).Pearson Prentice Hall, Upper Saddle River, NJ (2004)
[23] M.R. Kappei: An Ellipse-Drawing Aigorithm for Raster Displays. In: [14].257-280
[24] F. Klawonn , V. Chekhtman, E. Janz: Visual Inspection of Fuzzy C1usteringResults. In: J. Benitez, O. Cordon, F. Hoffmann, R. Roy (eds.): Advances inSoft Computing: Engineering Design and Manufacturing. Springer, London(2003) , 65-76
[25] F. Klawonn: Introduction to Computer Graphics: Using Java 2D and 3D.Springer, London (2008)
[26] J. Knudsen: Java 2D Graphics. O'Reilly, Beijing (1999)
[27] H. Kopka: It\TEXBand 1: Einführung (3. Auflage). Addison-Wesly, München(2000)
[28] F. Lamprecht: 3D für das Web. Addison-Wesley, München (2002)
[29] M. Magnor: 3D-TV: Computergraphik zwischen virtueller und realer Welt.Informatik Spektrum 27 (2004), 497-503
302 Literatu rverzeichnis
[30] T. Nishita, E. Nakamae: Continuous Tone Representation of ThreeDimensional Objects Taking Account of Shadows and Interreflection. In:Proc. SIGGRAPH'85, Computer Graphics 19 (1985), 124-246
[31] A. Nischwitz, P. Haberäcker: Masterkurs Computergrafik und Bildverarbei-tung. Vieweg, Wiesbaden (2004)
[32] I. Palmer: Essential Java 3D Fast. Springer, London (2001)
[33] G. Palmer: Physics for Game Programmers. Apress, Berkeley (2005)
[34] M. Pharr (ed.): GPU Gems 2: Programming Techniques for HighPerformance Graphics and General-Purpose Computation. Addison-Wesley,Boston (2005)
[35] B.-T. Phong: Illumination for Computer Generated Pictures. Communications of the ACM 18 (1975), 311-317
[36] M.LV. Pitteway: Aigorithms for Drawing Ellipses or Hyperbolae with aDigital Plotter. Computer Journal 10 (1967), 282-289
[37] M.LV. Pitteway, D.J. Watkinson: Bresenham's Aigorithm with Gray Scale.Communications of the ACM 23 (1980), 625-626
[38] D.P. Pretschner: Medizinische Informatik - Virtuelle Medizin auf dem Vormarsch. Carolo-Wilhelmina Forschungsmagazin der Technischen UniversitätBraunschweig, Jahrgang XXXVI, Heft 1 (2001), 14-22
[39] W.T. Reeves: Particle Systems - A Technique for Modelling a Class of FuzzyObjects. In: Proc. SIGGRAPH'83, Computer Graphics 17 (1983), 359-376
[40] W.T. Reeves, R. Blau: Approximate and Probabilistic Aigorithms for Shading and Rendering Particle Systems. In: Proc. SIGGRAPH'85, ComputerGraphics 19 (1983), 313-322
[41] F. Rehm, F. Klawonn, R. Kruse: POLARMAP - Effizient Visualisation ofHigh Dimensional Data. In: E. Banissi, R.A. Burkhard, A. Ursyn, J.J. Zhang,M. Bannatyne, C. Maple, A.J. Cowell, G.Y. Tian, M. Hou: InformationVisualization. IEEE, London (2006), 731-74
[42] C.W. Reynolds: Flocks, Herds, and Schools: A Distributed Behavior Model.In: Proc. SIGGRAPH'87, Computer Graphics 21, 25-34
[43] D. Seiman: Java 3D Programming. Manning Publications, Greenwich, CT(2002)
303
[44] H. Sowizral, K. Rushforth, M. Deering: The Java 3D API Specification.Addison-Wesley, Boston (2000)
[45] T. Soukup, I. Davidson: Visual Data Mining. Wiley, New York (2002)
[46] A. Sullivan: 3-Deep. IEEE Spectrum 4/2005, 22-27
[47] N. Thibieroz: Deferred Shading with Multiple Rendertargets. In: W.F. Engel(ed.): Shader X2, Shader Programming, Tips & Tricks with DirectX 9.Plano , USA (2004), 251-251
[48] K. Tschumitschew, F. Klawonn , F. Höppner, V. Kolodyazhniy: LandscapeMultidimensional Scaling. In: M.R. Berthold , J. Shawe-Taylor, N. l.avrac:Advances in Intelligent Data Analysis VII. Springer, Berlin (2007) 263-273
[49] J.R. Van Aken: An Efficient Ellipse-Drawing Aigorithm. IEEE ComputerGraphics and Applications 4 (1984), 24-35
[50] M. Wacker, M. Keckeisen, S. Kimmerle, W. Straßer, V. Luckas, C. Groß,A. Fuhrmann, M. Sattler, R. Sarlette, R. Klein: Virtual Try-On: VirtuelleTextilien in der Graphischen Datenverarbeitung. Informatik Spektrum 27(2004) , 504-511
[51] A.E. Walsh, D. Gehringer: Java 3D API Jump-Start. Prentice Hall, UpperSaddle River, NJ (2002)
[52] D.R. Warn: Lighting Controls for Synthetic Images. In: Proc. SIGGRAPH'38, Computer Graphics 17 (1983) , 13-21
[53] G.Wyszecki, W. Stiles: Color Science: Concepts and Methods, QuantitativeData and Formulae (2nd ed.). Wiley, New York (1982)
304
Index
Abschluss, 156Akkomodation, 281Algorithmus von Brons, 62Aliasing-Effekt, 7Alpha-Blending, 235ambientes Licht, 212Anaglyphen-Verfahren , 282Animation, 133Anker , 92Antialiasing, 81API,9Application Programming Interface , 9Approximation, 177Audio-Format, 280Augmented Reality, 3
B-Spline , 179Bezier-Fläche, 183Bezier-Kurve, 178Bezier-Punkt, 178- innerer, 179Back Face Culling , 196Bernstein-Polynome, 178Bewegungsparallaxe, 281Bildraumverfahren, 195binokular, 281Bitmaske, 65Bresenham-Algorithmus- für Geraden , 59- für Kreise, 77Bump-Mapping, 238
CAD ,2CAM,2CIEXYZ-Modell, 105C1ipmaps, 171C1ipping, 4, 68- dreidimensionales, 4, 191- zweidimensionales, 4C1ippingbereich, 68C1ippingebene- hintere, 192
Index
- vordere, 192Clippingvolumen, 191CMY-Modell, 105CMYK-Modell, 106CNS-Modell, 108Cohen-Sutherland-C1ipping, 70CSG-Schema , 159Cyrus-Beck-Clipping, 72
Dämpfung, 212- atmosphärische, 213Deferred Shading, 225Differenz von Mengen, 15direktionales Licht, 212Dither-Matrix, 102Double-Buffering, 37, 94Drahtgittermodell, 162Dreipunktperspektive, 148Durchschnitt, 15
Entkernung, 157Environment-Mapping, 238, 242
Farbmodell- additives , 105- subtraktives, 105- wahrnehmungsorientiertes, 108Farbton, 104Fläche, 13Fluchtpunkt, 147Font, 98Formfaktoren, 243Formparameter, 181Freiformfläche , 175, 183
geometrische Transformation (2D), 22Glättungsoperator, 109Glattheit, 176Gouraud-Schattierung, 229Grundobjekt, 12
Halbtonverfahren, 102
Index
Head Mounted Display, 283HLS-Modell, 107Holgraphie. 283homogene Koordinaten, 27, 118HSV-Modell, 107
Intensität, 104Interface, 172Interpolation, 177
Java 2D, 9
Kern, 156Knotenpunkt, 179Kohärenzbetrachtungen, 205Kollisionsdetektion, 268Kontrollierbarkeit , 176Kontrollpunkt, 176Konvergenz, 282konvex, 13Konvexkombination, 41Koord inatensystem- rechtshändiges, 118Kurve, 13Kurvenzug, 13- geschlossener, 13
lentikulares Display, 283Level of Detail , 171, 276Licht- ambientes, 212- direktionales, 212- parallel einfallendes, 212Lichtquelle- punktförmige, 212Ligatur, 98Light Map, 238, 247Linienbreite, 84Linienstil , 64LOD , 171,276Lokalitätsprinzip, 176
Menge- abgeschlossene, 156- offene, 156
- reguläre, 156Mittelpunktalgorithmus- für Geraden, 59- für Kreise, 77monokular, 281
Nebel,250- exponentieller, 251- linearer, 251NURBS, 181
Objektraumverfahren, 195Odd-Parity-Regel, 89Oktalbaum, 158
Parallax-Barriere, 283Parallaxe- divergente , 285- negative, 285- positive, 285Parallelprojektion, 143Partikelsystem, 253Phong-Schattierung, 230Phongsches Beleuchtungsmodell, 222Physik-Engine, 255Pixel-Replikation, 84Polarisation, 283Polygon, 13Polygonzug, 13- geschlossener, 13Prioritätsalgorithmus, 207Projektion, 142- perspektivische, 142Projektionsebene , 142Projektionszentrum, 142Proportionalschrift, 98Pulfrich Effekt, 282Punkt, 22- innerer, 156punktförmige Lichtquelle, 212
Quadtree, 158
räumliche Partitionen, 197Rückseitenentfernung, 196
305
306
Radiosity-Modell , 243Rand, 156Randpunkt, 156Rastergrafik, 7rasterorientierte Grafik, 7Ray Casting, 204Ray Tracing, 248Reflection-Mapping, 238Reflexion- diffuse, 219Regularisierung, 156rekursiver Teilungsalgorithmus, 198Rendering, 4Rendering Pipeline, 4RGB-Modell, 105Rotation, 24, 119Rundungsfehler, 45
Sättigung, 104Scan Conversion, 7Scan-Linien-Verfahren, 90, 202Schatten, 232Schattierung, 211, 219- interpolierte, 229- konstante, 228Scheinwerfer, 213Scherung, 24schrittweise Verfeinerung, 246Schwarmverhalten, 255Screen-Door-Transparenz, 235Shading, 211Shutter-Brille, 283Skalarprodukt, 23Skalierung, 23, 119Skelett, 260Spiegelreflexion, 220Spiegelreflexionsexponent, 223Spiegelreflexionskoeffizient, 223Spotlight, 213Stauchung, 23Stereoskopie, 282Strahlverfolgung, 204, 248Streckung , 23Streulicht. 212struktureller Algorithmus, 60
Supersampling , 206symmetrische Differenz, 16Szenengraph, 124
Tesselierung, 153Texei, 237Textur, 91, 237Texture-Map, 237Tiefenpuffer-Algorithmus, 199Transformationsgruppe, 124, 125Transformationsmatrix, 28Translation, 26, 119Transluzenz, 234Transmissionskoeffizient, 234Transparenz, 234- gefilterte, 234- interpolierte, 234Triangulation , 110
Umgebung, 155Unweighted Area Sampling , 81
Vektor , 22Vektorgrafik , 6vektororientierte Grafik , 6Vereinigung, 15Verschiebegeometrie, 160Viewport, 31Virtual Reality, 3, 250Visibilitätsbetrachtung, 4VisibiIitätsverfa hren, 195Volumen- begrenzendes, 269Voxel, 157
Warn-Modell, 214Wave-Format, 280Wavefront Object, 165Weighted Area Sampling, 82Weltkoordinaten, 31
YIQ-Modell , 106
z-Puffer-Algorithmus, 199Zeichensatz, 98
Index
Index
Zeichenstift, 84Zweipass-Tiefenpuffer-Algorithmus, 232Zweipass-z-Puffer-Algorithmus, 232Zweipunktperspektive, 148
307