- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
石油、天然气工业
维普资讯
第 10卷 第 3期 重庆科技学院学报(自然科学版) 2008年6月
基于像素的云彩纹理分形算法研究
张朋霞 毛嘉莉 贺春林
(西华师范大学,南充 637002)
摘 要:研究分形云彩算法的实现。将噪音函数和点阵技术结合起来,通过连续变化的噪音函数模拟生成随机数,
在一定范围内缩放叠加,从而实现云彩纹理现象。
关键词:PerlinNoise;分形算法;点 阵;线性插值
中图分类号:TP301 文献标识码 :A 文章编号:1673—1980(2008)03—0081—03
云是一种非常复杂的自然现象。比较典型的云 1.2 插值 函数
彩模拟算法有:BLinn提出的光线反射方程方 创建好噪音种子嘲后,需要平滑返回值。一个
法[];Max提出的重力场和光线跟踪的方法;Kajiya 标准的插值函数使用三个输入:a,b,.27。a和b,作
等提出的光线跟踪非均匀密度场的方法 。这些方法 为插值的区域,.27是一个 0到 1之间的值。插值函
都能较好地模拟云彩,但这些方法都是基于复杂的 数返回一个基于 .27的a和b之间的数。当 .27等于
数学或物理方法,计算耗时,且都需要在工作站级的 0,返回 ;当.27是 1,返回6;当 .27是介于0到 1之间
计算机上实现。 的数,返回一个 a到b之问的数,采用余弦插值,可
下面我们提出基于像素的云彩纹理分形算法。 以得到一个比较平滑的曲线。算法如下:
floatCosineInterpolate(a,b,x)
该算法主要采用PerlinNoiseg。]函数通过几个噪音 _
函数在一定范围内缩放叠加,从而重现云彩现象,并 {
且采用点阵的计算方法,大大提高了计算机的处理 ft— X * 3.1415927
效率,减少了由于提高效率而引起的图像失真l3]。 f 一 (1~ cos(ft)) * 0.5
returna*(1~f)-4 b*f
1 分形云彩纹理的产生原理
)
通过产生随机数、线性插值、最后的平滑函数, 1.3 平滑噪音
叠加三次得到噪音函数l4],然后找到合适的常量,把 除了插值,利用平滑噪音函数的输出使图像显示
噪音函数的函数值转化成颜色值后,加载到原图像 更加平滑。平滑噪音不是采用坐标点来获得噪音函
的颜色值上,就能显示出云彩效果。 数的值,而是采用坐标点和相邻点的平均值。使用平
1.1 产生纹理的噪音种子 滑噪音和未平滑噪音的差异见图1。算法如下:
创建噪音种子的代码如下: floatSmoothNoise2D (intz,int )
intNoise(intX,inty) {
{ corners=四个角噪音种子的平均值
n— x+ y 57: sides一 四个边噪音种子的平均值
n一 (n((13) n; center一 中点的噪音种子值
return(1073741824一 ((n* (n*n*15731+ return (corners
文档评论(0)