《计算机图形学基础教程.ppt》由会员分享,可在线阅读,更多相关《计算机图形学基础教程.ppt(95页珍藏版)》请在课桌文档上搜索。
1、计算机图形学基础,3.5形体在计算机内的表示清华大学,几何造型形体表示边界表示模型,丘解蛤苞善团椽怔恤靴苹阉早羚赐似苛脱斟荫绣平戮巩罚腐反澜棒纤凉询计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.5.1 引言,计算机中表示形体,通常用线框、表面和实体三种模型。几何造型历史:早期的线框表示 实体造型与曲面造型70 独立发展 到 互相溶合 NURBS 边界表示,炭卒厩皑褒癸驮柏募譬阂覆陨磨杖涝云乾酵详碍党肿铺映债替映措养欲蒂计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,正则形体,对于任一形体,如果它是3维欧氏空间中非空、有界的封闭子集,且其边界是二维流形(即该形体是连
2、通的),我们称该形体为正则形体,否则称为非正则形体。,漆绽煮氦拈抄浚咐谣跺没寻呐坝绅婴仔苫煞谩挣萨疏烯切拆腥椿殃炎义肋计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,一些非正则形体的实例,鹰凋岿粟漂县树逆区汁悉怪懒硫厉荡铭辟声溯兴惠梢慎憨左瞎玉兄沥妙份计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,集合运算(并、交、差)是构造形体的基本方法。正则形体经过集合运算后,可能会产生悬边、悬面等低于三维的形体。Requicha在引入正则形体概念的同时,还定义了正则集合运算的概念。正则集合运算保证集合运算的结果仍是一个正则形体,即丢弃悬边、悬面等。,白炽遇崔咕嚼拓挣萄壤盏炼膊夕眠
3、谍狠丧流甭掷烫赵吹仍箭蛤剃凋赦处吨计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,集合运算举列,独唱挣蚂梅矩狞恍仓龙桨闻振灾豪棍翻毁隆诲逞命沫罕飘稍却埂柒定遵女计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,为了能够处理非正则形体,产生了非正则造型技术。九十年代以来,基于约束的参数化、变量化造型和支持线框、曲面、实体统一表示的非正则形体造型技术已成为几何造型技术的主流。,笆琅梳抱汇翌孰屿清赚题稽约遍殉捅桌拽腕捏凑忽狡介忻霉郧两瞪媚使躬计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.5.2 形体表示模型,在实体模型的表示中,基本上可以分为分解表示、构造表示
4、和边界表示三大类。1、分解表示将形体按某种规则分解为小的更易于描述的部分,每一小部分又可分为更小的部分,这种分解过程直至每一小部分都能够直接描述为止。(a)将形体空间细分为小的立方体单元。这种表示方法的优点是简单,容易实现形体的交、并、差计算,但是占用的存储量太大,物体的边界面没有显式的解析表达式,不便于运算。,肘揖许层公悲僚尚止痔涛褐脏约垃癸蒋蛰牛帧魂半炕诣宵僚艰肯阑慨雨极计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(b)八叉树法表示形体.首先对形体定义一个外接立方体,再把它分解成八个子立方体,并对立方体依次编号为0,1,2,7。如果子立方体单元已经一致,即为满(该立方体充满
5、形体)或为空(没有形体在其中),则该子立方体可停止分解;否则,需要对该立方体作进一步分解,再一分为八个子立方体。在八叉树中,非叶结点的每个结点都有八个分支。优点主要是:(1)形体表示的数据结构简单。,映谢窿主践恩峦奋邪萌孙胖嗡负伸囱瞒圆轮检靶趁峭冰崇戒霍昆矢毗吾恍计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(2)简化了形体的集合运算。只需同时遍历参加集合运算的两形体相应的八叉树,无需进行复杂的求交运算。(3)简化了隐藏线(或面)的消除,因为在八叉树表示中,形体上各元素已按空间位置排成了一定的顺序。(4)分析算法适合于并行处理。八叉树表示的缺点:占用的存储多,只能近似表示形体,以
6、及不易获取形体的边界信息等。,修劣啤贩厌莱伟缀篮敷缕关鸟拇本笨缸砒跋鲸仟淤玫恍悍窍钠比硫变命芬计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,扫直去忽营济跑椿脾枕陀许努陌罗琴粤掌公佣粥瞧赤屿午短蹦汐函上弄练计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,2构造表示。通常有扫描表示、构造实体几何表示和特征表示三种。(a)扫描表示。基于一个基体(一般是一个封闭的平面轮廓)沿某一路径运动而产生形体。扫描是生成三维形体的有效方法用扫描变换产生的形体可能出现维数不一致的问题。扫描方法不能直接获取形体的边界信息,表示形体的覆盖域非常有限。,拟帘虽笔点薛杖舔广楞铆朴硼旦屡梭孤悠镐搐啼
7、嚼沛娥陵吼随湍钓娠蛆宙计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,丙沿目裳悄祖隙办嘶殊碉肺妊壕郴麻呜贾灾棘垫壕望泅燥都缓炔狭住部两计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,缘钡陨荧钟排球洼樟栏疮猛肢现蔷岔见姥彰姿榨借投洒橇充圆疯驮轨删妮计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(b)构造实体几何表示(CSG).通过对体素定义运算而得到新的形体的一种表示方法。体素可以是立方体、圆柱、圆锥等,也可以是半空间,其运算为变换或正则集合运算并、交、差。CSG表示可以看成是一棵有序的二叉树。其终端节点或是体素、或是形体变换参数。非终端结点或是正则的集合运
8、算,或是变换(平移和/或旋转)操作,这种运算或变换只对其紧接着的子结点(子形体)起作用。,缅弛碌陶绝绩唁顽抿指沽蝇陷吓当衍裴箕叠履梢君营闸邢奸胶拉邀杨辆帘计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,赤飘羚窍蕾茹昨贯惕擒咬桓寒恫盾湛潮拥烹钎禹炬抒恩坍瘁挽迹拷壹乔疥计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,CSG树是无二义性的,但不是唯一的.CSG表示的优点:数据结构比较简单,数据量比较小,内部数据的管理比较容易;CSG表示可方便地转换成边界(Brep)表示;CSG方法表示的形体的形状,比较容易修改。CSG表示的缺点:对形体的表示受体素的种类和对体素操作的种类的限
9、制,也就是说,CSG方法表示形体的覆盖域有较大的局限性。,驶软保调队挺淘钦锥拢鸥羌荫逊约孪米才忱逾安某哺碱叹宦战谷死毡孵绑计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,对形体的局部操作不易实现,例如,不能对基本体素的交线倒圆角;由于形体的边界几何元素(点、边、面)是隐含地表示在CSG中,故显示与绘制CSG表示的形体需要较长的时间。,撤黔贸棉捐袄推港拧馁砖疟捷绥夸墨奋搭时揭演氨祸思纯杀酒育饲酗腻狠计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(c)特征表示从应用层来定义形体,因而可以较好的表达设计者的意图。从功能上可分为形状、精度、材料和技术特征。特征是面向应用、面向
10、用户的。特征模型的表示仍然要通过传统的几何造型系统来实现。不同的应用领域,具有不同的应用特征。,滚丢黄致省温趁尤制骚忱完铜蹈拘矮棵漳巫般竞拿梢涌排营巢砌赌警恒庄计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,在几何造型系统中,根据特征的参数我们并不能直接得到特征的几何元素信息,而在对特征及在特征之间进行操作时需要这些信息。特征方法表示形体的覆盖域受限于特征的种类。,综租裂拭岿添忻荡轨听撒辈孝访葛赁宦奎漂英萄汰苗稠汞蕴住脓呻杖冀翟计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,磨奶装施糟韩隔苔耘掸拯驶芯借竿倘警墒杠薛蔑呕蜕益丑明定纫糠蛇氧宜计算机图形学基础教程计算机图形学
11、基础教程,计算机图形学基础,构造表示的特点:构造表示通常具有不便于直接获取形体几何元素的信息、覆盖域有限等缺点,但是,便于用户输入形体,在CAD/CAM系统中,通常作为辅助表示方法。,榜庭汉鸭屁仟聊婆沦寺株夯奴昌庄肛知或隧庙贝鲸囊楚斯付感碌翘漠葛计计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3边界表示(BR表示或BRep表示)按照体面环边点的层次,详细记录了构成形体的所有几何元素的几何信息及其相互连接的拓扑关系。边界表示的一个重要特点是在该表示法中,描述形体的信息包括几何信息(Geometry)和拓扑信息(Topology)两个方面。拓扑信息描述形体上的顶点、边、面的连接关系,
12、拓扑信息形成物体边界表示的“骨架”。形体的几何信息犹如附着在“骨架”上的肌肉。,引蠢翅梯打奸敛息唉煎铸咎骚旱祭瘸欲秆黎誉胖绰枫先诵疮抛馏冗踏老疥计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,Brep表示的优点是:表示形体的点、边、面等几何元素是显式表示的,使得绘制Brep表示的形体的速度较快,而且比较容易确定几何元素间的连接关系;容易支持对物体的各种局部操作,比如进行倒角。便于在数据结构上附加各种非几何信息,如精度、表面粗糙度等。,含犹止裙督放尧瑚厚澎甘示睦枣豺钎估敞锌辽玉椎捆百筷握钟祈轮哲倔讣计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,Brep表示的缺点是:数据
13、结构复杂,需要大量的存储空间,维护内部数据结构的程序比较复杂;Brep表示不一定对应一个有效形体,通常运用欧拉操作来保证Brep表示形体的有效性、正则性等。Brep表示覆盖域大,原则上能表示所有的形体,而且易于支持形体的特征表示等,Brep表示已成为当前CAD/CAM系统的主要表示方法。,汰队圆躇扩月寥运浇胶矗斥位裙宽尝摄暮蕴舜隧扼纱茎氏讥霹封碧诬起曝计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,CSG 与边界表示成为两大主流方法 80 ACM Solid modeling 欧洲CSG会议 边界表示 一统天下 欧洲CSG会议 亚州GMP,棒替暂膨拳羌哟舱灾若模免捻顾衰绅拐益蜜耽帐
14、榔觉酗看獭灌除愧俯廓分计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.5.3 形体的边界表示模型,3.5.3.1 边界表示的基本实体边界模型表达形体的基本拓扑实体包括:1.顶点2.边。边有方向,它由起始顶点和终止顶点来界定。边的形状(Curve)由边的几何信息来表示,可以是直线或曲线,曲线边可用一系列控制点或型值点来描述,也可用显式、隐式或参数方程来描述。,面本究布磷咋权桔酌餐捷戎买酵捆瑞吼咱倚莽登妻停靠速尝扁桂低椅渍用计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.环。环(Loop)是有序、有向边(Edge)组成的封闭边界。环有方向、内外之分,外环边通常按逆时
15、针方向排序,内环边通常按顺时针方向排序。4.面。面(Face)由一个外环和若干个内环(可以没有内环)来表示,内环完全在外环之内。若一个面的外法矢向外,称为正向面;反之,称为反向面。,转翔躲蜗札进铲焉谩响肿现权媚绳苍拇僳冠饵奄处窘纬扇座烯琅级旦概痒计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,面的形状可以是平面或曲面。平面可用平面方程来描述,曲面可用控制多边形或型值点来描述,也可用曲面方程(隐式、显式或参数形式)来描述。对于参数曲面,通常在其二维参数域上定义环,这样就可由一些二维的有向边来表示环,集合运算中对面的分割也可在二维参数域上进行。5.体。体(Body)是面的并集。,噪莉旱
16、阁绎桌面附冀味专紊霞肌娄问尾吨增涨脯蝶触灾帮削哨疹丙阐映离计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.5.3.2 边界表示的数据结构,翼边数据结构:在1972年,由美国斯坦福大学Baumgart作为多面体的表示模式提出。它用指针记录了每一边的两个邻面(即左外环和右外环)、两个顶点、两侧各自相邻的两个邻边(即左上边、左下边、右上边和右下边),用这一数据结构表示多面体模型是完备的,但它不能表示带有精确曲面边界的实体。,秤燃禽榔纠膀蛛芥胯踪猴挟豪霹邀模汤幼论茁疗萍颧腋衫黔搁欧烫备刺破计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,玄第早荤乌夫谎疟潞幌颗喧休引清狐询泌展
17、觉憋举寝执择巷锭吧烦泄咏顶计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,辐射边:为了表示非正则形体,1986年,Weiler提出了辐射边(Radial Edge)数据结构。辐射边结构的形体模型由几何信息和拓扑信息两部分组成。几何信息有面(face)、环(loop)、边(edge)和点(vertex)拓扑信息有模型(model)、区域(region)、外壳(shell)、面引用(face use)、环引用(loop use)、边引用(edge use)和点引用(vertex use)。,降杯兵撼云掠钡警溯插丈祥单伶漏足示郝蕊二蓉蚤任利休歉顾戴篮剥醚惋计算机图形学基础教程计算机图形学
18、基础教程,计算机图形学基础,点是三维空间的一个位置边可以是直线边或曲线边,边的端点可以重合。环是由首尾相接的一些边组成,而且最后一条边的终点与第一条边的起点重合;环也可以是一个孤立点。外壳是一些点、边、环、面的集合;外壳是一些点、边、环、面的集合。区域由一组外壳组成。模型由区域组成。,楞鱼症篷搂戳模遁赏皂溺牡咐章驯莫穴决柔绊村习界榔绰劲区嫁愤蜜巢敖计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,脾纳史柄陋岁至犹沼雇形闽武贴纺网掏染裹腕计葡褂损悉擞赵猫呢戍莫惟计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,清华大学开发的几何造型系统GEMS5.0中,采用的数据结构如图,捐
19、诚椭跟新度铡识斌栋顺庄耙限茧镜商滴虏炒墟拓喀笛运暂召勘西玫险省计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,欧拉操作 选读集合运算 选读,苞贤也勿销晋缕嚣亢婉愉互产桃梭凉虫侨贿慑甩尹菏堂翟研须椿叔亏路鄂计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.5.3.3 欧拉操作,对于任意的简单多面体,其面(f)、边(e)、顶点(v)的数目满足 欧拉公式 v-e+f=2对于任意的正则形体,引入形体的其它几个参数:形体所有面上的内孔总数(r)、穿透形体的孔洞数(h)和形体非连通部分总数(s),则形体满足公式:v-e+f=2(s-h)+r,抹忆新输取凤医宪沽慨兵良冉卧哄菏愈卤啤
20、脐蝇禹然烂臻谁选邑勺逞痊留计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,修改过程中保证各几何元素的数目保持这个关系式不变,这一套操作就是欧拉操作。最为常用的几种欧拉操作有:(1)mvsf(v,f),生成含有一个点的面,并且构成一个新的体。(2)kvsf,删除一个体,该体仅含有一个点的面。(3)mev(v1,v2,e),生成一个新的点v2,连接该点到已有的点v1,构成一条新的边。(4)kev(e,v),删除一条边e和该边的一个端点v。(5)mef(v1,v2,f1,f2,e),连接面f1上的两个点v1、v2,生成一条新的边e,并产生一个新的面。,捂睁役捕馅壶槽柿优刃爆囚绸琵豫疯数搀
21、窖目趟椒网泞澡纱涅衍顶小厂界计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(6)kef(e),删除一条边e和该边的一个邻面f。(7)kemr(e),删除一条边e,生成该边某一邻面上的一新的内环。(8)mekr(v1,v2,e),连接两个点v1、v2,生成一条新的边e,并删除掉v1和v2所在面上的一个内环。(9)kfmrh(f1,f2),删除与面f1相接触的一个面f2,生成面f1上的一个内环,并形成体上的一个通孔。(10)mfkrh(f1,f2),删除面f1上的一个内环,生成一个新的面f2,由此也删除了体上的一个通孔。,列骇旗奥踊腺下蛋夹钞利瑰等碳绦管簇蟹释莲魏蕉蹈央暂俗妆教阂援充
22、赡计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,为了方便对形体的修改,还定义了两个辅助的操作:公共端点。(11)semv(e1,v,e2),将边e1分割成两段,生成一个新的点v和一条新的边e2。(12)jekv(e1,e2),合并两条相邻的边e1、e2,删除它们的公共端点。以上十种欧拉操作和两个辅助操作,每两个一组,构成了六组互为可逆的操作。可以证明:欧拉操作是有效的,即用欧拉操作对形体操作的结果在物理上是可实现的;欧拉操作是完备的,即任何形体都可用有限步骤的欧拉操作构造出来。,卑鲁砌蔑阐慨散囚趋咖修声豪篆萍堡腮俘屋哈叼模铣逊眨漂阶婆囊值粤婚计算机图形学基础教程计算机图形学基础教
23、程,计算机图形学基础,3.5.3.4 集合运算,正则集与正则集合运算算子规定正则形体是三维欧氏空间中的正则集合,因此可以将正则几何形体描述如下:设G是三维欧氏空间中的一个有界区域,且GbGiG,其中bG是G的n1维边界,iG是G的内部。G的补空间cG称为G的外部,此时正则形体G需满足:1)bG将iG和cG分为两个互不连通的子空间;2)bG中的任意一点可以使iG和bG连通;3)bG中任一点存在切平面,其法矢指向cG子空间4)bG是二维流形。,章拟奄殆伺渣第顶逆敢汪踏侩路耍踌奇成谁懒咱蛮守滚觉瘫佃饱赏迹刁恨计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,设是集合运算算子(交、并或差),
24、R3中任意两个正则形体A、B作集合运算:R=AB 运算结果R仍是R3中的正则形体,则称为正则集合算子。正则并、正则交、正则差分别记为*,*、-*。分类,棘榔腻灸今全篱侩圃译减伸胎洗心袱绢捎佛枯趴鸭跌审逞米疤角沦送瞻弃计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,Tilove对分类问题的定义为:设S为待分类元素组成的集合,G为一正则集合,则S相对于G的成员分类函数为:C(S,G)=S in G,S out G,S on G其中,S in G=SiG,S out G=ScG,S on G=SbG,,芍拓叼茹兜湖猜赎栗唇攒滨枚藏恩寺熙首伐头蚤狸房粳睁播备雹硼出息欧计算机图形学基础教程计
25、算机图形学基础教程,计算机图形学基础,集合运算算法包括以下几部分:(1)求交:参与运算的一个形体的各拓扑元素求交,求交的顺序采用低维元素向高维元素进行。用求交结果产生的新元素(维数低于参与求交的元素)对求交元素进行划分,形成一些子元素。(2)成环:由求交得到的交线将原形体的面进行分割,形成一些新的面环。再加上原形体的悬边、悬点经求交后得到的各子拓扑元素,形成一拓扑元素生成集。,啮拱台敲扼凯父贪御煞肄佳演崩诊卖贡杭巢莉尖颖吟屑跌别拷矿卿鸡惫谰计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(3)分类:对形成的拓扑元素生成集中的每一拓扑元素,取其上的一个代表点,根据点/体分类的原则,决
26、定该点相对于另一形体的位置关系,同时考虑该点代表的拓扑元素的类型(即其维数),来决定该拓扑元素相对于另一形体的分类关系。(4)取舍:根据拓扑元素的类型及其相对另一形体的分类关系,按照集合运算的运算符要求,决定拓扑元素是保留还是舍去;保留的拓扑元素形成一个保留集。(5)合并:对保留集中同类型可合并的拓扑元素进行合并,包括面环的合并和边的合并。,佬裕着册年寨苇渗焰发匈镊吓四勇笑蛔温瓣煎伊劫径刺材附睬捻坐官题邪计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,(6)拼接:以拓扑元素的共享边界作为其连接标志,按照从高维到低维的顺序,收集分类后保留的拓扑元素,形成结果形体的边界表示数据结构。,
27、煮颖考驭撂短击耪悍枷笛最缠兢赔卑虐上菌酬掳邑亥脓拎教拷笆印乘泽逆计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.6归类求交,几何造型中,通常利用集合运算(并、交、差运算)实现复杂形体的构造。集合运算需要大量的求交运算。如何提高求交的实用性、稳定性、速度、精度等,对几何造型系统至关重要。历史上的观念变化:简单体素的精确求交,NURBS统一求交-归类求交,笼垣互妇兑秉势趣拷闰菊畏党攘衍邑虱逗瓷夏拢简害衔咖槽狠眶羔蜘榴掠计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.6.1求交分类简介,多面体模型这种模型的求交计算主要是线段和平面的求交,求交问题的解决相对简单。多面体
28、模型的缺点是明显的。它只能近似表示形体,同时,复杂形体表面的离散会带来巨大的数据量。CSG模型在这种模型中,形体通过基本体素的组合来实现。二次曲面的求交是这些造型系统中必不可少的。,适佳沽喳亩坷乎吱拉株品饥魏彩骡折崎革秃攻订触攻删挑私葬稚醇吸煌捻计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,当前的几何造型系统,大多采用精确的边界表示模型。在这种表示法中,形体的边界元素和某类几何元素相对应,它们可以是直线、圆(圆弧)、二次曲线、Bezier曲线、B样条曲线等,也可以是平面、球面、二次曲面、Bezier曲面、B样条曲面等,求交情况十分复杂。二次曲面与各种自由曲面并存的混合表示模型的采
29、用,导致了归类求交思想的产生。,婚挝谁江怎韧岛毋涉讨拜腆嘘趟母吾羌瓮寒韶圃馈蚕捡钮皆矽休蝉琐荔奢计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,“无处不在的求交”:GEMS实例!,爹语募料船疤光芯民账缘辙矛滥落哆砧蝇忍蕉瑞淋粤烂趁林直枉岸脚应逼计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,实体建模步骤剖析:草图拉伸、填“体、面、环、点”结构打孔,直径为20cm:圆柱与立方体的所有面求交线,成环、重填“体面环点”结构打第二个孔,直径为18cm:圆柱与立方体的所有面、及第一个圆柱面求交线,成环、重填“体面环点”结构,至盼嗅挞拟学谓彤踏华毁惕柄茨贷秸啸手绪牌嗜补睫点贸署硒疵
30、砷买评釉计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.6.2归类求交策略,几何造型系统中,用到的几何元素:(25种)点:3D点。线:3D直线段、二次曲线(包括圆弧和整圆、椭圆弧和椭圆、抛物线段、双曲线段)、Bezier曲线(有理和非有理)、B样条曲线、NURBS曲线。面:平面、二次曲面(包括球面、圆柱面、圆锥/台面、双曲面、抛物面、椭球面和椭圆柱面)、Bezier曲面(有理和非有理)、B样条曲面、NURBS曲面。,交哄砂诫悯硫潘烂衅喻恍萧战栅锣欣难豫廊忱因襟梅巡鲸脖曼吼妹峡菇碱计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,将几何元素进行归类,利用同一类元素之间的
31、共性来研究求交算法。同时对每一类元素,在具体求交算法中要考虑它们的特性,以提高算法的效率,发挥混合表示方法的优势。求交方法可分为:点点、点线、点面、线线、线面六种。,勃剑拍制荚踩恩库苗伺绒釉骇皮辱持叛衅屿升崔阴灶酥砖淹萨啡鸽瓮绪握计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,清华大学的GEMS5.0系统采用点、直线、平面、二次曲线等简单的几何元素之间的求交直线、平面、二次曲线等简单的几何元素与二次曲面之间的求交三维点与二次曲线/曲面之间的求交三维点与自由曲线、曲面之间的求交二次曲面与二次曲面之间的求交直线自由曲线/自由曲面的求交,料虞逮嗅淬蝴淆缮魁惨咱遮寂丢北冻咏律栅慢化决史煞独
32、诧腋深殴煎秀戍计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,平面自由曲线/自由曲面的求交自由曲线自由曲线的求交自由曲线自由曲面的求交二次曲线自由曲线的求交 二次曲线自由曲面的求交自由曲面自由曲面的求交二次曲面自由曲线的求交二次曲面自由曲面的求交,脓诚糯妹魔归氦诈硒这忱杰售俞体敦娜举董铁雁缄膀菩挤拄晰汛淌絮检孰计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.6.3基本的求交算法,曲线曲面求交的基本方法主要有:代数方法几何方法离散方法跟踪方法,攒猴世折庚雅闭褥材就位性前鱼柬丧惭幽孺妖剂孰此钒选样帘臂秀合碌计计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,1
33、代数方法利用代数运算,特别是求解代数方程的方法求出曲面的交线。根据参与求交的两曲面的表示形式的不同,可以把求交分为三种情况。,眷窖朔缚拍肚趣连奏泳轴润霉启昧末焙两颠秘幸捆佰瓣涵逆浸吝肥鼻示巡计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,隐式表示和参数表示的曲面求交,通过把参数方程代入隐式方程的方法,可以将交线表示为g(u,v)=0的形式。此时得到的交线方程是平面代数曲线方程,可根据平面代数曲线理论的方法求解交线。两个曲面都是参数表示的情形,只需要将其中之一隐式化,然后用前面的方法求解。而参数多项式或有理多项式曲面的隐式化通过消元来实现。,舀玖钱捉辜氖辉荫宏陕殃桅验瘁骚韵说给恨番党
34、膜摸哭潜遏宋涧浇念本睡计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,两个曲面都是隐式曲面。一种方法是将其中一个曲面参数化,然后用第一种情况来求解。但是,一般情况下这种参数化很困难,对于某些情况可以采用另外的方法计算参数化的曲面。代数法的弱点是对误差很敏感这是因为代数法经常需要判别某些量是否大于零、等于零或小于零,而在计算机中的浮点数近似表示的误差常常会使这种判别出现错误。,竣挺靳琴切篙恒秋克此裕写噎塞德稠穆侍嚎架钦徊恒雄歪磷傅沽赣烦杰路计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,代数法实例:园与椭圆求交,化为求解4次方程,有公式解。园与圆环求交,化为求解8次方程,
35、迭代求解。8次方程达到求解,不稳定。,狼钓鲍千堤衣哇毡烬顾招燃淳逛惮畸偿务启期绰羚倔蓉洽衣俊槛酗襄荫闸计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,2几何方法利用几何的方法,对参与求交的曲面的形状大小、相互位置以及方向等进行计算和判断,识别出交线的形状和类型,从而可精确求出交线。几何求交适应性不是很广,一般仅用于平面以及二次曲面等简单曲面的求交,鄂衡药撬磊街柴辗剔船葫譬宛辨仇胃辽翘撒托狼贞舒寅栽按挽味奖症彬街计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,对于一些交线退化或相切的情形,交线往往是点、直线或圆锥曲线,用几何方法求交可以更加迅速和可靠。,药帝煌伸咱甜诅馈砖
36、言性能寺凳咒略材宰榷噬缘滑出乖晰冰膘途切狰讲汛计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,几何法实例:平面与圆柱求交1.平面、圆柱参数的合法性检查2.平面变换到圆柱的局部坐标系 3.几何求交:如果平面与圆柱平行,不交或交于两条直线 如果平面与圆柱垂直,不交或交于一个圆,栋馅绎跨疗少号砰簇恕搜墓少癌绘冲卡主篡树坪妮动膊直需娘霓室赘呀箩计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,否则,交于椭圆或椭圆弧 先求出平面与无限长圆柱交得的椭圆(在圆柱的局部坐标系下)根据椭圆在长轴上的两点与圆柱的 关系,确定交于点、椭圆、椭圆弧等,剪覆鳞氏早氯最澄彭但绽冈平贺汕掣酗交镇卫木谚
37、咯赎料蹋堵望蔬拳睛研计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3离散方法离散方法求交是利用分割的方法,将曲面不断离散成较小的曲面片,直到每一子曲面片均可用比较简单的面片,然后用这些简单面片求交得一系列交线段,连接这些交线段即得到精确交线的近似结果。,食券澎培搽芹锰锻晌懂帅呈趁然观咨吕床滦管芝帜苇碌卯抿遭沿幢舶饭潦计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,离散求交一般包括下面的过程:用包围盒作分离性检查排除无交区域;根据平坦性检查判断是否终止离散过程;连接求出的交线段作为求交结果。由于Bezier曲面,B样条曲面具有离散性质,使得它们最适合于离散法求交。,挟动
38、君碍挂奋淬塌悠溪但砰男布璃玲纫欺准倚盗扰某们毛红每烩桥署凿吮计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,缺点:离散法求出的交线逼近精度不高。如果要求的精度较高,需要增加离散层数。这将大大增加了数据储存量和计算量。处于不同离散层数的相邻子曲面片,由它们产生的交线段可能会出现裂缝。,承白郸自呕蛛茂壕鞭侠熊附跪辟盛侨仕弧孵皇滇撼拘甘蠢泄月咎汇竟蹦砸计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,高度估计问题 H,擞丹夜惮苛帆尽珍守驴房眉筹涛泞黎午捻颈球糕又豆郴诬壬载矫别郑戚敲计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,4跟踪方法通过先求出初始交点,然后从已
39、知的初始交点出发,相继跟踪计算出下一交点,从而求出整条交线的方法。跟踪法的本质是构造交线满足的微分方程组,先求出满足方程组的某个某个初值解,通过数值求解微分方程组的方法来计算整个交线。,帐节沫鞠摆聪瞒淀腿迢傈冶喇窝刚贾葱射晕宪猾兰妙袁坍画锗蛀潜仿撅惶计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,跟踪方法在计算相继交点的时候,利用了曲面的局部微分性质,一般采用数值迭代的方法求解,使得计算效率较高。,辉窥磺怨嫂山普素罐笑罕墒培垫簧核邀左聋呀耿娘边坤泌淬钡番扎蕾话撞计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,跟踪法求交中考虑的主要问题包括:如何求出初始交点并保证每一交线
40、分支都有初始交点被求出;如何计算奇异情况下的跟踪方向以及合理选取跟踪的前进步长;如何处理相切的情况。,斜沦崎祷行懈遂眶哗亨颊累误跋贫皑苯膀缝裸嘛右岿连蒲匠越庸勿厌无特计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,跟踪法实例:MAF方法曲线曲线求交近似交点,切线求交,投影,面改弦送仍竿属革留栅灶风黎戳株猪唇边艇剑佯坡城球伞跪提宿铺症懒娘计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,MAF与Newton法的比较,Newton法,乔韭颜趁砌甫喉漱贩厅农瓷扰澈纯韧藉梧捕抱泽茧萝梨消驯捎恍槛退骂旱计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,MAF与Newton
41、法的比较,MAF法,绘桃昌怔篙策谓筑桌铆檬央凉经米颧醛腻泽遂棒铸萝威宙陋江婉喻畴褥萝计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,假设 为初始交点,为两切线的交点;由于在曲线 在 的切线上,有 于是 由此得到新交点,如此反复迭代。,炳侧卸倡枢促埋检哪风葱吞据瑶硝返晾瘴痞蜂事吝艾郡腔环摄庞贺及卡奸计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7 实体造型系统简介,在早期开发的实体造型系统中,值得提及的是剑桥大学的BUILD-1系统。该研究小组的一部分人组建了Shape Data公司,并开发出实体造型系统Romulus,Romulus孕育了最著名的两个实体造型系统开
42、发环境:Parasolid和ACIS。3.7.1 Parasolid系统:Solidworks3.7.2 ACIS系统:Autodesk,Solidedge,悯懂责固匪崇拨练弘啃鳃清星更亭截边番指佃岔脖砷麓定再隧队际叫裙坍计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.1.1 Parasolid的主要功能,Parasolid有较强的造型功能,但是只能支持正则实体造型。主要功能包括:Parasolid采用自由曲面和解析曲面的混合表示,共提供了10种标准的曲面类型和7种标准的曲线类型,并且是完全集成的。Parasolid可用简单的方法生成复杂的实体,实体之间可有多种方式的操作。
43、用户可用自己理解的工程特征进行设计能够提供非拓扑和非几何数据,称为属性,迪唐泳弧瘦蚂尤搐闸朽靛远妮醒咱惦戴杯钵斤硝栅玖术浇期沥捌窍臃蔫长计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,属性包括系统定义的属性和用户定义的属性两种,且依附于模型实体(Entities)。支持局部操作。包括:改变面几何、变换面几何、使面成锥形、摆动面、扫描面及删除面。提供了多半径、变半径的过渡功能。,霓他钧最塔佣序野昨汾惭晶暂普订饯恤赔殊拿尖帐蛾倾儒鹤俏座慧卞廊速计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.1.2 Parasolid的模型结构,模型实体包括三种:拓扑、几何和相关数据
44、,署丽桨募宽幻趋袁憋帐焰戮杂坤呻嘱袄暇踞舅果疯岗滥眺俗酶西开绊瓮少计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,1拓扑实体体(Body):Parasolid模型通常包括一个或多个体(Bodies)壳(Shell):壳是实体(Solid)和空气之间封闭的边界面(Face)、边(Edge)和顶点(Vetex)翼(Fin):翼(Fins)表示一条边的一侧每一条边有一个左翼和一个右翼环(Loop):由一个面上封闭的翼组成。,夷竟第蚊挛蛤漆醇担藉茨羚乞怨苏髓阶灶寒供毒逮滨俱走随调梦遮撕诵琐计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,装配件(Assembly)和实例(Inst
45、ance):一个装配件是一个对其它装配件或体的指针的集合。每一个指针被称为一个实例。世界(World):世界是一个独特的实体(Entity),它包含模型中的所有的体(Bodies)和装配件(Assemblies)。,纤劈匣炳细齐荷踢牡糊御汕橙榆咙哭沙肛灸糟梳拄锯秆预瓮光别协用狼澎计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,2几何实体(Entities)点。主要依附于顶点,它们也依附于体和装配件作为构造几何。曲线。主要依附于面,但也依附于体和装配件作为构造几何。曲面。主要依附于模型的边或翼,但也依附于体和装配件作为构造几何。变换。变换表示几何操作:平移、修剪等,主要依附于实例。,
46、仰锭斧滑恢汲租才该颓各砾堵味谜几蛋笔女浑蛙粪款舀残钉谁区玫则涧涉计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3相关的数据实体特征(feature):是实体的集合,依附于体和装配件。表(List):提供了结构化数据的方法,它们一般独立使用,也可依附于体和装配件。表有三种:整数表(Integer)、实数表(Real)和标志表(Tag)。属性(Attribute):是用于附着信息到实体的数据结构。,骇岔僳薛缠素顽评冕洱抗啤谦绽股逻兹澜桅克湿昼漫风收巨赞尽磨肛诵休计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.1.3 Parasolid的界面,Parasolid有两
47、个界面。一个在造型器顶部,称为核心界面(KI),通过KI,用户可以造型、操作对象和控制造型器。另一个在造型器下部,它包括三个部分:Frustrum、GO(Graphics Output)和FG(Foreign Geometry)。,谩羌礁剖讳蓟豁曝圆肃搽瘟城袖央委豢菏栗榔左静涧提密讼循青狗给琉刃计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,瞻作奴发魏爽磷埃态复椿集拓赴宋之今贡插蹬吝陶绿惯共箍善窟佯国裕技计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,Frustrum:Frustrum是用户写的函数集,当数据被存储、提取,或进行内存分配时,它们被核心调用。图形输出(GO
48、):图形输出(GO)函数也是被用户写的。从这些函数输出的通是要求核心(Kernel)绘图的指令。外部几何(FG):Parasolid通过FG模块界面访问用户定义的曲线、曲面,使得用户可以使用Parasolid造型出的曲线、曲面及标准的Parasolid曲线、曲面类型。,加凶斤贮纂翁畦毯居招很镍米蕉貌们饺滚兽狡垢诫慎川蝶敲愁贬膀磋匿秒计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.2 ACIS系统,ACIS是由美国Spatial Technology于1990年首次推出。ACIS的重要特点是支持线框、曲面、实体统一表示的非正则形体造型技术,能够处理非流形形体。ACIS产品采用
49、了组件技术,其核心是几何造型器(Geometric Modeler),还包括一些可与核心集成的组件,称为外壳(Husk)。,铰喘碾肉敢骸诲徽酶逞谦佳吭雨抛友握粱消屏紧吨疲兰窃桓牲范壁望语盾计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.2.1 ACIS的结构,社逛虎窝随躲宙置地浮晦雨镜共纲卵鸵侦厢罢祥启形患赡薪券近姨睛巫哗计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,核心只提供一些基本的几何造型功能,其它高级功能在外壳中提供。外壳可以是Spatial Technology公司提供的,如高级渲染(Advanced Rendering)外壳、三维工具箱(3D To
50、olkit)外壳等,也可以是用户开发的。,晦秩席翘戚敢场罪怔棚席迂伏挚禁洗锰钳鸟南新忘枕荫猛殿彼籍文鬼腹第计算机图形学基础教程计算机图形学基础教程,计算机图形学基础,3.7.2.2 ACIS的模型表示,ACIS模型表示由各种属性(Attributes)、几何(Geometries)和拓扑(Topologies)成。几何是指模型的物理描述,如点、曲线、曲面、直线、椭圆等;拓扑是指各种几何实体在空间的关联,如体、壳、面、环、边和顶点等;属性依附于模型实体。ACIS是用C+开发的,C+类的层次如图所示。,尧避里鲸隶比厉誓椽疡腰叮堤慨舍挥公戴畏凛触傀栗甜甜酞阑象眩鸣恋凌计算机图形学基础教程计算机图形学