摘要
对自然现象的模拟可以提高虚拟场景的逼真度,与规则几何体不同,自然景象往往包含有丰富或随机变化的形状。由于欧氏几何的主要描述工具是直线、平滑的曲线、平面及边界整齐的平滑曲面,很难描绘这些变换多端的自然现象。为了描述这些复杂的图形,产生了分数维(Fractal)造型理论。Koch雪花曲线是典型的分形曲线,它通常是通过递归回溯法实现。递归回溯法实现Koch雪花曲线的过程是非常复杂。本文通过观察Koch雪花曲线自身特点,按逆时针方向,把构成Koch雪花曲线的线段看作六类有向线段。利用起点和终点坐标间的关系,判断它们属于哪一类有向线段,再根据此类有向线段的特点找到凸出一个正三角形所需的三个点的坐标,最终利用VisualC++语言把Koch雪花曲线简单地描绘出来,节省了大量的运行时间。降雪是很重要的一种自然现象,但是由于雪花在飘落过程中受到重力、空气的阻力以及风的作用,运动情况非常复杂,很难描述出来。因此,大部分程序在描述雪花下落时都不考虑这些力的影响,让雪花沿竖直方向匀速下落,缺少真实感。为了使模拟效果更加真实,本文考虑了重力、风力和空气阻力。用雪花转动的角度为随机值来模拟风力的复杂性,提高系统运行速度。雪花产生后,随着时间的推移,有一部分雪花已经消亡,同时需要产生新的雪花。因此,计算机在运算时需要花费一部分时间去计算雪花是不是存活,需要判断是否产生新的雪花。本文在处理此问题时并没有那么复杂,只用一个简单的程序就可以消除消亡的雪花,同时产生新的雪花。此方法不仅可以节省计算时间,还可以节省大量的存储空间。