分形之拆分三角形(Split Triangle)
前面讲了谢尔宾斯基三角形,它是不停地将一个三角形拆分三个与之相似的三角形。这一节给大家展示的图形是将一个等腰钝角三角形不停地拆分两个与之相似的三角形。
核心代码:
static void SplitTriangle(const Vector3& v1, const Vector3& v2, const Vector3& v3, Yreal angle, Vector3* pVertices) {Vector3 dir12 = v1 - v2;Yreal len12 = D3DXVec3Length(&dir12);//Vector3 dir13 = v1 - v3;//Yreal len13 = D3DXVec3Length(&dir13); Vector3 dir23 = v2 - v3;Yreal len23 = D3DXVec3Length(&dir23);dir23 /= len23;Yreal len = len12*0.5f/cosf(angle);pVertices[0] = v2 - dir23*len;pVertices[1] = v1;pVertices[2] = v2;pVertices[3] = v3 + dir23*len;pVertices[4] = v3;pVertices[5] = v1; }
软件截图:
既然说是钝角三角形,那么就可以设置其底角的角度。
当其底角为45度时,为等腰直角三角形,则生成如下网格形:
当其底角为30度时,则其图形将蜕变为Koch曲线,见:分形之科赫(Koch)雪花
软件下载地址:http://files.cnblogs.com/WhyEngine/Fractal.7z
转载于:https://www.cnblogs.com/WhyEngine/p/4020508.html
分形之拆分三角形(Split Triangle)相关推荐
- 90 数字三角形(Triangle)
文章目录 1 题目 2 解决方案 2.1 思路和图解 2.1.1 遍历法和分治法 2.1.2 带记忆化搜索的分治法 2.1.3 至底向上的动态规划 2.1.4 至顶向下的动态规划 2.3 时间复杂度 ...
- #十二、编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三、编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定
#十二.编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数 #十三.编写等腰三角形类EWtriangle,继承于三角形类,初始化只用传一个腰长和一个底长,定 ...
- Python按照指定的分隔符拆分字符串split()函数
[小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python按照指定的分隔符拆分字符串 split()函数 ● 选择题 ...
- 三、12.13.14.15.编写三角形类Triangle
作业 #12.编写三角形类Triangle,初始化三个属性,分别是三条边的长度,定义一个计算并打印周长的函数class Triangle(object):def __init__ (a,b,c):se ...
- java三角形类 继承_java编程三角形(Triangle类)继承
import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.pr ...
- html+分割字符,sql拆分字符串split
SQL里有没有类似SPLIT的分割字符串函数 createfunctionf_split(@cvarchar(2000),@splitvarchar(2)) returns@ttable(colvar ...
- CSS中左上朝向三角形(Top-Left Triangle)的几种制作方式
今天我们介绍几种,用css实现左上朝向三角形(Top-Left Triangle)的写法. 示意图(以宽高各60px为例): 这种三角形,一般可以用来做"对话框"类型图形的左下小脚 ...
- jQuery拆分字符串 split()并且遍历$.each()
1.拆分字符串 语法:字符串名.split(separator,howmany) separator 必需.字符串或正则表达式,从该参数指定的地方分割 stringObject. howmany 可选 ...
- 三角形类 (Triangle class)
设计一个GeometricObject类.该类包括: (1)两个名为color(颜色).filled(是否填充)的数据域,即Field. ps:数据类型:char字符:String 字符串:boole ...
最新文章
- pytorch深度学习_了解如何使用PyTorch进行深度学习
- YARN-2.7.3-源码分析系列2:启动脚本原理的分析
- c1083 “tensorflow/python/framework/c pp_shape_inference.pb.h”
- “人机大战”捧红人工智能 新时代的HPC玩家需要什么能力?
- 程序实现php文件上传,PHP实例:实现文件上传的程序源码_php
- 很有意思的css口诀
- 美国高校开源迄今为止最大新冠肺炎CT数据集
- 今晚直播丨一次特殊的 Oralce 硬解析性能问题的技术分享
- VFP中加密和解密数据库的程序(VFP6-9运行没有问题)
- delphi android 串口通信,Delphi 7:操作串口(ComPort)
- mysql cnf和ini区别_再谈mysql的配置文件my.ini or my.cnf (之一) .
- linux lzma 函数 调用,Lzma(7-zip)和zlib
- Data Structures and Algorithms (English) - 6-8 Percolate Up and Down(20 分)
- 快速切题 usaco ariprog
- 10-253 B2-1查找订单数最多的员工信息
- DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
- 3级流水线11位-4位CRC循环冗余校验码生成器Verilog
- 工业互联网企业蘑菇物联获数千万元A轮融资,元禾原点资本领投...
- Android无法打开相册查看视频
- 超级简单的方法实现虚拟机和主机之间文件的复制和粘贴
热门文章
- maya骨骼转max里面的 Bone骨骼
- 关于微信支付由H5页面修改为类似于微信支付手机充值的效果
- Android的语言设置两种方法
- 微信小程序_石头剪刀布
- 安⽐(SECBIT)实验室携⼿路印(Loopring)共同发布智能合约风险列表
- 中国大学mooc慕课python答案_中国大学MOOC慕课Python编程基础课后答案
- MATLAB中alignsignals函数使用
- 易语言多线程大漠多线程初始化COM库
- mask_rcnn 版本过高的错误
- 小米盒子访问计算机硬盘,小米盒子3增强版,连接移动硬盘盒有问题,详尽测试。...