数学艺术图案画曼陀罗65本系列曼陀罗图案创制一直以来都是我的最爱。我总是被色彩绚烂和美轮美奂的图案感动。在前些时候完成了曼陀罗图案系列 6轮既定目标 图1至 图 60。本博文开始提供的是第 7 集系列曼陀罗图案 图61至图70 。再次把美好的东西贡献给大家希望大家喜欢。曼陀罗图案画是一类经典的、具有长久历史的艺术形式。在多个种族文化和宗教传统中占据很特殊地位。且不谈宗教方面其图案在美学和艺术方面就有那无与伦比的地位。图案通常以圆形呈现它那几何图形的集合图案的对称性、复杂性以及色彩的绚烂和变化多端常能激起人们对美的憧憬和向往。本博文提供了最为简单和直观的数学艺术绘图方法一块画布 Canvas cs.Draw...一个调色板设置预设调色板 getcolor ( )加色彩变化 SetColor (180, r1, g1k*cn, b1)一个绘图函数 mandalaXX ( ) { ······ }几个简单的绘图语句canvas.DrawOval (X, Y, La, Lb, R) 画椭圆canvas.DrawCircle (X, Y, R) 画圆形绘出一组色彩缤纷美轮美奂的图案。颜色设置原预设置六个调色板色调取色彩亮度及鲜艳图案绘出时加色彩变化。今有修正增加一色调黄色yellow 。图案的绘制要点是以椭圆的长短轴变化半径变化以及中心距的变化再加上色彩的变化来完成图案的复杂度图案图形的艺术性。各参数的变化代码中有注释。本设计的重点图案是即时逐线逐帧动画展示的。本人感受到屏幕的美感数学绘画的艺术感简直美极了。本博文是曼陀罗图案系列文档今后会陆续推出其他图样。谨以此方法贡献给喜欢美的朋友。本程序是用简单的C语言在安卓手机上编写的。界面是手机屏幕方式。总结一下图形和色彩变化的要点一是图形变化图形输出中心距L变化加微调距离(L40)叠加图形以及椭圆的长短轴尺寸比例的变化循环套叠画出图形。二是色彩变化预设置调色板色调模型循环绘图时调用k值微调RGB颜色值来变化输出图形色彩。细心的读者对比一下几篇博文就能体会此中奥妙。下面是源码//设置全局变量或局部变量float pi3.1415926535;string s,ss,ss1,ss2,ss3; //print text strinfloat sx,sy, px,py, dx,dy; //center pointfloat sx1,sy1,sx2,sy2,sx3,sy3,sx4,sy4; //绘图float a,a1,a2, L,L1,d,r; //sin (a), d degree, Lengthdouble sn; //mode numberint round; //set roundint r1,g1,b1; //16m 全色调色板 A, R, G, B)double Rn; //random numberint i,j,n,t,k, kn; //t times, n numbeint cn; //设置调色板色彩变化系数预设置调色板getcolor (){//** 此是新修正的调色板//** 原预设置调色板 (六个色调新增yellow// 1 red 2 pink 3 blue 4 purple// 5 green 6 orange 7 yellow// cn 色调变化系数 cn 5 to 20// cn小 红色调 大 蓝绿色调Rnrandom()*71; //colorkn(int)Rn;if (kn1){r1250; g1-120; b10; cn5; } //redif (kn2){r1250; g1-50; b1250; cn10; } //pinkif (kn3){r10; g10; b1250; cn15; } //blueif (kn4){r1160; g10; b1250; cn20; } //purpleif (kn5){r10; g1200; b1100; cn15; }//greenif (kn6){r1250;g130;b1100; cn15; } //orangeif (kn7){r1250; g1250; b10; cn10; } //yellow//** return color (A,R,G,B ) r1, g1, b1}//getcolor ()图例Times 8 是一次循环展示的图案Times ( 1 - 7 ) 是动画展示的中间过程图案。图案源码如下//** 图案绘出pi/8 八角形 i*45度pi/6 六角形 60度//** pi/4 十字形 90度pi/5 五星形 72度pi/12 十二角 30度 pi/16 十六角 22.5度//** k * n 椭圆比k*1.5可 set 0.5 2.5//**图案动画展示图案和色彩多次叠加每轮次八步产生8个不同色彩的图案2圈次可展示出16个图案//** 图案采用多层图形多层色彩套叠设计方法//** 外圈二三层中心区二三层多层多彩套图形设计mandala65 (){//** init round, n, center point px, pyround2; n0; //** 设置动画演示次数圈数----px360; py350; //** 图案输出中心点//** 重绘图案redraw65:cs.SetFillMode (1);//0不填色1填色cs.SetColor (255,0,0,0);cs.DrawRect (0,0,720,720); //页面重置nn1; //计数圈数//** 图案绘出有 8 步图形颜色变化for (t1; t8; t){cs.SetFillMode (1); //0不填色1填色cs.SetColor (255,0,0,0);cs.DrawRect(20,660,700,710); //renew times//** 设置颜色取得颜色值getcolor ();cs.SetColor (255, r1, g1200, b1);//** 屏幕打印状态提示次数 t圈数 nsintToString (t);ss3Times s;sintToString (n);ss1Round s;cs.SetTextSize (28);cs.DrawText (曼陀罗图案 (65) ,50,40);cs.DrawText (ss3,90,680);cs.DrawText (ss1,240,680);cs.Update ();//** 图形区域框线cs.SetFillMode (0);//0不填色1填色cs.SetColor (255,250,250,0);cs.DrawRect(50,50,670,650); //框线cs.Update ();//****** figure 1 ****** 图形叠加设计getcolor ();for(i0;i8; i){a2*pi/8*ipi/8 ; L150;sx1(float)(L*cos(a))px;sy1(float)(L*sin(a))py;sx2(float)(L*sin(a))px;sy2(float)(-L*cos(a))py;for (k8;k30; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,20,k*1.2, i*4522.5);cs.DrawCircle (sx1,sy1, k/5);cs.DrawOval (sx2,sy2,10,k*1.2, i*4522.5);} }//****** figure 2 ****** 图形叠加设计getcolor ();for(i0;i8; i){a2*pi/8*i ; L150;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;for (k8;k30; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,30,k*1.2, i*45);cs.DrawOval (sx1,sy1,10,k*1.8, i*45);cs.DrawCircle (sx1,sy1, k/5);} }//****** center figure 1 ********getcolor ();for(i0;i8; i){a2*pi/8*ipi/8 ; L130;sx1(float)(L*cos(a))px;sy1(float)(-L*sin(a))py;for (k8;k25; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,20,k*1.8, i*4522.5);cs.DrawCircle (sx1,sy1, k/3);} }//****** center figure 2 ********getcolor ();for(i0;i8; i){a2*pi/8*i ; L60;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;a2*pi/4*i ; L70;sx2(float)(L*sin(a))px;sy2(float)(-L*cos(a))py;for (k10;k30; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,25,k*1.8, i*45);cs.DrawCircle (sx1,sy1, k/3);cs.DrawOval (sx2,sy2,40,k*1.5, i*90);} }cs.Update (); //即时动画演示} //next tsleep (1000); //next round delayif (nround) goto redraw65; //下一圈}//test65//** End ****
企业数字化 ERP 产品动态
相关推荐
强化学习核心理论与算法解析 1. 强化学习理论核心框架解析 强化学习(Reinforcement Learning)作为机器学习三大分支之一,其理论基础建立在马尔可夫决策过程(MDP)之上。与监督学习不同,RL智能体通过与环境交互获得的奖励信号来学习最优策… · 2026/9/21 3:15:56
基于库表分段扫描与 Redis 数据预热,构建低延迟的分布式延迟任务触达方案 基于库表分段扫描与 Redis 数据预热,构建低延迟的分布式延迟任务触达方案 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写… · 2026/9/24 23:41:38
Phoenix Analytics SQL:面向 Agent 的只读 SQL 分析接口设计与实现 可观测性AI 评测LLMOpsAI 应用人工智能 【免费下载链接】phoenix AI Observability & Evaluation 项目地址: https://gitcode.com/gh_mirrors/phoenix13/phoenix 点击查看 免费下载 导读
Phoenix 通过 GraphQL 与 REST API 对外暴露数据,但这些 AP… · 2026/9/24 23:41:32
OpenClaw QQ插件v0.5.0:非机器人通道与全媒体+权限控制 OpenClaw 的 QQ 插件 v0.5.0 终于发布正式版本了。这个版本最让我意外的是,它把“非机器人”这条路线坚持了下来,并且把全媒体消息和精细化权限控制这两个此前最难受的短板一次补齐。文章不聊虚的,就说说这个插件到底改了什么、权限规则怎么写… · 2026/9/24 23:41:12
腹部CT五器官分割:FCN-8s实战指南与避坑手册 简介:本资源是一套基于全卷积网络(FCN)实现腹部多脏器五类语义分割的完整实战项目,面向医学图像分析初学者与深度学习实践者,解决腹部CT影像中肝脏、脾脏、肾脏、胰腺及胃等器官的像素级精准分割问题。压缩包共1025个文… · 2026/9/24 23:41:12
OpenClaw v0.5.0 QQ插件:全媒体消息与精细化权限控制实战 OpenClaw QQ插件发到v0.5.0了,这次带上了全媒体消息和精细化权限控制。标题里“非机器人”三个字,我觉得是整篇最该聊清楚的地方——很多人一听“QQ插件”,第一反应是申请个QQ机器人接口,实际上这条路在自托管AI Agent的场景里远不… · 2026/9/24 23:41:12
I2C总线物理层与多主仲裁:从开漏输出到RTL实现的深度避坑指南 I2C这东西,刚入行的时候觉得它简单得不行——两根线,一根时钟一根数据,挂一堆从设备,地址一喊谁应答谁说话,能有多难?结果真到了调试现场,波形抓出来一看,上升沿软塌塌像条抛物线&am… · 2026/9/24 23:41:12
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44