• 题目:三维随机分形地形生成(续九)
  • 作者:佚名
  • 发表日期:十月 02, 2007
  • 浏览:102次
  • 收藏本文
  • 编者导读:其它算法     可能会想对曲面生成有比样本代码更多的控制。例如,可能想用自己的值给数组的前几遍初始化种子值,这样,山、谷……可以基本位于你设计的位置。然后用 diamon-square 算法填写其它细节。     修改代码,使之在赋值时略过已有值的数组成员是易于完成的。初始化数组为,例如, -10.0 ,给前几遍指定自己的值作为种子,再增强分形生成代码只给当前值为 -10.0 的赋值。简几遍将不会生成任何值,因为你的种子值已经在那儿了。后续几遍将在种子值在基础上
  • 其它算法

        可能会想对曲面生成有比样本代码更多的控制。例如,可能想用自己的值给数组的前几遍初始化种子值,这样,山、谷……可以基本位于你设计的位置。然后用 diamon-square 算法填写其它细节。

        修改代码,使之在赋值时略过已有值的数组成员是易于完成的。初始化数组为,例如, -10.0 ,给前几遍指定自己的值作为种子,再增强分形生成代码只给当前值为 -10.0 的赋值。简几遍将不会生成任何值,因为你的种子值已经在那儿了。后续几遍将在种子值在基础上生成新值。

        如何取得种子值呢?如果想要的形状遵循某个已知的数学公式,如正弦曲线,就用这个函数生成值。否则,你得找出创造性的方法完成。我见过的一种算法是用灰度值绘制自己的高度图。将灰度映射成高度值并存入数组。再用 diamond-square 算法增加更多细节。

        除了 diamond-square 算法,还有许多拼嵌表面的方法。

        用连续随机增加, 2D 数组的一个随机部分增高一个很少的量。反复多次,对所选中的数组区域加上一个很小的随机值。这可以生成相当不错的结果,但不是线性计算的。如果计算时间无所谓,那么建议试试这个算法。

        一另一个相似的方法,制造一个穿过数组的“折断”,并增加其中的一边,就象地震出现一样。再重复多次。这也不是一个线性算法,要多遍才能取得可以接受的结果。

    参考参考文献以了解更多其它途径。

  • 前一篇:题目:三维随机分形地形生成(续十...下一篇:题目:三维随机分形地形生成(续十...
  • 【引用地址】http://www.suanshu.net/list/5048.aspx
  • 【关键字】题目:三维随机分形地形生成(续九)
版权申明:非特殊申明,本站文章均系转载自互联网,如果侵犯了你的合法权益,请告知我们,我们会第一时间处理. 要点评这篇文章,请在下面留言
针对这篇文章的评论
  • 评论载入中
    评论载入中...请稍后...

发表您的评论您的评论

用户名: 验证码: 说明:评论并不需要注册.如果您不是本站会员,你可以注册为本站会员. 注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
  • 不良评论请用报告管理员,以利管理员及时删除。
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规。
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  • 本站评论管理人员有权保留或删除其管辖评论中的任意内容。
  • 您在本站发表的作品,本站有权在网站内转载或引用。
  • 参与本评论即表明您已经阅读并接受上述条款。
  • 赞助商链接