探秘Rhino:产品三维设计进阶必读
上QQ阅读APP看书,第一时间看更新

前言

进入数字化时代以后,用计算机建立产品数字模型成为设计流程中的重要一环。在众多的建模工具中,Rhino以其专业性强、短小精悍、比较低的价格等优点受到众多设计师的青睐。作为一个设计从业人员,我一直把Rhino作为设计的有力工具,用它来建立产品模型。但是在使用Rhino的过程中,我对它也存在诸多的疑问,例如节点、编辑点、控制点、曲线阶数等概念,很难直观地去理解,而这种疑问又会妨碍我去更深刻和高效地理解和使用这个工具。怀着解答这些疑问的目的,我尝试着去寻找答案,在此过程中发现Rhino其实是建立在严密的数学基础上的,这些概念基本上就是数学上的概念,凭着自己大学所学的那点较少的高等数学的知识,凭着想要把这些问题搞懂的求知欲望,浏览了众多的资料之后,对于NURBS的数学原理算是有了一个基本的认识,对于Rhino也有了更深入的理解。在这个寻找答案的过程中,我发现买不到关于Rhino的数学书,大部分关于NURBS的书都是数学专业人员写的,对于设计师来讲非常难懂,因此我就有了把Rhino背后的数学从设计师的角度写出来的想法,能够使设计师们更好地理解NURBS,更好地使用Rhino,更好地设计产品,毕竟产品的设计不仅仅是造型,还有隐藏在造型背后的科学和技术。我写书的想法有幸得到了清华大学出版社的理解和支持,最后促成了本书的完成。

本书的目的之一是帮助设计师以及广大的Rhino使用者理解NURBS的概念、数学原理以及曲线曲面的构造特征,从而深入地理解Rhino的相关概念、指令内涵、指令之间的关系以及曲线曲面的构造原理,并在此基础上建构高质量的Rhino模型。不理解NURBS的数学原理,就难以真正理解Rhino中的节点、定义域、权值、周期曲线等概念。类似于Rhino这样的软件,其3个重要的组成部分就是数学原理、算法和程序代码系统以及用户使用界面。而现实中,很多设计师用户可能对Rhino的最后一个组成部分(也就是用户使用界面)很熟悉,即使用软件很熟练,但却对前两个部分完全不熟悉或者不懂。如果他们能够对前两个部分略有理解或理解得稍微深入一些,那么他们的软件应用水平无疑就会更上一个台阶。但是要完全搞懂这些,我们可能需要回到大学去拿一个数学学位、一个编程的学位、一个设计的学位,真的是难以完成。到目前为止,已经有很多关于NURBS的书籍、论文出版,这些资料大都充满了令人费解的数学定义、公式、推导和证明,以及令人头疼不已的算法和程序代码,常常使想搞懂它们的设计师用户烦恼得挠破头皮,显然这些资料是写给数学家和工程师看的,而不是给设计师看的。因此,本书的目标就是力图写一本给设计师看的关于NURBS的书,使他们不用啃那些密密麻麻的数学公式,就能够对NURBS有更深层次的理解。当然涉及数学原理,本书还是要有数学公式,我力图把数学定义和公式的数量减到最精简的程度,减少数学语言的使用而尽量使用容易理解的词汇,虽然这样使概念的解释和算法的推导显得不如数学上那么严密,但却使NURBS原理更通俗易懂。即便如此精简,仍然需要读者保持一定耐心仔细看完这些数学原理和过程推导,等理解了NURBS的原理以后,你会发现所有的努力和耐心都是值得的。

理解了NURBS的基本原理后,读者不仅能够更好地掌握Rhino,而且能够更好地掌握其他所有包含NURBS建模的3D应用,如Alias Design、3ds Max、Maya、Catia等,同时对于高效、优质地建立NURBS模型,对于理解产品的加工和生产流畅,都是大有裨益的。

本书的另一个目的是探讨如何高质、高效地进行建模和渲染,因此本书的主体部分通过探讨3个产品模型的建模步骤,使读者能够运用Rhino建立高质量的产品数据模型。本书的最后一章探讨了Maxwell Render渲染工具的使用方法和流程。Maxwell Render是我用过的最逼真和强大的渲染工具,非常适合作为产品表现的渲染工具。

由于只能在课余时间写作,本书断断续续持续了两年多才完成,感谢清华大学出版社贾小红编辑的信任,一直耐心地等我完成了全书的写作,也感谢我的妻子王华、学生谢阁浩细心地帮我整理版面。最后尤其要感谢的是那些促进科技前行的数学家、工程师、程序员们,是他们的努力使我们有了更好用、更高效的设计工具。

书中所配案例的源文件、效果文件及高清图例文件可到清华大学出版社网站(www.tup.com.cn)及蒲公英教育平台(www.catics.org)上进行下载。

杨汝全

2015年12月30日于广州