OpenInventor中文版指南:3D图形开发入门

需积分: 10 7 下载量 113 浏览量 更新于2024-08-02 3 收藏 8.88MB PDF 举报
"The Inventor Mentor 是一本关于Coin3D中文版的学习资料,作者为Josie Wernecke,并由OpenInventor框架工作组提供支持,郝伟负责翻译。本书主要介绍如何使用OpenInventor进行面向对象的3D图形开发。内容涵盖了OpenInventor的基本概念、对象模型、场景构建、节点与组、照相机和灯光、形体与属性、纹理、曲线与曲面、动作应用、事件处理、选择器、文件格式、传感器和引擎等多个方面,适合对3D图形编程感兴趣的读者学习使用。" 《The Inventor Mentor》一书首先介绍了OpenInventor的核心理念,强调它是一个基于对象而非绘图的3D图形开发平台,与OpenGL有密切关系。OpenInventor提供了一个完整的工具包和组件库,包含丰富的类结构,方便用户扩展和定制。书中通过一个简单的"Hello,Cone"例子,逐步解析了Inventor的基础用法,包括命名规则、场景基本类型、坐标系统以及包含文件的使用。 在后续章节中,书中详细讲解了节点和组的概念,如何创建、共享和管理节点,以及节点间的路径和域操作。照相机和灯光章节则阐述了如何设置视图和光照效果,以便创建逼真的3D场景。形体、属性和绑定部分讨论了各种几何形状、属性节点和几何变换的应用。此外,书中还介绍了如何添加纹理、创建曲线和曲面,以及应用NURBS曲线和表面。 动作(Actions)章节介绍了Inventor的动作机制,如渲染、计算包围盒、几何变换、文件输出、节点搜索、拾取操作等。事件处理和选择器部分讲解了Inventor的事件处理模型,如何编写事件处理程序和使用选择器。文件格式章节涵盖了图形场景的输入输出,包括ASCII和二进制文件格式。传感器和引擎章节深入讨论了不同类型的传感器和引擎,如何用于数据监控、定时任务和动画制作。 《The Inventor Mentor》是一本全面且深入的OpenInventor教程,适合希望掌握3D图形编程的开发者阅读,通过学习,读者可以掌握创建复杂3D应用程序所需的技能和知识。
2019-07-30 上传
The Inventor Mentor[cn].: 文件夹 PATH 列表 卷序列号为 4E8D-6931 C:. │ .txt │ The Inventor Mentor[cn].rar │ └─The Inventor Mentor[cn] │ The Inventor Mentor[cn].pdf │ └─ExampleCode └─例子代码 │ 01.1.Windmill.iv │ 1Mentor.ncb │ 1Mentor.sln │ 1Mentor.sln.old │ Mentor.dsw │ Mentor.ncb │ Mentor.sln │ UpgradeLog.XML │ 使用声明.txt │ ├─Cxx │ │ 02.1.HelloCone.cxx │ │ 02.1.HelloCone.dsp │ │ 02.1.HelloCone.ncb │ │ 02.1.HelloCone.plg │ │ 02.1.HelloCone.suo │ │ 02.1.HelloCone.vcproj │ │ 02.1.HelloCone.vcproj.shuang-PC.shuang.user │ │ 02.2.EngineSpin.cxx │ │ 02.2.EngineSpin.dsp │ │ 02.2.EngineSpin.ncb │ │ 02.2.EngineSpin.suo │ │ 02.2.EngineSpin.vcproj │ │ 02.2.EngineSpin.vcproj.shuang-PC.shuang.user │ │ 02.3.Trackball.cxx │ │ 02.3.Trackball.dsp │ │ 02.3.Trackball.vcproj │ │ 02.3.Trackball.vcproj.shuang-PC.shuang.user │ │ 02.4.Examiner.cxx │ │ 02.4.Examiner.dsp │ │ 02.4.Examiner.vcproj │ │ 02.4.Examiner.vcproj.shuang-PC.shuang.user │ │ 03.1.Molecule.cxx │ │ 03.1.Molecule.dsp │ │ 03.1.Molecule.vcproj │ │ 03.1.Molecule.vcproj.shuang-PC.shuang.user │ │ 03.2.Robot.cxx │ │ 03.2.Robot.dsp │ │ 03.2.Robot.ncb │ │ 03.2.Robot.suo │ │ 03.2.Robot.vcproj │ │ 03.2.Robot.vcproj.shuang-PC.shuang.user │ │ 03.3.Naming.cxx │ │ 03.3.Naming.dsp │ │ 03.3.Naming.vcproj │ │ 03.3.Naming.vcproj.shuang-PC.shuang.user │ │ 04.1.Cameras.cxx │ │ 04.1.Cameras.dsp │ │ 04.1.Cameras.vcproj │ │ 04.1.Cameras.vcproj.shuang-PC.shuang.user │ │ 04.2.Lights.cxx │ │ 04.2.Lights.dsp │ │ 04.2.Lights.vcproj │ │ 04.2.Lights.vcproj.shuang-PC.shuang.user │ │ 05.1.FaceSet.cxx │ │ 05.1.FaceSet.dsp │ │ 05.1.FaceSet.ncb │ │ 05.1.FaceSet.suo │ │ 05.1.FaceSet.vcproj │ │ 05.1.FaceSet.vcproj.7.10.old │ │ 05.1.FaceSet.vcproj.shuang-PC.shuang.user │ │ 05.2.IndexedFaceSet.cxx │ │ 05.2.IndexedFaceSet.dsp │ │ 05.2.IndexedFaceSet.vcproj │ │ 05.2.IndexedFaceSet.vcproj.shuang-PC.shuang.user │ │ 05.3.TriangleStripSet.cxx │ │ 05.3.TriangleStripSet.dsp │ │ 05.3.TriangleStripSet.vcproj │ │ 05.3.TriangleStripSet.vcproj.shuang-PC.shuang.user │ │ 05.4.QuadMesh.cxx │ │ 05.4.QuadMesh.dsp │ │ 05.4.QuadMesh.vcproj │ │ 05.4.QuadMesh.vcproj.shuang-PC.shuang.user │ │ 05.5.Binding.cxx │ │ 05.5.Binding.dsp │ │ 05.5.Binding.vcproj │ │ 05.5.Binding.vcproj.shuang-PC.shuang.user │ │ 05.6.TransformOrdering.cxx │ │ 05.6.TransformOrdering.dsp │ │ 05.6.TransformOrdering.vcproj │ │ 05.6.TransformOrdering.vcproj.shuang-PC.shuang.user │ │ 05.6.TransformOrdering1.cxx │ │ 06.1.Text.cxx │ │ 06.1.Text.dsp │ │ 06.1.Text.vcproj │ │ 06.1.Text.vcproj.shuang-PC.shuang.user │ │ 06.2.Simple3DText.cxx │ │ 06.2.Simple3DText.dsp │ │ 06.2.Simple3DText.vcproj │ │ 06.2.Simple3DText.vcproj.shuang-PC.shuang.user │ │ 06.3.Complex3DText.cxx │ │ 06.3.Complex3DText.dsp │ │ 06.3.Complex3DText.vcproj │ │ 06.3.Complex3DText.vcproj.shuang-PC.shuang.user │ │ 07.1.BasicTexture.cxx │ │ 07.1.BasicTexture.dsp │ │ 07.1.BasicTexture.vcproj │ │ 07.1.BasicTexture.vcproj.shuang-PC.shuang.user │ │ 07.2.TextureCoordinates.cxx │ │ 07.2.TextureCoordinates.dsp │ │ 07.2.TextureCoordinates.vcproj │ │ 07.2.TextureCoordinates.vcproj.shuang-PC.shuang.user │ │ 07.3.TextureFunction.cxx │ │ 07.3.TextureFunction.dsp │ │ 07.3.TextureFunction.vcproj │ │ 07.3.TextureFunction.vcproj.shuang-PC.shuang.user │ │ 08.1.BSCurve.cxx │ │ 08.1.BSCurve.dsp │ │ 08.1.BSCurve.vcproj │ │ 08.1.BSCurve.vcproj.shuang-PC.shuang.user │ │ 08.2.UniCurve.cxx │ │ 08.2.UniCurve.dsp │ │ 08.2.UniCurve.ncb │ │ 08.2.UniCurve.suo │ │ 08.2.UniCurve.vcproj │ │ 08.2.UniCurve.vcproj.7.10.old │ │ 08.2.UniCurve.vcproj.shuang-PC.shuang.user │ │ 08.3.BezSurf.cxx │ │ 08.3.BezSurf.dsp │ │ 08.3.BezSurf.vcproj │ │ 08.3.BezSurf.vcproj.shuang-PC.shuang.user │ │ 08.4.TrimSurf.cxx │ │ 08.4.TrimSurf.dsp │ │ 08.4.TrimSurf.vcproj │ │ 08.4.TrimSurf.vcproj.shuang-PC.shuang.user │ │ 09.1.Print.cxx │ │ 09.1.Print.dsp │ │ 09.1.Print.vcproj │ │ 09.1.Print.vcproj.shuang-PC.shuang.user │ │ 09.2.Texture.cxx │ │ 09.2.Texture.dsp │ │ 09.2.Texture.vcproj │ │ 09.2.Texture.vcproj.shuang-PC.shuang.user │ │ 09.3.Search.cxx │ │ 09.3.Search.dsp │ │ 09.3.Search.vcproj │ │ 09.3.Search.vcproj.shuang-PC.shuang.user │ │ 09.4.PickAction.cxx │ │ 09.4.PickAction.dsp │ │ 09.4.PickAction.vcproj │ │ 09.4.PickAction.vcproj.shuang-PC.shuang.user │ │ 09.5.GenSph.cxx │ │ 09.5.GenSph.dsp │ │ 09.5.GenSph.vcproj │ │ 09.5.GenSph.vcproj.shuang-PC.shuang.user │ │ 10.1.addEventCB.cxx │ │ 10.1.addEventCB.dsp │ │ 10.1.addEventCB.vcproj │ │ 10.1.addEventCB.vcproj.shuang-PC.shuang.user │ │ 10.2.setEventCB.cxx │ │ 10.2.setEventCB.dsp │ │ 10.2.setEventCB.vcproj │ │ 10.2.setEventCB.vcproj.shuang-PC.shuang.user │ │ 10.5.SelectionCB.cxx │ │ 10.5.SelectionCB.dsp │ │ 10.5.SelectionCB.vcproj │ │ 10.5.SelectionCB.vcproj.shuang-PC.shuang.user │ │ 10.6.PickFilterTopLevel.cxx │ │ 10.6.PickFilterTopLevel.dsp │ │ 10.6.PickFilterTopLevel.vcproj │ │ 10.6.PickFilterTopLevel.vcproj.shuang-PC.shuang.user │ │ 10.7.PickFilterManip.cxx │ │ 10.7.PickFilterManip.dsp │ │ 10.7.PickFilterManip.vcproj │ │ 10.7.PickFilterManip.vcproj.shuang-PC.shuang.user │ │ 10.8.PickFilterNodeKit.cxx │ │ 10.8.PickFilterNodeKit.dsp │ │ 10.8.PickFilterNodeKit.vcproj │ │ 10.8.PickFilterNodeKit.vcproj.shuang-PC.shuang.user │ │ 11.1.ReadFile.cxx │ │ 11.1.ReadFile.dsp │ │ 11.1.ReadFile.vcproj │ │ 11.1.ReadFile.vcproj.shuang-PC.shuang.user │ │ 11.2.ReadString.cxx │ │ 11.2.ReadString.dsp │ │ 11.2.ReadString.vcproj │ │ 11.2.ReadString.vcproj.shuang-PC.shuang.user │ │ 12.1.FieldSensor.cxx │ │ 12.1.FieldSensor.dsp │ │ 12.1.FieldSensor.vcproj │ │ 12.1.FieldSensor.vcproj.shuang-PC.shuang.user │ │ 12.2.NodeSensor.cxx │ │ 12.2.NodeSensor.dsp │ │ 12.2.NodeSensor.vcproj │ │ 12.2.NodeSensor.vcproj.shuang-PC.shuang.user │ │ 12.3.AlarmSensor.cxx │ │ 12.3.AlarmSensor.dsp │ │ 12.3.AlarmSensor.vcproj │ │ 12.3.AlarmSensor.vcproj.shuang-PC.shuang.user │ │ 12.4.TimerSensor.cxx │ │ 12.4.TimerSensor.dsp │ │ 12.4.TimerSensor.vcproj │ │ 12.4.TimerSensor.vcproj.shuang-PC.shuang.user │ │ 13.1.GlobalFlds.cxx │ │ 13.1.GlobalFlds.dsp │ │ 13.1.GlobalFlds.vcproj │ │ 13.1.GlobalFlds.vcproj.shuang-PC.shuang.user │ │ 13.2.ElapsedTime.cxx │ │ 13.2.ElapsedTime.dsp │ │ 13.2.ElapsedTime.vcproj │ │ 13.2.ElapsedTime.vcproj.shuang-PC.shuang.user │ │ 13.3.TimeCounter.cxx │ │ 13.3.TimeCounter.dsp │ │ 13.3.TimeCounter.vcproj │ │ 13.3.TimeCounter.vcproj.shuang-PC.shuang.user │ │ 13.4.Gate.cxx │ │ 13.4.Gate.dsp │ │ 13.4.Gate.vcproj │ │ 13.4.Gate.vcproj.shuang-PC.shuang.user │ │ 13.5.Boolean.cxx │ │ 13.5.Boolean.dsp │ │ 13.5.Boolean.vcproj │ │ 13.5.Boolean.vcproj.shuang-PC.shuang.user │ │ 13.6.Calculator.cxx │ │ 13.6.Calculator.dsp │ │ 13.6.Calculator.vcproj │ │ 13.6.Calculator.vcproj.shuang-PC.shuang.user │ │ 13.7.Rotor.cxx │ │ 13.7.Rotor.dsp │ │ 13.7.Rotor.vcproj │ │ 13.7.Rotor.vcproj.shuang-PC.shuang.user │ │ 13.8.Blinker.cxx │ │ 13.8.Blinker.dsp │ │ 13.8.Blinker.vcproj │ │ 13.8.Blinker.vcproj.shuang-PC.shuang.user │ │ 14.1.FrolickingWords.cxx │ │ 14.1.FrolickingWords.dsp │ │ 14.1.FrolickingWords.vcproj │ │ 14.1.FrolickingWords.vcproj.shuang-PC.shuang.user │ │ 14.2.Editors.cxx │ │ 14.2.Editors.dsp │ │ 14.2.Editors.vcproj │ │ 14.2.Editors.vcproj.7.10.old │ │ 14.2.Editors.vcproj.shuang-PC.shuang.user │ │ 14.3.Balance.cxx │ │ 14.3.Balance.dsp │ │ 14.3.Balance.vcproj │ │ 14.3.Balance.vcproj.7.10.old │ │ 14.3.Balance.vcproj.shuang-PC.shuang.user │ │ 15.1.ConeRadius.cxx │ │ 15.1.ConeRadius.dsp │ │ 15.1.ConeRadius.vcproj │ │ 15.1.ConeRadius.vcproj.7.10.old │ │ 15.1.ConeRadius.vcproj.shuang-PC.shuang.user │ │ 15.2.SliderBox.cxx │ │ 15.2.SliderBox.dsp │ │ 15.2.SliderBox.plg │ │ 15.2.SliderBox.vcproj │ │ 15.2.SliderBox.vcproj.7.10.old │ │ 15.2.SliderBox.vcproj.shuang-PC.shuang.user │ │ 15.3.AttachManip.cxx │ │ 15.3.AttachManip.dsp │ │ 15.3.AttachManip.plg │ │ 15.3.AttachManip.vcproj │ │ 15.3.AttachManip.vcproj.7.10.old │ │ 15.3.AttachManip.vcproj.shuang-PC.shuang.user │ │ 15.4.Customize.cxx │ │ 15.4.Customize.dsp │ │ 15.4.Customize.plg │ │ 15.4.Customize.vcproj │ │ 15.4.Customize.vcproj.7.10.old │ │ 15.4.Customize.vcproj.shuang-PC.shuang.user │ │ 16.1.Overlay.cxx │ │ 16.1.Overlay.dsp │ │ 16.1.Overlay.plg │ │ 16.1.Overlay.vcproj │ │ 16.1.Overlay.vcproj.7.10.old │ │ 16.1.Overlay.vcproj.shuang-PC.shuang.user │ │ 16.2.Callback.cxx │ │ 16.2.Callback.dsp │ │ 16.2.Callback.vcproj │ │ 16.2.Callback.vcproj.7.10.old │ │ 16.2.Callback.vcproj.shuang-PC.shuang.user │ │ 16.3.AttachEditor.cxx │ │ 16.3.AttachEditor.dsp │ │ 16.3.AttachEditor.vcproj │ │ 16.3.AttachEditor.vcproj.7.10.old │ │ 16.3.AttachEditor.vcproj.shuang-PC.shuang.user │ │ 16.4.OneWindow.cxx │ │ 16.5.Examiner.cxx │ │ 16.5.Examiner.dsp │ │ 16.5.Examiner.ncb │ │ 16.5.Examiner.suo │ │ 16.5.Examiner.vcproj │ │ 16.5.Examiner.vcproj.shuang-PC.shuang.user │ │ 17.2.GLCallback.cxx │ │ 17.2.GLCallback.dsp │ │ 17.2.GLCallback.plg │ │ 17.2.GLCallback.vcproj │ │ 17.2.GLCallback.vcproj.7.10.old │ │ 17.2.GLCallback.vcproj.shuang-PC.shuang.user │ │ 17.3.GLFloor.cxx │ │ 17.3.GLFloor.dsp │ │ 17.3.GLFloor.ncb │ │ 17.3.GLFloor.suo │ │ 17.3.GLFloor.vcproj │ │ 17.3.GLFloor.vcproj.shuang-PC.shuang.user │ │ CoinDef.h │ │ print.c │ │ print.h │ │ UpgradeLog.XML │ │ UpgradeLog2.XML │ │ │ ├─Data │ │ annotation.iv │ │ bird.iv │ │ bookshelf.iv │ │ brick.1.rgb │ │ cranfld.iv │ │ desk.iv │ │ diamondRug.rgb │ │ dogDish.iv │ │ duck.iv │ │ eatAtJosies.iv │ │ flower.iv │ │ flowerPath.iv │ │ globe.rgb │ │ hole.iv │ │ jumpyMan.iv │ │ luxo.iv │ │ monitor.iv │ │ NurbsCurve.iv │ │ NurbsSurface.iv │ │ oak.gif │ │ parkbench.iv │ │ sillyFace.rgb │ │ star.iv │ │ temple.iv │ │ windmillTower.iv │ │ windmillVanes.iv │ │ │ ├─Win32Debug │ │ 02.1.HelloCone.bsc │ │ 02.1.HelloCone.exe.embed.manifest │ │ 02.1.HelloCone.exe.embed.manifest.res │ │ 02.1.HelloCone.obj │ │ 02.1.HelloCone.sbr │ │ 02.2.EngineSpin.bsc │ │ 02.2.EngineSpin.exe.embed.manifest │ │ 02.2.EngineSpin.exe.embed.manifest.res │ │ 02.2.EngineSpin.obj │ │ 02.2.EngineSpin.sbr │ │ 02.3.Trackball.exe │ │ 02.4.Examiner.exe │ │ 03.1.Molecule.exe │ │ 03.2.Robot.bsc │ │ 03.2.Robot.exe.embed.manifest │ │ 03.2.Robot.exe.embed.manifest.res │ │ 03.2.Robot.obj │ │ 03.2.Robot.sbr │ │ 03.3.Naming.exe │ │ 04.1.Cameras.exe │ │ 04.2.Lights.exe │ │ 05.1.bsc │ │ 05.1.FaceSet.obj │ │ 05.1.FaceSet.sbr │ │ 05.2.IndexedFaceSet.exe │ │ 05.3.TriangleStripSet.exe │ │ 05.4.QuadMesh.exe │ │ 05.5.Binding.exe │ │ 05.6.TransformOrdering.exe │ │ 06.1.Text.exe │ │ 06.2.Simple3DText.exe │ │ 06.3.Complex3DText.exe │ │ 07.1.BasicTexture.exe │ │ 07.2.TextureCoordinates.exe │ │ 07.3.TextureFunction.exe │ │ 08.1.BSCurve.exe │ │ 08.2.UniCurve.exe │ │ 08.3.BezSurf.exe │ │ 08.4.TrimSurf.exe │ │ 09.1.Print.exe │ │ 09.2.Texture.exe │ │ 09.3.Search.exe │ │ 09.4.PickAction.exe │ │ 09.5.GenSph.exe │ │ 10.1.addEventCB.exe │ │ 10.2.setEventCB.exe │ │ 10.5.SelectionCB.exe │ │ 10.6.PickFilterTopLevel.exe │ │ 10.7.PickFilterManip.exe │ │ 10.8.PickFilterNodeKit.exe │ │ 11.1.ReadFile.exe │ │ 11.2.ReadString.exe │ │ 12.1.FieldSensor.exe │ │ 12.2.NodeSensor.exe │ │ 12.3.AlarmSensor.exe │ │ 12.4.TimerSensor.exe │ │ 13.1.GlobalFlds.exe │ │ 13.2.ElapsedTime.exe │ │ 13.3.TimeCounter.exe │ │ 13.4.Gate.exe │ │ 13.5.Boolean.exe │ │ 13.6.Calculator.exe │ │ 13.7.Rotor.exe │ │ 13.8.Blinker.exe │ │ 14.1.FrolickingWords.exe │ │ 14.2.Editors.bsc │ │ 14.2.Editors.obj │ │ 14.2.Editors.sbr │ │ 14.3.Balance.exe │ │ 15.1.ConeRadius.exe │ │ 15.2.SliderBox.exe │ │ 15.3.AttachManip.exe │ │ 15.4.Customize.exe │ │ 16.1.Overlay.exe │ │ 16.2.Callback.exe │ │ 16.3.AttachEditor.exe │ │ 16.5.Examiner.bsc │ │ 16.5.Examiner.exe.embed.manifest │ │ 16.5.Examiner.exe.embed.manifest.res │ │ 16.5.Examiner.obj │ │ 16.5.Examiner.sbr │ │ 17.2.GLCallback.exe │ │ 17.3.GLFloor.bsc │ │ 17.3.GLFloor.exe.embed.manifest │ │ 17.3.GLFloor.exe.embed.manifest.res │ │ 17.3.GLFloor.obj │ │ 17.3.GLFloor.sbr │ │ BuildLog.htm │ │ coin2d.dll │ │ libsndfile.dll │ │ msvcr71d.dll │ │ print.obj │ │ simage1.dll │ │ sowin1d.dll │ │ vc80.idb │ │ vc80.pdb │ │ zlib1.dll │ │ │ ├─Win32Release │ │ coin2.dll │ │ libsndfile.dll │ │ simage1.dll │ │ sowin1.dll │ │ zlib1.dll │ │ │ └─_UpgradeReport_Files │ UpgradeReport.css │ UpgradeReport.xslt │ UpgradeReport_Minus.gif │ UpgradeReport_Plus.gif │ ├─Data │ annotation.iv │ bird.iv │ bookshelf.iv │ brick.1.rgb │ cranfld.iv │ desk.iv │ diamondRug.rgb │ dogDish.iv │ duck.iv │ eatAtJosies.iv │ flower.iv │ flowerPath.iv │ globe.rgb │ hole.iv │ jumpyMan.iv │ luxo.iv │ monitor.iv │ NurbsCurve.iv │ NurbsSurface.iv │ oak.gif │ parkbench.iv │ sillyFace.rgb │ star.iv │ temple.iv │ windmillTower.iv │ windmillVanes.iv │ └─_UpgradeReport_Files UpgradeReport.css UpgradeReport.xslt UpgradeReport_Minus.gif UpgradeReport_Plus.gif