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

趣味编程:抽象图(椭圆组成)

 概述:本篇博客主要讲解由椭圆图案组合而成的抽象图形。

 1.效果展示

 该程序的实际运行是一个动态的效果,因此实际运行相较于博客图片更加灵动。

2.源码展示

// 程序名称:椭圆组合而成的抽象图案//
#include <graphics.h>
#include <conio.h>
#include <math.h>const double PI = 3.1415926536;// 四舍五入
int Round(double x)
{return (int)(x < 0 ? x - 0.5 : x + 0.5);
}// 主函数
int main()
{// 初始化initgraph(640, 480);		// 创建绘图窗口setorigin(320, 240);		// 设置原点为屏幕中央double r = 58;double csin = sin(2 * PI / 200);double ccos = cos(2 * PI / 200);for (int j = 0; j < 100; j++, r -= 0.9){double tsin = sin(2 * PI * j / 100);double tcos = cos(2 * PI * j / 100);double x = 0;double y = r;for (int i = 0; i < 200; i++){double temp = x;x = x * ccos + y * csin;y = y * ccos - temp * csin;int scrx = Round(x * tcos + y * 4 * tsin);int scry = Round(y * 4 * tcos - x * tsin);putpixel(scrx, -scry, GREEN);}Sleep(20);}_getch();closegraph();return 0;
}

3.逻辑概述

这段程序使用 EasyX 图形库绘制了一个由椭圆组合而成的抽象图案。程序主要逻辑如下:

  1. 初始化部分

    • 创建 640×480 像素的绘图窗口
    • 将坐标系原点设置在窗口中央 (320,240)
  2. 核心绘制循环

    • 外层循环控制椭圆的数量,共绘制 100 个椭圆
    • 每次循环椭圆半径递减,形成从外到内的动画效果
  3. 椭圆绘制算法

    • 内层循环通过参数方程生成椭圆上的点
    • 使用旋转矩阵计算点的位置
    • 每个椭圆都有不同的旋转角度和离心率
    • 通过正弦余弦函数控制椭圆的变形和旋转
  4. 动画效果

    • 随着半径减小,不断绘制新的椭圆
    • 每次绘制后延时 20 毫秒,形成动画效果
    • 所有椭圆使用绿色像素绘制
  5. 收尾操作

    • 等待用户按键
    • 关闭图形窗口

这个程序的数学原理是通过参数方程和旋转矩阵生成椭圆轨迹,外层循环控制椭圆的大小和旋转角度,内层循环控制点的分布。通过这种方式,最终形成了一个由多个嵌套椭圆组成的抽象图案,并且带有平滑的动画效果。

4.小结

以上便是本篇博客的所有内容了,如果诸君学到EasyX绘图的便利与使用,还请给博主点点赞!!!

相关文章:

  • 【Python-Day 16】代码复用基石:详解 Python 函数的定义与调用
  • C++继承:从生活实例谈面向对象的精髓
  • 学习Android(十二)Thread
  • 深度解析 Element Plus
  • java上机测试错题回顾(1)
  • Ubuntu学习记录
  • EXIST与JOIN连表比较
  • Flink基本理解
  • 缓存穿透、缓存击穿、缓存雪崩解决方案
  • MySQL 索引详解与原理分析
  • Typescript总结篇——配置TS、基础知识(类型、接口、类型别名、泛型、extendsinfer关键字)
  • 递归+反射+注解(动态拼接建表语句)
  • BitsAndBytesConfig参数描述
  • RESTful风格
  • C++网络编程入门学习(四)-- GDB 调试 学习 笔记
  • 面试题 - 微服务相关的经典问题(33道)
  • 解决echarts图表legend文本太长;echarts图表的图例legend省略号显示
  • 第十节第四部分:常见API:秒杀案例、Calendar
  • SkyWalking 报错:sw_profile_task 索引缺失问题分析与解决
  • Javascript 编程基础(4)函数 | 4.4、bind() 方法
  • 青岛 外语网站建设/seo优化官网
  • 长沙哪里做网站好/如何自己建立一个网站
  • 手机app制作网站模板/网站seo整站优化
  • 免费 网站源码/免费二级域名注册申请
  • 免费申请网站com域名/多用户建站平台