现象背后的规律,总是令人着迷的!

今天我们来看莫拉尔玫瑰 (Maurer rose)的做法,也有将 Maurer rose 翻译成毛瑞尔,它是一种很漂亮的图形 —— 玫瑰线的变异品种。

相关软件:数学图形可视化工具

莫拉尔玫瑰

Maurer rose

A Maurer rose with n = 7 and d = 29

函数 $r=sin(n\theta)$ 在极坐标中展现出的图像是一个类似玫瑰花的图案,其中 $n$ 是一个正整数。如果 $n$ 是奇数,那么就有 $n$ 个花瓣;如果 $n$ 是偶数,就有 $2n$ 个花瓣。

我们在玫瑰花上取361个点,$sin(nk)(k = 0, d, 2d,3d,..., 360d)$,其中d是正整数,角度是" 弧 "不是 "度"。

莫拉尔玫瑰曲线

$r = sin(n\theta)$曲线:莫拉尔玫瑰曲线,是由连续连接的360条线连接组成。因此,莫拉尔玫瑰曲线是具有顶点的多边形曲线。

莫拉尔玫瑰可以描述为极面的闭合路线。

从原点$(0, 0)$开始触发,然后沿着一条线画到点$(sin(n*d), d)$。然后,在第二个点,沿着一条线画到下一个点$(sin(n*2d), 2d)$,依此类推。

最终,在最后一点,沿着一条线从$(sin(n*359d),359d)$画到终点$(sin(n*360d),360d)$。整个线图就是莫拉尔玫瑰曲线$r = sin(n\theta)$。

Maurer玫瑰是闭合曲线,因为起点$(0,0)$和终点$(sin(n*360d),360d)$重合。

下图显示了莫拉尔玫瑰曲线的演化$(n = 2, d = 29)$。

更多案例展示

以上是一些用$n$和$d$值绘制的Maurer玫瑰

实现路径

float n = 6;
float d = 71;size(800, 800);noFill();
background(255);// 绘制蓝线
beginShape();
stroke(0, 0, 255);
strokeWeight(0.5);
for(int theta = 0; theta <= 360; theta++){float k = theta * d * PI / 180;float r = 300 * sin(n * k);float x = r * cos(k) + width/2;float y = r * sin(k) + height/2;vertex(x, y);
}
endShape();// 绘制红线
beginShape();
stroke(255, 0, 0);
strokeWeight(4);
for(int theta = 0; theta <= 360; theta++){float k = theta * PI / 180;float r = 300 * sin(n * k);float x = r * cos(k) + width/2;float y = r * sin(k) + height/2;vertex(x, y);
}
endShape();

实验结果图

恒成立
上海理工大学光电硕士
努力将数字公式可视化- END -获取年会分享录播
请加入知识星球
置顶文件(不定期放出)戳星球二维码 ↓

如何生成玫瑰?|数字艺术相关推荐

  1. “加密上海·喜玛拉雅Web3.0数字艺术大展”落幕,AIGC和数字艺术衍生品是最大赢家?...

    图片来源:由无界版图 AI 绘画工具生成 11月11日,为期一个月的第一届"加密上海·喜玛拉雅3eb3.0数字艺术大展"在喜玛拉雅美术馆拉开帷幕. 这无疑是当下中国最盛大.最集中的 ...

  2. 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow)

    图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网络生成手写体数字数据(tensorflow) 文章目录 图像对抗生成网络 GAN学习01:从头搭建最简单的GAN网络,利用神经网 ...

  3. 加密数字艺术背后你关心的几个问题

    加密数字艺术背后你关心的几个问题 Connect Wallet 这是Web3中非常流行的一句话,其实也是Web3的核心要义,即"以用户为中心".将身份主权.数据主权.数据权益等都归 ...

  4. 第一期•第2场“走进数字艺术商品,福利不停歇”活动将于5月9日开启

    为了推动NFT技术的广泛应用,通过行业发展带动技术应用创新.区块链服务网络(BSN)将携手BSN-DDC基础网络中的一家或多家平台方伙伴,共同主办"走进数字艺术商品,福利不停歇"系 ...

  5. NFT 的基础知识:区块链上的数字艺术和收藏品

    在这张信息图中,团队探讨了 NFT 的核心基础知识,我们试图以初学者可以理解的方式解释这个概念.要更深入地了解 NFT 的功能细节,请务必查看我们关于NFT如何工作的独家专题文章. 2021 年上半年 ...

  6. 数字艺术——分形山(一)夜色星空山峦叠

    数字艺术--分形山(一)夜色星空山峦叠 前言 效果图 探索规律 代码实现 关键代码 说明 运行效果 美化 填充 背景 山峦 联系我 前言 如果说能画出一条直线,就能画出远近高低各不同的山峦,你信么?在 ...

  7. mysql生成随机验证码_MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法...

    上一篇介绍了如何在 Oracle 生成随机数字.字符串.日期.验证码以及 UUID,今天我们继续讨论在 MySQL 中生成各种随机数据的方法.

  8. Linux生成随机数字和字符串

    生成随机数字 使用系统的$RANDOM变量 > echo $RANDOM 14587 使用date +%s%N > date +%s%N 1529584024896587259 使用/de ...

  9. 数字签名开源_开源如何推动数字艺术时代

    数字签名开源 当我上大学时,软件开发似乎要困难得多. 我上电气工程学校,所以许多课程都涉及用汇编语言对微型计算机进行编程. 有复杂的工具链,昂贵的编译器和数千页的手册,其中描述了如何设置寄存器,以便这 ...

  10. 数码数字字体_2020年最佳创意数字艺术软件

    点击蓝色字CG猎人关注最有前景技术与教程 --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 简介 本次选项包含了收费和免费的软件,Affinity Designer已经上升到第二位,成 ...

最新文章

  1. mysql解析运行时间_分析 MySQL 语句运行时间
  2. 接入路由器做NAT,做限速的一些想法
  3. 单例模式【SingletonPattern】
  4. 数据库四大特性与隔离级别
  5. ASP.NET导出word实例
  6. 再谈注意力机制 | 运用强化学习实现目标特征提取
  7. 更改日期为英文_修改3000个日期格式,不用熬夜到天亮,3秒就完事儿
  8. volatile简记
  9. C# ITextSharp pdf 自动打印
  10. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_1_综合案例_文件上传的原理...
  11. mysql把字段拆成两个_MySQL数据库中,将一个字段的值分割成多条数据显示
  12. java抽象类详细介绍
  13. 799-C++异常类型以及多级catch匹配
  14. 基于OpenGL的雷达P显的系统设计与仿真 PPI_雷达仿真_雷达模拟器_雷达目标_雷达ppi_PPI显示器_源码
  15. poj 2152 Fire - 经典树形dp
  16. 降低PNG图片存储大小方法、图片压缩方法
  17. 80%学生的困惑,学完C/C++之后学什么?
  18. maven install失败的问题
  19. latex排版[4]:子公式分别编号
  20. 物理隔离下的数据交换平台难点解析与实践(一)

热门文章

  1. [附源码]计算机毕业设计基于Springboot校园运动会管理系统
  2. 最近在学这个东东,高端大气上档次
  3. 红米9.0系统设备最完美激活XPOSED框架的教程
  4. 浙江更新了小学3年级到9年级信息技术课,小学开始学编程
  5. html文件怎么在wps打开是乱码,wps上打开Excel文件是乱码
  6. 强化学习实战-使用Sarsa算法解决悬崖问题
  7. 产品黑魔法:腾讯搞流量的重要一课
  8. 【题解】 Test 买水的ACX(套路)
  9. 计算机毕业设计jsp宠物美容网站
  10. elasticsearch7 分组统计