
|
|
|
|
交互式计算机图形学:自预向下方法与OpenGL应用
|
|
|
|
|
| 作者 |
: |
(美)安杰尔(Angel.E.)
|
| ISBN |
: |
7040137240
|
| 页数 |
: |
719
|
| 开本 |
: |
小16开
|
| 封面形式 |
: |
简裝本
|
| 出版社 |
: |
高等教育出版社
|
| 出版日期 |
: |
2003-10-1
|
| NT$ |
: |
513
|
|
|
|
|
配送说明: 国际快递 , 海运邮递 。
付款说明: 1. VISA、MASTER線上刷卡 2. 信用卡传真刷卡付款 3.
邮政划拨 4. 银行汇款
|
|
|
|
|
 |
| |
本书向读者讲授如何用OpenGL从初级阶段快速制作优质的交互式计算机图形实例,OpenGL是业界广泛采用的三维图形API,本书藉此向读者提供了在计算机图形学领域更广阔空间内发展的坚实基础。书中内容覆盖了计算机图形学基础课程所需的所有论题,如光景交互作用、图形明暗处理、图形建模、曲线与曲面、偏差预防、纹理映射和图形组合,还探讨了计算机硬件方面的问题。 本版为配合计算机图形学领域最新进展,增加了更具广度和深度的内容,包括图像处理、多重透视、并行透视等,并运用选择模式、仿真模拟、面向对象图形学与实景图像、射线跟踪等方法讲解了图形交互的内容。随书所附光盘包括OpenGL指令集参考、OpenGL手册、书中源码代码和附加的实用案例。 本书适用于高等院校本科高年级和研究生的计算机图形学、交互式计算机系统等课程。
|
|
|
|
|
|
 |
| |
Preface Chapter1GraphicsSystemsandModels 1.1ApplicationsofComputerGraphics 1.1.1DisplayofInformation 1.1.2Design 1.1.3SimulationandAnimation 1.1.4UserInterfaces 1.2AGraphicsSystem 1.2.1PixelsandtheFrameBuffer 1.2.2OutputDevices 1.2.3InputDevices 1.3Images:PhysicalandSynthetic 1.3.1ObjectsandViewers 1.3.2LightandImages 1.3.3RayTracing 1.4TheHumanVisualSystem 1.5ThePinholeCamera 1.6TheSynthetic-CameraModel 1.7TheProgrammer'sInterface 1.7.1ApplicationProgrammer'sInterfaces 1.7.2ThePen-PlotterModel 1.7.3Three-DimensionalAPIs 1.7.4ASequenceofImages 1.7.5TheModeling-RenderingParadigm 1.8GraphicsArchitectures 1.8.1DisplayProcessors 1.8.2PipelineArchitectures 1.8.3Transformations 1.8.4Clipping 1.8.5Projection 1.8.6Rasterization 1.8.7PerformanceCharacteristics 1.9SummaryandNotes 1.10SuggestedReadings Exercises Chapter2GraphicsProgramming 2.1TheSierpinskiGasket 2.2ProgrammingTwo-DimensionalApplications 2.2.1CoordinateSystems 2.3TheOpenGLAPI 2.3.1GraphicsFunctions 2.3.2TheGraphicsPipelineandStateMachines 2.3.3TheOpenGLInterface 2.4PrimitivesandAttributes 2.4.1PolygonBasics 2.4.2PolygonTypesinOpenGL 2.4.3DrawingaSphere 2.4.4Text 2.4.5CurvedObjects 2.4.6Attributes 2.5Color 2.5.1RGBColor 2.5.2IndexedColor 2.5.3SettingofColorAttributes 2.6Viewing 2.6.1Two-DimensionalViewing 2.6.2TheOrthographicView 2.6.3MatrixModes 2.7ControlFunctions 2.7.1InteractionwiththeWindowSystem 2.7.2AspectRatioandViewports 2.7.3Themain,display,andmyinitFunctions 2.7.4ProgramStructure 2.8TheGasketProgram 2.9PolygonsandRecursion 2.10TheThree-DimensionalGasket 2.10.1UseofThree-DimensionalPoints 2.10.2UseofPolygonsinThreeDimensions 2.10.3Hidden-SurfaceRemoval 2.11SummaryandNotes 2.12SuggestedReadings Exercises Chapter3InputandInteraction 3.1Interaction 3.2InputDevices 3.2.1PhysicalInputDevices 3.2.2LogicalDevices 3.2.3MeasureandTrigger 3.2.4InputModes 3.3ClientsandServers 3.4DisplayLists 3.4.1DefinitionandExecutionofDisplayLists 3.4.2TextandDisplayLists 3.4.3FontsinGLUT 3.5ProgrammingEvent-DrivenInput 3.5.1UsingthePointingDevice 3.5.2WindowEvents 3.5.3KeyboardEvents 3.5.4TheDisplayandIdleCallbacks 3.5.5WindowManagement 3.6Menus 3.7Picking 3.7.1PickingandSelectionMode 3.8ASimplePaintProgram 3.9AnimatingInteractivePrograms 3.9.1TheRotatingSquare 3.9.2DoubleBuffering 3.9.3OtherBufferingProblems 3.10DesignofInteractivePrograms 3.10.1Toolkits,Widgets,andtheFrameBuffer 3.11LogicOperations 3.11.1DrawingErasableLines 3.11.2XORandColor 3.11.3CursorsandOverlayPlanes 3.12SummaryandNotes 3.13SuggestedReadings Exercises Chapter4GeometricObjectsandTransformations 4.1Scalars,Points,andVectors 4.1.1TheGeometricView 4.1.2Coordinate-FreeGeometry 4.1.3TheMathematicalView:VectorandAffineSpaces 4.1.4TheComputer-ScienceView 4.1.5GeometricADTs 4.1.6Lines 4.1.7AffineSums 4.1.8Convexity 4.1.9DotandCrossProducts 4.1.10Planes 4.2Three-DimensionalPrimitives 4.3CoordinateSystemsandFrames 4.3.1RepresentationsandN-tuples 4.3.2ChangesofCoordinateSystems 4.3.3ExampleofChangeofRepresentation 4.3.4HomogeneousCoordinates 4.3.5ExampleofChangeinFrames 4.3.6WorkingwithRepresentations 4.3.7FramesandADTs 4.3.8FramesinOpenGL 4.4ModelingaColoredCube 4.4.1ModelingofaCube 4.4.2Inward-andOutward-PointingFaces 4.4.3DataStructuresforObjectRepresentation 4.4.4TheColorCube 4.4.5BilinearInterpolation 4.4.6VertexArrays 4.5AffineTransformations 4.6Translation,Rotation,andScaling 4.6.1Translation 4.6.2Rotation 4.6.3Scaling 4.7TransformationsinHomogeneousCoordinates 4.7.1Translation 4.7.2Scaling 4.7.3Rotation 4.7.4Shear 4.8ConcatenationofTransformations 4.8.1RotationAboutaFixedPoint 4.8.2GeneralRotation 4.8.3TheInstanceTransformation 4.8.4RotationAboutanArbitraryAxis 4.9OpenGLTransformationMatrices 4.9.1TheCurrentTransformationMatrix 4.9.2Rotation,Translation,andScaling 4.9.3RotationAboutaFixedPointinOpenGL 4.9.4OrderofTransformations 4.9.5SpinningoftheCube 4.9.6Loading,Pushing,andPoppingMatrices 4.10InterfacestoThree-DimensionalApplications 4.10.1UsingAreasoftheScreen 4.10.2AVirtualTrackball 4.10.3SmoothRotations 4.10.4IncrementalRotation 4.11Quaternions 4.11.1ComplexNumbersandQuaternions 4.11.2QuaternionsandRotation 4.12SummaryandNotes 4.13SuggestedReadings Exercises Chapter5Viewing 5.1ClassicalandComputerViewing 5.1.1ClassicalViewing 5.1.2OrthographicProjections 5.1.3AxonometricProjections 5.1.4ObliqueProjections 5.1.5PerspectiveViewing 5.2ViewingwithaComputer 5.3PositioningoftheCamera 5.3.1PositioningoftheCameraFrame 5.3.2TwoViewingAPIs 5.3.3TheLook-AtFunction 5.3.4OtherViewingAPIs 5.4SimpleProjections 5.4.1PerspectiveProjections 5.4.2OrthogonalProjections 5.5ProjectionsinOpenGL 5.5.1PerspectiveinOpenGL 5.5.2ParallelViewinginOpenGL 5.6Hidden-SurfaceRemoval 5.6.1Culling 5.7WalkingThroughaScene 5.8Parallel-ProjectionMatrices 5.8.1ProjectionNormalization 5.8.2Orthogonal-ProjectionMatrices 5.8.3ObliqueProjections 5.9Perspective-ProjectionMatrices 5.9.1PerspectiveNormalization 5.9.2OpenGLPerspectiveTransformations 5.10ProjectionsandShadows 5.11SummaryandNotes 5.12SuggestedReadings Exercises Chapter6Shading 6.1LightandMatter 6.2LightSources 6.2.1ColorSources 6.2.2AmbientLight 6.2.3PointSources 6.2.4Spotlights 6.2.5DistantLightSources 6.3ThePhongReflectionModel 6.3.1AmbientReflection 6.3.2DiffuseReflection 6.3.3SpecularReflection 6.4ComputationofVectors 6.4.1NormalVectors 6.4.2AngleofReflection 6.4.3UseoftheHalfwayVector 6.4.4TransmittedLight 6.5PolygonalShading 6.5.1FlatShading 6.5.2InterpolativeandGouraudShading 6.5.3PhongShading 6.6ApproximationofaSpherebyRecursiveSubdivision 6.7LightSourcesinOpenGL 6.8SpecificationofMaterialsinOpenGL 6.9ShadingoftheSphereModel 6.10GlobalRendering 6.11SummaryandNotes 6.12SuggestedReadings Exercises Chapter7DiscreteTechniques 7.1Buffers 7.2DigitalImages 7.3WritesintoBuffers 7.3.1WritingModes 7.3.2WriteswithXOR 7.4BitandPixelOperationsinOpenGL 7.4.1OpenGLBuffersandthePixelPipeline 7.4.2Bitmaps 7.4.3RasterFonts 7.4.4PixelsandImages 7.4.5LookupTables 7.4.6BuffersforPicking 7.5MappingMethods 7.6TextureMapping 7.6.1Two-DimensionalTextureMapping 7.6.2TextureMappinginOpenGL 7.6.3TextureObjects 7.6.4Multitexturing 7.6.5TextureGeneration 7.7EnvironmentalMaps 7.8BumpMaps 7.9CompositingTechniques 7.9.1OpacityandBlending 7.9.2ImageCompositing 7.9.3BlendingandCompositinginOpenGL 7.9.4Antialiasing 7.9.5Back-to-FrontandFront-to-BackRendering 7.9.6DepthCueingandFog 7.10MultirenderingandtheAccumulationBuffer 7.10.1SceneAntialiasing 7.10.2BumpMappingandEmbossing 7.10.3ImageProcessing 7.10.4ImagingExtensions 7.10.5OtherMultipassMethods 7.11SamplingandAliasing 7.11.1SamplingTheory 7.11.2Reconstruction 7.11.3Quantization 7.12SummaryandNotes 7.13SuggestedReadings Exercises Chapter8ImplementationofaRenderer 8.1BasicImplementationStrategies 8.2FourMajorTasks 8.2.1Modeling 8.2.2GeometricProcessing 8.2.3Rasterization 8.2.4Display 8.3ImplementationofTransformations 8.4Line-SegmentClipping 8.4.1Cohen-SutherlandClipping 8.4.2Liang-BarskyClipping 8.5PolygonClipping 8.6ClippingofOtherPrimitives 8.6.1BoundingBoxesandVolumes 8.6.2Curves,Surfaces,andText 8.6.3ClippingintheFrameBuffer 8.7ClippinginThreeDimensions 8.8Hidden-SurfaceRemoval 8.8.1Object-SpaceandImage-SpaceApproaches 8.8.2SortingandHidden-SurfaceRemoval 8.8.3Back-FaceRemoval 8.8.4Thez-BufferAlgorithm 8.8.5DepthSortandthePainter'sAlgorithm 8.8.6TheScan-LineAlgorithm 8.9ScanConversion 8.10Bresenham'sAlgorithm 8.11ScanConversionofPolygons 8.11.1Inside-OutsideTesting 8.11.2OpenGLandConcavePolygons 8.11.3ScanConversionwiththez-Buffer 8.11.4FillandSort 8.11.5FloodFill 8.11.6Scan-LineAlgorithms 8.11.7Singularities 8.12Antialiasing 8.13DisplayConsiderations 8.13.1ColorSystems 8.13.2TheColorMatrix 8.13.3GammaCorrection 8.13.4DitheringandHalftoning 8.14SummaryandNotes 8.15References Exercises Chapter9HierarchicalandObject-OrientedModeling 9.1SymbolsandInstances 9.2HierarchicalModels 9.3ARobotArm 9.4TreesandTraversal 9.4.1AStack-BasedTraversal 9.5UseofTreeDataStructures 9.6Animation 9.7GraphicalObjects 9.7.1Methods,Attributes,andMessages 9.7.2ACubeObject 9.7.3ImplementingtheCubeObject 9.7.4ObjectsandHierarchy 9.7.5GeometricObjects 9.8SceneGraphs 9.9ASimpleSceneGraphAPI 9.9.1TheNodeClass 9.9.2GeometryNodes 9.9.3CameraClass 9.9.4LightsandMaterials 9.9.5Transformations 9.9.6TheRobotFigure 9.9.7ImplementingtheViewer 9.9.8ImplementingaNode 9.10OtherTreeStructures 9.10.1CSGTrees 9.10.2ShadeTrees 9.10.3BSPTrees 9.10.4QuadtreesandOctrees 9.11GraphicsandtheWeb 9.11.1NetworksandProtocols 9.11.2HypermediaandHTML 9.11.3DatabasesandVRML 9.11.4JAVAandApplets 9.12SummaryandNotes 9.13SuggestedReadings Exercises Chapter10CurvesandSurfaces 10.1RepresentationofCurvesandSurfaces 10.1.1ExplicitRepresentation 10.1.2ImplicitRepresentations 10.1.3ParametricForm 10.1.4ParametricPolynomialCurves 10.1.5ParametricPolynomialSurfaces 10.2DesignCriteria 10.3ParametricCubicPolynomialCurves 10.4Interpolation 10.4.1BlendingFunctions 10.4.2TheCubicInterpolatingPatch 10.5HermiteCurvesandSurfaces 10.5.1TheHermiteForm 10.5.2GeometricandParametricContinuity 10.6BezierCurvesandSurfaces 10.6.1BezierCurves 10.6.2BezierSurfacePatches 10.7CubicB-Splines 10.7.1TheCubicB-SplineCurve 10.7.2B-SplinesandBasis 10.7.3SplineSurfaces 10.8GeneralB-Splines 10.8.1RecursivelyDefinedB-Splines 10.8.2UniformSplines 10.8.3NonuniformB-Splines 10.8.4NURBS 10.9RenderingofCurvesandSurfaces 10.9.1PolynomialEvaluationMethods 10.9.2RecursiveSubdivisionofBezierPolynomials 10.9.3RenderingofOtherPolynomialCurvesbySubdivision 10.9.4SubdivisionofBezierSurfaces 10.10TheUtahTeapot 10.11AlgebraicSurfaces 10.11.1Quadrics 10.11.2RenderingofSurfacesbyRayCasting 10.11.3SubdivisionCurvesandSurfaces 10.12CurvesandSurfacesinOpenGL 10.12.1BezierCurves 10.12.2BezierSurfaces 10.12.3DisplayingtheTeapot 10.12.4NURBSFunctions 10.12.5Quadrics 10.13SummaryandNotes 10.14ReferencesandNotes Exercises Chapter11ProceduralMethods 11.1ReasonsforUsingProceduralModels 11.2PhysicallyBasedModelsandParticleSystems 11.3NewtonianParticles 11.3.1IndependentParticles 11.3.2SpringForces 11.3.3AttractiveandRepulsiveForces 11.4SolvingParticleSystems 11.5Constraints 11.5.1Collisions 11.5.2ParticlesInsideaSphere 11.5.3SoftConstraints 11.6Language-BasedModels 11.7RecursiveMethodsandFractals 11.7.1RulersandLength 11.7.2FractalDimension 11.7.3MidpointDivisionandBrownianMotion 11.7.4FractalMountains 11.8TheMandelbrotSet 11.9SummaryandNotes 11.10SuggestedReadings Exercises Chapter12Visualization 12.1Data Geometry 12.2HeightFieldsandContours 12.2.1Meshes 12.2.2ContourPlots 12.2.3MarchingSquares 12.3VisualizingSurfacesandScalarFields 12.3.1VolumetricDataSets 12.3.2VisualizationofImplicitFunctions 12.4IsosurfacesandMarchingCubes 12.5MeshSimplification 12.6DirectVolumeRendering 12.6.1AssignmentofColorandOpacity 12.6.2Splatting 12.6.3VolumeRayTracing 12.6.4TextureMappingofVolumes 12.7Vector-FieldVisualization 12.7.1Hedgehogs 12.7.2Glyphs 12.7.3Color 12.7.4ParticleTracesandStreamlines 12.8TensorVisualization 12.9SummaryandNotes 12.10SuggestedReadings Exercises Chapter13AdvancedRendering 13.1GoingBeyondPipelineRendering 13.2RayTracing 13.3BuildingaSimpleRayTracer 13.3.1RecursiveRayTracing 13.3.2CalculatingIntersections 13.3.3Ray-TracingVariations 13.4TheRenderingEquation 13.5Radiosity 13.5.1TheRadiosityEquation 13.5.2SolvingtheRadiosityEquation 13.5.3ComputingFormFactors 13.5.4CarryingOutRadiosity 13.6Renderman 13.7Large-ScaleRendering 13.7.1Sort-MiddleRendering 13.7.2Sort-LastRendering 13.7.3Sort-FirstRendering 13.8Image-BasedRendering 13.8.1ASimpleExample 13.9SummaryandNotes 13.10SuggestedReadings Exercises AppendixASamplePrograms AppendixBSpaces AppendixCMatrices References FunctionIndex SubjectIndex
|
|
|
|
|
|
 |
| |
EdwardAngeliscurrentlyaprofessorofCommputerSicience,ElectricalandComputerEngineeringandMediaArtsattheuniversityofnewmexico.HewasrecentlynamedtheDirectoroftheArttechCenteratUNMintheCollegeofFineArts.ProfessorAngelreceivedhisPh.D.inelectricalengineeringfromtheuniversityofSouthernCaliforniain1968andhassinceheldvisitingpositionsinSweden,India,andEngland.hispresentresearchinterestsfocusoncomputergraphicsandscientificvisualization.
|
|
|
 |
|
|