返回

提问 添加收藏

unity3d生成数学函数的魔幻图形。(漂亮多图)

本页包含7张图片,默认未加载,显示所有图片

大洋的顶端 发布于 2017年10月13日 (共有1个回帖)

unity3d是基于opengl的封装,把一些高等数学之中相关的向量、矩阵等东西添加进来,可以对物理的缩放(矩阵的变化)、位置的变换(空间向量的变换),灯光的渲染(向量和矩阵的处理)等方便的操作。

游戏和数学分不开的,比如自动寻路AI,物理引擎、灯光、CG编程、物体的位置变化等等。

今天无聊研究下了u3d和数学函数的关系。

可以做出很多绚丽的图形。

1:数学公式,属于高中知识。 

x=(a+b)cosθ-acos[(a+b)θ/b];   
y=(a+b)sinθ-asin[(a+b)θ/b];

for (int i=0; i<numberOfPoints; i++) {
			theta = i * Mathf.PI / 180;  
			linePoints [i] = new Vector3 ((a + b) * Mathf.Cos(1*theta) -a*Mathf.Cos((a +b) * theta / b), (a +b) * Mathf.Sin (1*theta)-a* Mathf.Sin ((a +b) * theta / b), 1.0f);
			//theta+=2.0f*Mathf.PI/numberOfPoints*numCircle;
		}

可以生成图形:

点击加载图片

因此可以随意设置a和b的值,生成不同的图形:

点击加载图片

点击加载图片

点击加载图片

 

点击加载图片

点击加载图片

 

为了使得图具有动态变化,比如颜色的过度,自身的旋转,添加代码:

	transform.Rotate(Vector3.up * Time.deltaTime * rotateSpeed);

最终效果:、

点击加载图片

文明上网,理性发言
客户端 Android iPhone WP7