查看: 300|回复: 1|关注: 0

[我分享] 闲来无事,花了一下午编写了Koch雪花,一个字美,晒晒

[复制链接]

MATLAB 基础讨论
版块优秀回答者

中级

681 麦片

财富积分


5001500


26

主题

362

帖子

78

最佳答案
  • 关注者: 11
发表于 2020-5-22 18:18:38 | 显示全部楼层 |阅读模式
本帖最后由 15631202458 于 2020-5-22 18:21 编辑

闲来无事,花了一下午编写了Koch雪花,说是闲来无事,其实也是一直想着去实现它。
第一次见到科沃雪花觉得很美,感觉实现起来也不难,但是也一直没有动手去实现。
今天忙里偷闲,终于完成了,看到结果,一个字‘美’!

心里一直有个想法,Koch雪花是以三角去扩展的,那么它以其他正多边形去扩招是否可以呢,还有就是它向内扩展可行否。带着这些疑问开始了程序的编写。
大致说下雪花的实现流程:
(1)构建n正多边形;
(2)正n多边形每条边可以进行扩展(向外或者向内),扩展可以选m阶(m阶自己胡乱起的名字),m=3就是Koch雪花,那么它也可以是任意m正多边形,虽然任意正多边行后面继续生成的多边形会有相交的情况,管它呢,反正是自己做的也没有深入去研究理论。
(3)对(2)生成的结果中的每条边进行k次迭代,那么暂时叫做K级运算(好吧,‘阶’和‘级’都是自创的没去找响应的理论书籍;P )。在进行k级迭代过程中每次迭代可以选择用多少阶去完成。

那么看下效果吧:
绿色是向内扩展,红色是向外扩展。分别展示了正3,4,5,6多边形,3,4,5阶;迭代2,3,4次的结果
好吧,我承认挺美的!!!


3阶雪花.jpg 4阶雪花.jpg 5阶雪花.jpg



后面根据构建流程,每个边的扩展都随机选择,如随机选择扩展方向(向内,向外);如随机选择m阶扩展,最后生成了随机雪花。
好吧,我觉得也挺美的。

random雪花.jpg

到这里已经结束了,那么有什么思考否呢。
(1)在扩边时可以按照某种曲线进行扩边,那么是吧,会不会很丰富呢。
(2)三维情况也可以实现啊,三维绘制出来会更好看,那么相应的复杂度会增加很多,小伙伴有没有冲动去实现呢。三维在计算中会更耗时,在多级的情况下,可能会花费很长时间哦。

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

19

主题

2401

帖子

492

最佳答案
  • 关注者: 96
发表于 2020-5-23 13:53:07 | 显示全部楼层
支持,哈哈哈。
有没有代码可以分享呢?一般遇到这种可视化的东西,自己运行一下还是比较好玩的。。
多看帮助文档
说明你的matlab版本
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表