数学艺术图案画-曼陀罗(69)
数学艺术图案画曼陀罗69本系列曼陀罗图案创制一直以来都是我的最爱。我总是被色彩绚烂和美轮美奂的图案感动。在前些时候完成了曼陀罗图案系列 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个图案//** 图案采用多层图形多层色彩套叠设计方法//** 外圈二三层中心区二三层多层多彩套图形设计mandala69 (){//** init round, n, center point px, pyround2; n0; //** 设置动画演示次数圈数----px360; py350; //** 图案输出中心点//** 重绘图案redraw69: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 (曼陀罗图案 (69) ,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;i16; i){a2*pi/16*i ; L110;sx1(float)(L*cos(a))px;sy1(float)(L*sin(a))py;for (k8;k20; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,15,k*1.2, i*22.5);cs.DrawCircle (sx1,sy1, k/5);} }//****** figure 2 ****** 图形叠加设计getcolor ();for(i0;i16; i){a2*pi/16*i ; L150;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;sx2(float)((L15)*sin(a))px;sy2(float)(-(L15)*cos(a))py;for (k8;k30; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,30,k*0.8, i*22.5);cs.DrawCircle (sx1,sy1, k/3);cs.DrawOval (sx2,sy2,10,k*1.2, i*22.5);} }//****** figure 3 ****** 图形叠加设计getcolor ();for(i0;i4; i){a2*pi/4*ipi/4 ; L170;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*9045);cs.DrawOval (sx1,sy1,10,k*1.8, i*9045);cs.DrawCircle (sx1,sy1, k/3);} }//****** figure 4 ****** 图形叠加设计getcolor ();for(i0;i4; i){a2*pi/4*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*90);cs.DrawOval (sx1,sy1,10,k*1.8, i*90);cs.DrawCircle (sx1,sy1, k/5);} }//****** center figure 1 ********getcolor ();for(i0;i4; i){a2*pi/4*ipi/4 ; L65;sx1(float)(L*cos(a))px;sy1(float)(L*sin(a))py;for (k8;k30; k){//** 依取得颜色 颜色变化 a120 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,30,k*1.5, i*9045);cs.DrawCircle (sx1,sy1, k/3);} }//****** center figure 2 ********getcolor ();for(i0;i4; i){a2*pi/4*i ; L80;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;a2*pi/4*i ; L60;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,20,k*1.8, i*90);cs.DrawCircle (sx1,sy1, k/3);cs.DrawOval (sx2,sy2,30,k*1.5, i*90);} }//****** center figure 3 ********getcolor ();for(i0;i4; i){a2*pi/4*i ; L40;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;for (k5;k20; k){//** 依取得颜色 颜色变化 a180 半透明cs.SetColor (180,r1, g1k*cn, b1);cs.DrawOval (sx1,sy1,15,k*2.8, i*90);cs.DrawCircle (sx1,sy1, k/3);} }cs.Update (); //即时动画演示} //next tsleep (1000); //next round delayif (nround) goto redraw69; //下一圈}//test69

相关新闻

9大网盘直链解析终极指南:告别下载限速的完整解决方案

9大网盘直链解析终极指南:告别下载限速的完整解决方案

9大网盘直链解析终极指南:告别下载限速的完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

2026/10/24 13:33:15 阅读更多 →
零基础也能学会!one-page-website-html-css-project完整入门教程

零基础也能学会!one-page-website-html-css-project完整入门教程

零基础也能学会!one-page-website-html-css-project完整入门教程 【免费下载链接】one-page-website-html-css-project This project is for html & css practice. We made this for youtube tutorial purpose. 项目地址: https://gitcode.com/gh_mirrors/on/…

2026/10/25 6:43:07 阅读更多 →
Cindy安全与隐私保护:开源AI助手如何保障你的数据安全

Cindy安全与隐私保护:开源AI助手如何保障你的数据安全

Cindy安全与隐私保护:开源AI助手如何保障你的数据安全 【免费下载链接】cindy Consider it done. The open-source AI agent that works out of the box 想到,就能做到。开源、开箱即用的 AI Agent。 项目地址: https://gitcode.com/gh_mirrors/cind/…

2026/10/25 18:24:20 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →