前面讲了列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段而生成.还有分形龙也是将一个线段对折成夹角为90度的两个线段.这一节展示的是将线段不停地分形成两条长度相等且夹角不固定的线段而生成图形.这如同将一条线段变成等腰三角形,原线段为等腰三角形的底边,新生成的线段为等腰三角形的腰边.通过设置底角的角度,改变分形图形.

核心代码:

static void FractalAngleC(const Vector3& vStart, const Vector3& vEnd, Vector3* pVertices, Yreal angle)
{
Vector3 vSub = vEnd - vStart; pVertices[] = vStart;
pVertices[] = vEnd; Yreal alfa = atan2f(vSub.y, vSub.x);
alfa += angle; Yreal l = D3DXVec3Length(&vSub)*0.5f/cosf(angle);
pVertices[].x = vStart.x + cosf(alfa)*l;
pVertices[].y = vStart.y + sinf(alfa)*l;
pVertices[].z = 0.0f;
}

不同的夹角,其图形有很大的不同.当夹角较小时,图形很像大脑轮廓.当夹角取值为60度时,则变成了正三角形网格.当夹角大于60度时,图形无法收敛,会很乱.

软件下载地址:http://files.cnblogs.com/WhyEngine/Fractal.7z

最新文章

  1. CSS光标cursor
  2. wget 怎么下载https的连接错误: Unable to establish SSL connection
  3. iframe自定义高度
  4. mysql 启动服务
  5. JS cookie的使用
  6. Java 8 vs. Scala(一): Lambda表达式
  7. C# 重新改变数组的长度
  8. vi常用命令笔记
  9. C++中的引用到底是什么
  10. UNIX网络编程卷1 时间获取程序server TCP 协议相关性
  11. 【第一篇】Python基础
  12. ARM的启动代码(1):介绍(转)
  13. AForge.NET是一个专门为开发者和研究者基于C#框架设计的视频录像
  14. VMware12提示 已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。
  15. BZOJ 3551: [ONTAK2010]Peaks加强版 [Kruskal重构树 dfs序 主席树]
  16. windows server 2008 R2 Enterprise 系统安全配置
  17. tomcat logs目录下 日志文件含义及配置位置
  18. ctrl+c以及写操作失败和flush
  19. 12c rac On redhat 7
  20. linux 之 汇编语言 的mov和movl sub 和subl add 和addl 的区别??

热门文章

  1. python httplib2应用get post
  2. linux学习第四天 (Linux就该这么学)2018年11月16日
  3. xagrs 指定参数位置
  4. YII配置mysql读写分离
  5. Sketch 和 PS中的设计图如何实现“自动切图”?
  6. Vue组件中引入jQuery
  7. 我们用整整三年时间,建成了一套软件:用户定制系统(UD)
  8. Struct配置
  9. JNI,RegisterNative参数解析
  10. Django框架之序列化和上传文件