雪花六出---几幅算法生成的雪花图像,并祝大家平安夜和圣诞节快乐

今天和明天是平安夜和圣诞节,发几幅雪花的图像应下节日。本来是打算写个关于算法生成雪花的学术论文,但发现这东西很难写下去。主要是找不到一个提高论文逼格的数学公式,所以就发下博客吧。共有10幅PNG图像和3幅GIF动画图像,都是黑白二值化的图像。

雪花是种典型的混沌分形物体,在它身上能体现规则与随机的统一。说它规则是因为每一片雪花都是六边形的,至少有六边形的样子。而组成雪花的每一个分子都是随机混沌的。没有办法确定某一个水分子在生成雪花后位于雪花的哪个位置。

雪花是水分子的结晶,水分子又是由一个氧原子和两个氢原子组成的。严格的内部排列规律使雪花形成规则的几何图案形状。而大自然这位伟大的数学家兼艺术家,又在规则之中生出无限多样新奇的变幻来,使雪花片片不同,朵朵美丽。每一片雪花既是轴对称的,又是中心对称的。雪花是数学和艺术的天然融合,是常见、最简单,但却是最美丽的事物之一。

雪花有多种多样的形态,但每一片雪花都是六角形的,雪花的形状,涉及到水在大气中的结晶过程。大气中的水分子在冷却到冰点以下时,就开始凝华,而形成水的晶体,即冰晶。冰晶和其他一切晶体一样,其最基本的性质就是具有自己的规则的几何外形。冰晶属六方晶系,六方晶系具有四个结晶轴,其中三个辅轴在一个平面上,互相以六十度角相交;另一主轴与这三个辅轴组成的平面垂直。六方晶系的最典型形状是六棱柱体。但是,当结晶过程中主轴方向晶体发育很慢,而辅轴方向发育较快时,晶体就呈现出六边形片状。

大气中的水汽在结晶过程中,往往是晶体在主晶轴方向生长速度慢,而三个辅轴方向则快得多,冰晶多为六边片状。当大气中的水汽十分丰富的时候,周围的水分子不断地向最初形成的晶片上结合,其中,雪片的六个顶角首当其冲,这样,顶角上会出现一些突出物和枝杈。这些枝叉增长到一定程度,又会分叉。次级分又与母枝均保持六十度的角度.这样,就形成了一朵六角星形的雪花。每片雪花在整体上虽然都是六角星形的,但在细微形态上却有很多差别。各种雪花的形成和出现是与不同的气象条件,特别是空气温度、湿度有着密切的关系。

云层是雪花孕育的地方,雪花产生于云层中的这些小晶核.冰晶变成雪花所走过的路程既曲折又复杂,它随着气流上上下下、左左右右地反复运动,周围的温度和水汽条件不断变化,使冰晶增长的部位各不相同。正因为冰晶在产生和增长过程中遇到的温度、湿度以及气流条件千差万别,因而雪花的六角形基本形状也就变得千姿百态了。晶核生长的形状有三种趋势:长而细的六棱柱形晶柱、两头尖尖有如一根针的晶针和很薄的六边形晶片。如果它们周围的水气浓度较低,冰晶的增长就很慢,而且各边均匀增长;如果周围水气浓度较大,那么增长过程中不仅体积会增大,形状也会改变,最常见的就是天空中飘落的六边形雪花。为什么都倾向于六边形呢?原来冰晶增长时要消耗附近的水气,所以,越靠近冰晶的地方水气越稀薄,稍远处的水气自然过来补充,它们首先遇到的就是正在向前伸展的尖角,于是,各个尖角迅速加长,逐渐成为树枝状。同样原因,这些“树枝”上又长出新小枝杈,周而复始就形成了我们所见到的六边形雪花。形成雪花之前的冰晶受周围环境的影响,位于底面上的正六边形和侧面长方体的晶体生长速度出现差异,形状也相应发生变化,比如气温会给结晶的表面带来微妙变化,接近0°C度时底面水平扩展成六边形,-5°C时形成针状,降到-5~-10°C时侧面上开始生成正六棱柱体及侧面镂空的六棱柱体,-15°C时形成树枝状,在降至-10~-21°C时,正六边形又开始扩展,继而再生成六棱柱体。

动画图像:

最后发首徐志摩的诗《雪花的快乐》

假如我是一朵雪花,
翩翩的在半空里潇洒,
          我一定认清我的方向──
          飞扬,飞扬,飞扬,──
    这地面上有我的方向。

不去那冷寞的幽谷,
不去那凄清的山麓,
          也不上荒街去惆怅──
          飞扬,飞扬,飞扬,──
    你看,我有我的方向!

在半空里娟娟的飞舞,
认明了那清幽的住处,
          等着她来花园里探望──
          飞扬,飞扬,飞扬,──
    啊,她身上有朱砂梅的清香!

那时我凭借我的身轻,
盈盈的,沾住了她的衣襟,
          贴近她柔波似的心胸──
          消溶,消溶,消溶──
    溶入了她柔波似的心胸!

相关文章:

三生万物---算法生成的25幅三角形图像

混沌开窍---24幅由算法生成的正方形图像

正与邪---25幅由算法生成的五角星图像

恶魔的指纹---49幅由算法生成的七芒星图像

时间: 2024-11-05 07:07:29

雪花六出---几幅算法生成的雪花图像,并祝大家平安夜和圣诞节快乐的相关文章

火火火---12幅算法生成火的图像

火影终于要大结局了,几年前我曾追过一振.发几幅图像纪念一下吧,都是我用算法生成的.这些图像看上去还是有些震撼的,尤其是那几幅“九尾之火”.这几天我一直在想芒星图像的生成算法,感觉自己有点走火入魔了. 先从汉字的"火"开始, "火"字有五个角,可以看做是有五个分支. 五分支生成的火单薄了些,变成七个分支看看: 七分支的火看上去不错,再看九分支的“九尾之火”.这可是本文的高潮: 酷吧.最后两幅图像是十二分支的火: 相关文章: 恶魔的指纹---49幅由算法生成的七芒星图像

太阳崇拜---64幅由算法生成的八芒星图像

八芒星与卐字符号是遍布于我国广大地域多个民族的文化符号.有学者认为神秘的卐字符号其实是八角星纹的简化变体,它们都代表了太阳在一个回归年的视循环运动,即一年四季的循环变化.八角星纹集中发现于长江中下游与黄河下游的中国东部地区, 在红山和良渚文化也有发现.与从赤峰到香港的中国东面沿海人面岩画分布带之间是否存在关联值得关注.如今,八芒星与卐字符号是遍布于我国广大地域多个民族的文化符号. 再发些从网上收集的八芒星相关资料,原址为:http://blog.sina.com.cn/s/blog_6a4e1c

正与邪---25幅由算法生成的五角星图像

      五角星,又称五芒星,是指一种有五只尖角,并以五条直线画成的星星图形.做为中国人,一定对五角星有着特殊的情感.我还记得上小学的时候,曾在课桌上刻过几个五角星以表达我的爱国之情.前几天我还写过一个算法生成五星红旗.五角星是边数最少多角形,最简单画它的方法是先画一个正五边形,把各角和其对角用直线相连,并擦去原来的五边形.也可以延长原五边形的各边直到它们相交,从而得到一个大的五角星.其最大的特点是符合黄金分割0.618. 五角星被很多国家的军队作为军官(尤其是高级军官)的军衔标志使用. 一直

九尾之火---算法生成的动画图像

之前实现了算法生成火的图像,现在我要做的是让火动起来.似乎我在算法生成图像的路上越来越走火入魔了.最近总在想一些挺无聊的东西,如雪花何以六出,闪电的形态是如何形成,还有就是火焰烟花的生成.在无风的室内点燃一支蜡烛,其火苗是不停变化的,是什么造成它的变化? 火焰的本质是放热反应中反应区周边空气分子加热而高速运动,从而发光的现象. 火焰一般可分为三层:内层称内焰,带蓝色,因为供氧不足,燃烧不完全,具有还原作用,所以也称“还原焰”:中层明亮,温度比内层高:外层称外焰,为无色火焰,因为供氧充足,燃烧完全

三生万物---算法生成的25幅三角形图像

<道德经>第四十二章:“道生一,一生二,二生三,三生万物.万物负阴而抱阳,冲气以为和.”这是老子对宇宙起源的一种探索和认识,其含义是说宇宙最初有道,有物混成,先天地生.老子的这话是对伏曦八卦和<易经>的总结.太极生两仪,谓阴阳:两仪生四象,谓太阴,少阳,少阴,太阳:四象生八卦,谓乾.兑.离.震.巽.坎.艮.坤.八卦及六十四卦,过于繁复,老子贯通易理,总结为三生万物. 太极是阴中有阳,阳中有阴的混沌状态.太极生两仪,谓阴阳.阴阳是对立的无限的两极,是理想状态,构不成客观存在.阴阳相济

混沌开窍---24幅由算法生成的正方形图像

庄子讲过这么一个故事:南海之帝名叫倏,北海之帝名叫忽,中央之帝名叫浑沌.倏和忽经常一起在浑沌的地上相遇,浑沌待他们很好.倏和忽商量怎样报答浑沌的友情,他们说:“人们都有眼.耳.鼻.口七窍,用来看.听.吃.呼吸,唯独浑沌什么也没有,我们就试着为他凿开七窍吧.”于是他们就为浑沌凿七窍,一天凿成一窍,凿到第七天,七窍全凿通时,浑沌就死了. 我对这个寓言的理解是:混沌是无规律的,一旦为其找到了规律,那么混沌就称不上混沌了. 在上一篇文章中我讲到谢尔宾斯基三角形的生成算法,那么将三角形改成一个矩形或正方形

恶魔的指纹---49幅由算法生成的邪恶七芒星图像

本文将带你领略算法之美,美得让你感到恐惧.前几天写了生成七芒星的算法,之后我在此算法的基础上做了些修改,从此一发不可收拾.我想我打开了潘多拉的盒子,只要修改下算法的任意一个输入参数,就能够生成一幅独一无二的七芒星图像.这些图像如同来自地狱一样,让我感到惊悚恐惧.有人曾将曼德勃罗集生成的分形图像称为上帝的指纹,那么这些饱含邪恶气息的七芒星图像应该算是恶魔的指纹. 有一次我对公司的一个策划开玩笑说:"你再给我提需求,我就写程序画圈圈诅咒你",并且我去年还真写了这么个程序,见:画圈圈诅咒你.

mybatis plus 主键生成 Twitter雪花算法 id 及修改id为字符型

mybatis plus配置主键生成策略为2,就是 使用Twitter雪花算法 生成id spring boot中配置为: GlobalConfiguration conf = new GlobalConfiguration(new LogicSqlInjector()); conf.setIdType(5); 这样生成的是long类型的,如果想把这个id 转为字符串类型,则配置主键生成策略为5就行了 https://gitee.com/baomidou/mybatis-plus/blob/de

算法生成五星红旗

这一篇将提供一套生成五星红旗的算法,代码中满满都是正能量.上一篇文章是生成N芒星,五角星是就芒星的一种,所以不难生成一个五角星的图像.中华人民共和国国旗是五星红旗,旗面为红色,长宽比例为3:2.左上方缀黄色五角星五颗,四颗小星环拱在一颗大星的右面,并各有一个角尖正对大星的中心点.1.4颗黄星对齐,2.3颗黄星对齐. 代码如下: h 1 class CPixel5StarsRedFlag : public IPixelEquation 2 { 3 public: 4 CPixel5StarsRed