分形图形 --- 龙形曲线

今天,看到Matrix67的分形动画展示,效果超赞,于是,忍不住试试。

Matrix67的分形动画展示:Matrix67


为了省事儿,用cocos2dx和MFC做这个。


首先解释一下,龙形曲线。

龙形曲线的原理是:每次在现存的所有线段之间产生一个新的点,新点和原来的两个点构成了等腰直角三角形。如图。




龙形曲线的核心代码如下:

	CCPoint start = s,end = e;
	CCPoint vec = end - start;
	pVec[0] = start;
	pVec[2] = end;

	if ( IsOuter )
	{
		vec = vec.rotateByAngle( CCPointZero,CC_degrees_TO_radians( 45 ) );
	}
	else
	{
		vec = vec.rotateByAngle( CCPointZero,CC_degrees_TO_radians( 315 ) );
	}
	vec = vec*sin(CC_degrees_TO_radians(45));
	pVec[1] = pVec[0] + vec;
可以看到,这是一个不断生成新的顶点的过程,每帧会生成原来顶点数减一个顶点。

最终效果图:


相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...