- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 分形曲面 - Read
3 分形曲面
分形曲面在自然界也是大量存在的,山脉、地形、岩石、云团等,都是分形曲面的实例。
本章着重介绍分形曲面及其计算机生成的方法。首先从最简单的三角形中点位移法及其计算机算法描述开始。然后介绍二维随机网格分形曲面的生成算法,在此基础上,叙述分形曲面上实体纹理,如大理石、木纹及铸件表面纹理的生成方法。此外,还进一步讨论云团形状的生成方法。山脉和云团是自然景物计算机模拟中的重要对象,本章还提供了实用的计算机算法。 为了更好地研究分形地形地貌曲面的有关理论和方法,本章还专门阐述了分形布朗曲面即FBM曲面,这是分形研究的一个重要分支,是分形的创始人Mandelbrot和Ness在60年代后期提出的一种模型,已用于模拟各种地貌及星球表面的不规则形状。
3.1中点位移法
上一章,我们介绍的中点位移法和中点细分随机分形曲线生成算法,可用以生成各种类似海岸线、河川、山形的曲线。将这些方法加以拓广,即可用于产生各种分形曲面。
中点位移法是分形曲面生成算法中最简单的一种,这里首先引入一种以三角形为图形基元的分形曲面生成法。为了叙述的方便,我们把最初给出的三角形,称为父三角形,将三角形每边中点位移后的点适当连接面形成的四个三角形,称为子三角形(参照图3-1)
中点位移法生成分形曲面的步骤如下:
(1)从初始的三角形出发,求出各边中点(M1、M2、M3);
(2)在该中点处,沿铅垂方向向上产生一个位移量Wi,该位移量与边长成比例,比例因子可以随机产生,或由一些均匀分布的随机数组组成的集中取出,三条边中点处产生位移,得到三个新的点(D、E、F);
(3)将三个新点和原三角形的三个顶点相连接,产生四个新的三角形,即△ADF,△BDE,△CEF和△DEF;
(4)对每个子三角形作同样的操作,如此不断迭代循环,直到满足终止条件为止。
一般来说,中点位移量是一个随机变量,并且必须随三角形的子分而不断变小。
在上述分形曲面生成过程中,通过三角形的不断被子分而使整个表面弄成皱折,产生类似于山脉的形状——分形山。
上述生成分形曲面的算法如下表所示:
Void subdiv-3d(,w1,w2,w3,n,dir) 功能:中点位移算法生成中点细分随机曲面 参数说明:float x1,y1,z1,x2,y2,z2,x3,y3,z3:三角形顶点
int w1,w2,w3:三角形三边上中点位移量
int n:递归深度
int dir:分隔的三角形走向 变量说明:x12,y12,z12,x23,y23,z23,x31,y31,z31:三角形各边的中点坐标 调用函数说明:rand():伪随机数发生器函数[0,1]
moveto_3d(x,y,z):将当前坐标位置移动到(x,y,z)位置,并投影到2d上显示
lineto_3d(x,y,z):从当前位置画线到(x,y,z) 位置,并投影到2d上显 {
if (n==0) {
moveto_3d(x3,y3,z3);
if (dir0) {
lineto_3d(x1,y1,z1);
lineto_3d(x2,y2,z2);
lineto_3d(x3,y3,z3);
}
else {
lineto_3d(x2,y2,z2);
lineto_3d(x1,y1,z1);
lineto_3d(x3,y3,z3);
}
return;
}
x12=(x1+x2)/2+w1*rand();
y12=(y1+y2)/2+w1*rand();
z12=(z1+z2)/2+w1*rand();
x23=(x2+x3)/2+w2*rand();
y23=(y2+y3)/2+w2*rand();
z23=(z2+z3)/2+w2*rand();
x31=(x3+x1)/2+w3*rand();
y31=(y3+y1)/2+w3*rand();
z31=(z3+z1)/2+w3*rand();
subdiv_3d(x1,y1,z1,x12,y12,z12,x31,y31,z31,w1/2,w2/2,w3/2,n-1,dir);
subdiv_3d(x2,y2,z2,x23,y23,z23,x12,y12,z12,w2/2,w3/2,w1/2,n-1,dir);
subdiv_3d(x3,y3,z3,x31,y31,z31,x23,y23,z23,w3/2,w1/2,w2/2,n-1,dir);
subdiv_3d(x12,y12,z12,x31,y31,z31,x23,y23,z23,w2/2,w
您可能关注的文档
- 2016年亚洲景点博览会教育会议网罗顶尖国际行业专家演讲 - IAAPA.PDF
- 2016年度南京市优秀专利奖申报书.DOC
- 2016年度唐山市滦南县申报中小学高级教师教学课堂能力测试结果公示.PDF
- 20164品牌推荐(杯壶、厨具用品).PDF
- 2016年硕士研究生复试科目-西南大学数学与统计学院.DOC
- 2016年第四届第五次干事会议纪录-童飞翔.DOC
- 2016成都国际汽车零配件及售后服务展览会邀请函-四川省贸促会.DOC
- 2017 中国初级卫生保健改革与社区卫生服务国际研讨会 - Stanford.PDF
- 2017 年4 月26 日州长安德鲁M 葛谟葛谟州长宣布拨款290 - NYGov.PDF
- 2016年湖南省科技奖经济效益指标核查.PPT
最近下载
- TZS 0678—2025《生物安全实验室工作人员本底血清样本管理规范》(水印版).pdf VIP
- 2025年工会基础知识考试题库及参考答案(通用版).pptx VIP
- 抗菌药物的合理使用课件(共37张PPT).pptx VIP
- 急危重症患者护理抢救流程与规范.pptx VIP
- 平衡梁组件的承压检测装置.pdf VIP
- 2025年最新工会基础知识考试题库及参考答案(通用版).pptx VIP
- 44-无机复合聚苯不燃保温板应用技术规程T_CIEEMA002-2020.pptx VIP
- 供货方案及质量保证措施 .docx VIP
- 殡葬领域突出问题专项整治行动实施方案.docx VIP
- T_ACEF 207—2025(工业有机废气收集系统技术规范).pdf
文档评论(0)