连续性曲面

上传人:ni****g 文档编号:562324929 上传时间:2023-06-15 格式:DOCX 页数:13 大小:561.20KB
返回 下载 相关 举报
连续性曲面_第1页
第1页 / 共13页
连续性曲面_第2页
第2页 / 共13页
连续性曲面_第3页
第3页 / 共13页
连续性曲面_第4页
第4页 / 共13页
连续性曲面_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《连续性曲面》由会员分享,可在线阅读,更多相关《连续性曲面(13页珍藏版)》请在金锄头文库上搜索。

1、对直线做G2连续的数学涵义先向各为介绍这王教授简历:CAD&CG高科技奖、一等奖获得者:王国瑾教授(浙江大学数学系)。男,1944 年10月生。主要研究方向为计算器辅助几何设计与图形学。现为浙江大学数学系教授,博导。以下向王教授求证所言:按数学上的观点来看,我认为你们对 NURBS 曲线理解欠妥。因为一般一次NURBS曲线,也就是一段直线。把它与已知直线做连续拼接,那是无实用价值的平凡情况, 且是无限阶连续。所以你的事情应当是指3阶NURBS曲线与已知直线做连续拼接,那肯定是G1连续,做不 到G2连续。因为G2连续必须两者在拼接点有公共的曲率圆。ICAD 曲面设计人员参考手册中这样描述:C0

2、连续性意味着两个相邻段间存在一个公共点(即两个段相连)。C1 意味着有一个公共点,并且多项式的一阶导数(即切向矢量)是相同的。C2 意味着一阶导数和二阶导数都相同。几何连续性没有数学连续性严格:GO和CO的意思相同,即两个段在位置上的连续。G1 意味着切向矢量的方向相同,但模量不同。G2 意味着曲率相同,但二阶导数不同。下面为问答:C:从数学上是否意味着任何2次以上的曲线对着直线(1次)做G2连续,最高只能得到G1?王教授:对, 只能得到 G1。C:直线曲率=0,只要曲线末端曲率=0,就可以称为G2,这样的理论正确吗?王教授:错误,因为曲线末端曲率=0是不可能的C:那么从数学上如何解释呢?王教

3、授: 曲线上任何一点(包括末端)处的密切圆的半径都是一个有限数, 而此点处的曲率为以上半径值的 倒数, 故不为 0。以下为结论:不论Geon如何该改判定,只是为了减少使用者的争议,就数学上来说直线只能做到GlCafer跟Mikko讨 论后决定未来 Rhino V4 Gcon 判定:另一边由曲线接直线接 G2 这里的认定,因为与直线端点一样是没有曲率的(曲率圆无限大),所以曲率 圆无限大=曲率圆无限大,改为判定为 G2。也就是说:1)打断直线;2)对直线衔接或是混接G2的共享点处;3)两边六点控制点共线。曲面的连续性在讲曲面连续性之前,我们先来看下曲线倒角r。将下图直角线段倒角。倒角后其实就是补

4、上一个圆弧。这段圆弧对两边直线产生G1连续。为什么是G1?因为控制点排列在同一直线上,所以倒角命令出来的就是G1。倒角一定有三个控制点共线的状况,这也可从曲率梳来看。你会发现直线没有曲率梳。前面讲过梳齿长度就是曲线瞬间半径,直线没有半径,所以没有曲率梳。但是它仍然具有方向。而G1的含意就是方向一致。所以直线可以做到G1。没有曲率半径,所以数学含意上不能做G2。因此弧线与直线连续的话,顶多只能到G1。对直线做G2连续,严格来说也不叫G2。原因就是前面说的“直线没有曲率,只有方向”。这里留个问题,“既然说曲线对直线的连续只能做到G1,那么对两直线做Blend G2有意义吗?”虽然我们用GCON检测

5、工具检测曲线对直线的连续能得到提示是G2的结果,这当中的缘由就是前面那段王国瑾教授与原厂CAFER讨论的对话历史。Rhino2.0时,曲线对直线的连续判定为G1,数学上是正确。后来因为造型上争议,把直线判定改成G2。在3.0后就改了。来看下直线Blend后的曲率梳,右边的是Blend G2,看它的梳子图,你会发现接近直线处急速向下为零。也就是说端点顺接处的曲率半径趋近消失(无曲率)。趋近消失不代表没有。单一的ISpan曲线是不可能没有曲率的,除非所有控制点都在同一直线上。只要有一点不在这一直线上,整条曲线就有曲率圆存在。回过来看前面留的那个问题,“既然说曲线对直线的连续只能做到G1,那么对两直

6、线做Blend G2有意义吗?”试着将曲线拉成曲面,右边是G1,左边是Blend G2。会发现光顺度 有些差别,原因是阶数存在差别,Blend G2多了一个控制点的缓冲。所以对两直线做BlendG2 在造型上是有意义的。总的来说,对直线做G2做出来的不是G2,只是在衔接处的光影会比较顺畅。光影是一种感 觉,因为曲面接近平面时,曲面也几乎变平面了,所以光影会比较缓和,其实G1也是很顺 的。你们有空可以观察一下iPod的倒角,它的光影顺不顺。在“G2倒角”和“G1倒角”之间我会选择G1。因为G2倒角曲线化了,没有G1那么有型。G2的光影会有扭曲,G1的光影则是很正的弧线。对实际的产品来说,G1的倒

7、角比G2的倒 角漂亮些。因为倒角是很几何的形状,曲线化就没那种Shape的感觉了。主要造型时倒角的 感觉就很重要,iPod主要造型的倒角四周都是Gl。Blend已经不是正圆弧了。总之,你想要 几何些的倒角就选择G1,软些的倒角就G2, G2的圆角感觉是比较软的。现在来讲下斑马纹。斑马线的原理只是一种规范,用它来判断曲面对平面的连续性有失客观。你们只知道斑马纹接顺没,实际的产品光影却不是看斑马纹。斑马纹也是一种贴图,把黑白条纹贴在了曲面上。既然是说到贴图,就是多边形原理。我们画个圆球,Ctrl+Alt+S调到Shade显示模式。放大这圆球来看,会发现涂色阴影偏离线形框架。放更大些,会看到其实涂色

8、阴影圆球只是以多边形式去渲染来逼近正圆球线形的。例如正30 边形或更多,斑马纹也是这原理。点下 Asjust Mesh 键,你就可以观察到它渲染的多边形球体。将多边形球体放很大看,如下图。因此斑马纹显示想要越准确就要用越密的多边形显示,特别是放大看时要更密,可能你会觉 得斑马纹放大看老是不顺。其实没必要放很大,因为斑马纹也只能看大概,再怎设置永远都 不准确。最后看到的结果跟斑马纹密度和斑马纹多边形种类都有关系。多边形种类还有很多 种,下面这些选项都会影响多边形种类。下载(11.82 KB)2009-3-3 17:09曲面的连续性几乎都是逼近的。做个实验,这里有两个曲面。我们用BlendSrf

9、G2混接它们,你认为它会是G2吗?阶数是3没错,但只能是逼近G2。为什么它不是正真的G2呢? Blend的精度是由设定好的公差值影响的。依照公差值去逼近两面达到G2。我们把模型放很大时就会看到有裂缝。这个裂缝就是公差值范围内的,所以BlendSrf做出来的曲面都是逼近的。而斑马纹原理也 是逼近的,那测出来就更不准了。所以说斑马纹只能测个大概,不可能无限的去放大后都还 能接顺的。既然斑马纹测不准,那就只有曲率梳了,只有它能测出是否绝对的G2。那么要怎么做才能是绝对G2呢?先想想怎样能让两条线完全重叠。控制点位置相同、阶数 相同、均匀、有理。简单的说,只要两条线属性完全相同,就能重叠。或者说复制上

10、去的曲 线就可以了重叠。因此,除非两个曲面属性完全相同,否则不可能两边能100无缝接。这 跟Span数量无关,只要两曲面的衔接向的UV属性相同就可以无缝隙。例如,曲面a的U 衔接曲面b的V,只要曲面a的U跟衔接曲面b的V属性一样就行了。 属性包含控制点数量、阶数、有无理、是否均匀。 四大属性一致就能无缝隙。就以刚才的 两曲面来举例,它们是镜像的,属性自然相同, match 后就能 100无缝隙,不论你放大多 少倍,都不会有缝隙。平时建模,遇到四大属性不同时,想办法把它们弄成相同,不然就只能是逼近。很多人建模 ISO 十分复杂,就是逼近的原因。但我们建模不求全部100相同,至少有一部分做到100

11、 相同。这样就能大大简化曲面。能避免逼近。就尽量不去逼近。什么情况是不能避免的呢?例如:剪切边,剪切本身就是一 个逼近的命令。投影也是一样的原理,曲线要投影在曲面上,既然不属于曲面本身的 ISO 线,就是逼近了。切割Split也是逼近的,除非Split ISO。SW2是一个全能的命令,逼近、 互补、最简都能做。像刚才的例子中,两曲面的边都不是剪切边,接G2就没必要用逼近了, 这里可以选择用SW2做无缝G2连续的混接面。互补就是互相补上对方ISO。如下图,这两个ISO数量和位置都不同,补上的混接面把两边 曲面的ISO都对上了,这就叫互补,各取所需。逼近就是尽量的去接近。例如,在BMP位图上有一条

12、曲线,放大后你会发现它其实是用很 多点去“逼近”的。看起来是一整条曲线,其实是由无数点组成的,放大后可以看到点。同一 条线,如果点越多,这些点也就越小,就必须放更大才能发现他是点。犀牛里面曲线是没有 点的,因为它是矢量的,是一个数学方程式。数学方程式不同的时候,曲线的轨迹就会不同。 白话些,两条曲线属性不同时曲线的轨迹就会不一样。这“属性”我们所幸就当它是“数学方 程式”。轨迹虽然不一样,但也可以“很像”。能多像,就得看能有多少点去让它模拟。这“点” 就是曲线的控制点。曲线的控制点越多就好比BMP位图的像素越高,但是控制点越多,文 件量就越大。虽然犀牛中的曲线都是矢量的,但它很多时候都是以像素的方式运算。用大量 的点去“逼近”。逼近的程度(精度)就跟公差设置有关系了,公差设置越精密,值越小,越 逼近,点就就越多。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号