当前位置: 首页 > article >正文

数学艺术图案画-曼陀罗(二)

数学艺术图案画曼陀罗二曼陀罗图案画是一类经典的、具有长久历史的艺术形式。在多个种族文化和宗教传统中占据很特殊地位。且不谈宗教方面其图案在美学和艺术方面就有那无与伦比的地位。图案通常以圆形呈现它那几何图形的集合图案的对称性、复杂性以及色彩的绚烂和变化多端常能激起人们对美的憧憬和向往。笔者对美丽的图案画情有独钟记得在初学QBasic语言时就喜欢用该语言的绘图功能绘制各种图案。在早期的IBM一体机的黑屏幕上用语言输出256色的数学图案看着五彩的线条生动的图案总是很陶醉。本博文提供了最为简单和直观的数学艺术绘图方法一块画布 Canvas一个调色板设置预设调色板 getcolor ( )加色彩变化 SetColor (255,r110,g1t*20,250-b1)一个绘图函数 mandalaXX ( ) { ······ }几个简单的绘图语句canvas.DrawOval (X, Y, La, Lb, R) 画椭圆canvas.DrawCircle (X, Y, R) 画圆形绘出一组色彩缤纷美轮美奂的图案。颜色设置预设置六个调色板色调取色亮度及鲜艳图案绘出时加变色图案的绘制要点是以椭圆的长短轴变化半径变化以及中心距的变化再加上色彩的变化来完成图案的复杂度图案图形的艺术性。各参数的变化代码中有注释。本设计的重点图案是即时逐线逐帧动画展示的。本人感受到屏幕的美感数学绘画的艺术感简直美极了。本博文是曼陀罗图案系列文档今后会陆续推出其他图样。谨以此方法贡献给喜欢美的朋友。本程序是用简单的C语言在安卓手机上编写的。界面是手机屏幕方式。用什么语言来编写早期的QBasic现在的微软VBasic的绘图语句功能可以但这些语言缺少直接的椭圆绘图语句要自己编制。有些C语言也没直接的椭圆绘图语句。有DrawOval功能来创建图案就很方便了。要用其他语言改写的应注意哈。下面是源码//设置全局变量或局部变量float pi3.1415926535;string s,ss,ss1,ss2,ss3; //print text stringfloat 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 numbermandala02 (){//** init round, n, center point px, pyround5; n0; //** 设置动画演示次数圈数px360; py350; //** 图案输出中心点//** 重绘图案redraw02:cs.SetFillMode (1);//0不填色1填色cs.SetColor (255,0,0,0);cs.DrawRect (0,0,720,720); //页面重置nn1; //计数 round//** 图案绘出有 8 步图形和颜色变化for (t1; t9; t){cs.SetFillMode (1);//0不填色1填色cs.SetColor (255,0,0,0);cs.DrawRect(20,660,700,710); //清屏//** 设置颜色取得颜色值getcolor (); //set color//** 依取得颜色 颜色变化cs.SetColor (255,r110,g1t*15,250-b1);//** 屏幕打印标题、状态提示次数 t圈数 nsintToString (t);ss3Times s;sintToString (n);ss1Round s;cs.SetTextSize (28);cs.DrawText (曼陀罗图案 (02) ,80,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); //框线//** 图案绘出pi/8 八分形pi/16 , pi/32 N分形//** k * n 椭圆比k*1.8可 set 0.5 2.5//** 图案展示图案和色彩 8次叠加5圈展示5个图案//** 定范围设置中心距长度增量 RnRnrandom()*201;//****** figure 1 ******//** 设置颜色取得颜色值getcolor (); //set colorfor(i0; i16; i){ //八角形L100(int)Rn*3 ;a2*pi/8*i ;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;a12*pi/16*i ;sx2(float)((L60)*sin(a1))px;sy2(float)(-(L60)*cos(a1))py;for (k10;k40;k){//** 依取得颜色 颜色变化 a150 半透明cs.SetColor (150,r110,g1k*6,250-b1);cs.DrawOval (sx1,sy1, 10, k*1.8, i*45);cs.DrawCircle (sx1,sy1,k);cs.DrawCircle (sx2,sy2,k/2);} }cs.Update (); //即时动画展示//****** figure 2 ******getcolor ();for(i0; i32; i){ //多边形L160; //100(int)Rn*3 ;a2*pi/32*i ;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;for (k10;k20;k){//** 依取得颜色 颜色变化 a150 半透明cs.SetColor (150,r110,g1k*8,250-b1);cs.DrawOval (sx1,sy1, 15, k*1.8, i*11.25);cs.DrawCircle (sx1,sy1,k/2);} }cs.Update (); //即时动画展示//****** center figure ** 此中心小花可不加getcolor ();for(i0;i8; i){L30 ;a2*pi/8*i ;sx1(float)(L*sin(a))px;sy1(float)(-L*cos(a))py;for (k10;k50;k){//** 依取得颜色 颜色变化 a150 半透明cs.SetColor (150,r110,g1k*20,250-b1);cs.DrawOval (px,py, 20,k*1.8, i*45);} }cs.Update (); //即时动画展示} //next tsleep (1000); //next times delayif (nround) goto redraw02; //重绘}//test2 ()附样例图案 ( Times 8 )另附动画展示中间过程图案( Times 1 -- 7 )预设置调色板函数getcolor (){//** 预设置调色板 (六个色调Rnrandom()*51; //color changekn(int)Rn;if (kn1){r1245; g1-50; b1250; } //redif (kn2){r1220; g120; b10; } //pinkif (kn3){r160; g10; b10; } //blueif (kn4){r1120; g10; b10; } //purpleif (kn5){r130; g150; b1150; }//greenif (kn6){r1225;g130;b1120; } //orenge//** return color ( R, G, B ) r1, g1, b1}//getcolor ()//** End ****

相关文章:

数学艺术图案画-曼陀罗(二)

数学艺术图案画-曼陀罗(二) 曼陀罗图案画是一类经典的、具有长久历史的艺术形式。在多个种族文化和宗教传统中占据很特殊地位。且不谈宗教方面,其图案在美学和艺术方面,就有那无与伦比的地位。图案通常以圆形呈现&…...

CC-Switch Claude 基于 Linux 服务器安装使用指南

CC-Switch & Claude 基于 Linux 服务器安装使用指南本文面向需要在 Linux 服务器环境中部署 Claude Code 并使用 CC-Switch 管理多配置的开发者。一、环境准备 1.1 系统要求 Linux(Ubuntu 20.04 / Debian 11 / CentOS 8)具备 sudo 或 root 权限网络可…...

英雄联盟终极助手:如何用League Akari工具包提升游戏体验

英雄联盟终极助手:如何用League Akari工具包提升游戏体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款基于L…...

别再只会用cat了!Linux日志文件排查实战:用tail、grep、less搞定/var/log/messages

别再只会用cat了!Linux日志文件排查实战:用tail、grep、less搞定/var/log/messages 当你面对一台突然报错的Linux服务器,第一反应是什么?大多数新手会本能地输入cat /var/log/messages,然后被瞬间刷屏的日志淹没。这种…...

[嵌入式系统-256]:

为了让你在实际开发中不踩坑,下面把 小内存管理(MEM) 与 堆内存管理(HEAP) 的差异拆成“算法本质 运行表现 选型决策”三层,直击核心。🔍 一句话区分MEM:“精挑细选,省…...

智能体驱动人机协同,重构工作价值边界

当AI从“被动响应”升级为“主动执行”,智能体已成为职场效率革命的核心引擎,彻底打破了“重复劳动占据核心时间”的困境。不同于传统AI工具的单一功能,职场智能体具备自主规划、多工具调用、跨系统协同的能力,能够自动拆解任务、…...

告别ENVI软件依赖:用MATLAB自制HDR读写工具包(附完整代码)

告别ENVI软件依赖:用MATLAB自制HDR读写工具包(附完整代码) 遥感数据处理领域长期被ENVI等商业软件垄断,但真实工程场景往往需要更灵活的解决方案。本文将带你从零构建一个工业级的MATLAB HDR工具包,不仅实现基础读写功…...

WaveTools终极指南:简单三步解锁《鸣潮》120帧,让你的游戏体验彻底升级!

WaveTools终极指南:简单三步解锁《鸣潮》120帧,让你的游戏体验彻底升级! 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》60帧的锁帧限制而烦恼吗&#xf…...

3步解锁LOL全皮肤体验:R3nzSkin国服特供版完全指南

3步解锁LOL全皮肤体验:R3nzSkin国服特供版完全指南 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server 想要在《英雄联盟》中免费体验所有限定皮…...

终极指南:3分钟快速定位Windows热键冲突的智能侦探工具

终极指南:3分钟快速定位Windows热键冲突的智能侦探工具 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾…...

小白也能懂:用LoRA微调Qwen3-Embedding-0.6B,轻松实现情感分析

小白也能懂:用LoRA微调Qwen3-Embedding-0.6B,轻松实现情感分析 1. 为什么需要微调文本嵌入模型 文本情感分析是自然语言处理中最常见的任务之一,从电商评论到社交媒体监测,应用场景非常广泛。传统的情感分析方法通常面临两个主要…...

Phi-4-mini-reasoning推理效果展示:复杂数学题求解与逻辑链生成案例集

Phi-4-mini-reasoning推理效果展示:复杂数学题求解与逻辑链生成案例集 1. 模型核心能力概览 Phi-4-mini-reasoning是一款专注于数学推理和逻辑链生成的轻量级开源模型。这个模型最大的特点是能够处理复杂的数学问题,并给出详细的推理步骤。它支持长达1…...

收藏必备:小白程序员轻松掌握大模型全栈自动化(从零搭建智能工作流)

单个Skill只能做单点任务,怎么实现跨工具、跨流程的复杂自动化?MCP和Skill到底怎么配合?什么时候用MCP什么时候用Skill?怎么让AI自己决策什么时候调用什么Skill,完全不用人工干预?怎么把企业私有知识、历史…...

RTSP开发模拟:从零构建本地视频流测试环境

1. 为什么需要本地RTSP测试环境 做音视频开发的朋友应该都遇到过这样的尴尬:算法写好了,功能开发完了,但手头没有摄像头硬件,或者网络环境不稳定,测试起来特别麻烦。我刚开始做视频分析项目时,经常要借同事…...

Meta-Llama-3-8B-Instruct部署实战:3分钟搞定AI对话应用搭建

Meta-Llama-3-8B-Instruct部署实战:3分钟搞定AI对话应用搭建 1. 引言:为什么选择Meta-Llama-3-8B-Instruct Meta-Llama-3-8B-Instruct是Meta公司2024年4月开源的中等规模指令微调模型,特别适合构建对话应用。相比其他大模型,它有…...

Qwen3-ASR-0.6B保姆级教程:开箱即用Web界面,语音识别如此简单

Qwen3-ASR-0.6B保姆级教程:开箱即用Web界面,语音识别如此简单 想快速搭建一个支持52种语言的语音识别系统,却担心复杂的配置过程?今天我要介绍的Qwen3-ASR-0.6B镜像,让你5分钟内就能拥有一个功能完善的语音识别Web应用…...

Arduino无阻塞时序库AutomationTimers:零中断、零动态内存的工业级定时方案

1. 项目概述AutomationTimers 是一个专为 Arduino 平台设计的轻量级、无阻塞事件时序管理库,其核心目标是在资源受限的微控制器上,以零硬件定时器依赖、零中断占用、零动态内存分配的方式,实现高可靠性的软件定时与信号处理逻辑。该库不封装任…...

一个GCC编译C语言命令的执行过程和错误输出:目录不存在:当前目录下没有output子目录|C语言编译的解决办法|Visual Studio Code

一个GCC编译命令的执行过程和错误输出:目录不存在:当前目录下没有output子目录。GCC尝试在output\目录中创建hellworld.exe,但该目录不存在。让我详细解释其中的每个部分:一、命令结构解析完整的GCC编译命令:gcc.EXE -…...

IDEA公司发布:全新 AI 开发工具,放弃了 IDEA 啦

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号,领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇:2T架构师学习资料干货分享大家好,我是互联网架构师&#xff…...

CompressO:终极免费开源视频压缩工具,一键释放95%存储空间

CompressO:终极免费开源视频压缩工具,一键释放95%存储空间 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors…...

贾子成功定理(普通完整版):德能 × 投入 ÷ 内耗——人生与AI时代的成功底盘法则

贾子成功定理(普通完整版):德能 投入 内耗——人生与AI时代的成功底盘法则摘要: 贾子成功定理普通完整版以公式S kT/I为核心:S为成功量级,k为德能(承载力、信用、格局、伦理底线)…...

贾子成功定理:逆熵动力学——成功 = 德能 × 劫难 ÷ 熵增惯性

贾子成功定理:逆熵动力学——成功 德能 劫难 熵增惯性摘要: 贾子成功定理提出成功本质是逆熵跃迁,核心公式S kT/I,其中S为成功量级,k为德能指数(劫难转化效率),T为天命劫难强度&…...

终极指南:用Rainmeter打造你的Windows个性化桌面

终极指南:用Rainmeter打造你的Windows个性化桌面 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter 想要让你的Windows桌面焕然一新,摆脱千篇一律的默认界面吗&#xf…...

2025届学术党必备的六大AI论文工具解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 就知网AI检测机制而言,要降低论文人工智能生成的痕迹,得从文本特征方…...

不止是部署:Seafile 12.0社区版深度定制与第三方系统集成实战(Java API + 自动登录)

不止是部署:Seafile 12.0社区版深度定制与第三方系统集成实战 当企业IT系统发展到一定规模,文件管理往往会成为效率瓶颈。传统FTP服务器权限混乱,公有云存储又面临数据主权风险。Seafile作为开源企业网盘解决方案,凭借其版本控制、…...

2026最权威的十大AI论文方案实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 各个当前主流的AI论文平台有着不同的侧重之处,Grammarly专门致力于语法校对以及风…...

2026最权威的五大AI论文工具实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 开篇要明确研究问题以及形成核心假设,再借助人工智能生成文献综述的初稿&#xf…...

终极教程:3步配置PotPlayer字幕翻译插件实现免费实时翻译

终极教程:3步配置PotPlayer字幕翻译插件实现免费实时翻译 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu PotPlayer_Subtit…...

嵌入式开发必看:volatile在STM32硬件寄存器操作中的实战应用

嵌入式开发实战:volatile在STM32硬件寄存器操作中的关键作用 第一次调试STM32的GPIO控制时,我遇到了一个诡异现象——明明在代码里设置了引脚高低电平,用逻辑分析仪却捕捉不到预期波形。经过三天排查才发现,编译器优化把对硬件寄…...

Alienware灯光控制终极指南:轻量级工具完整解决方案

Alienware灯光控制终极指南:轻量级工具完整解决方案 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 还在为臃肿的Alienware Command Center…...