Python手绘五星红旗,庆75周年

news2024/10/7 13:10:44
环境

pip install  matplotlib

pip install numpy

 代码 
import matplotlib.pyplot as plt
import numpy as np

# 中国国旗的标准尺寸比例是 3:2
width, height = 300, 200  # 这里可以调整为任何满足3:2比例的尺寸

# 创建一个新图形
fig, ax = plt.subplots(figsize=(width/100, height/100), dpi=100)
ax.set_aspect('equal')

# 绘制红色背景
rect = plt.Rectangle((0, 0), width, height, color='red')
ax.add_patch(rect)

# 定义五角星的顶点
def star_polygon(radius, ratio, rotation=0):
    angles = np.linspace(0, 2 * np.pi, 5, endpoint=False) + np.pi / 2 + np.radians(rotation)
    outer_points = [(radius * np.cos(angle), radius * np.sin(angle)) for angle in angles]
    inner_radius = radius * ratio
    inner_angles = angles + (np.pi / 5)
    inner_points = [(inner_radius * np.cos(angle), inner_radius * np.sin(angle)) for angle in inner_angles]
    points = [None] * 10
    points[::2] = outer_points
    points[1::2] = inner_points
    return points

# 大五角星
big_star_radius = 0.1875 * height  # 大五角星半径占旗帜高度的比例
big_star_ratio = 0.38196601  # 内外半径比
big_star_x = 0.15 * width  # 大五角星中心点X坐标
big_star_y = 0.72 * height  # 大五角星中心点Y坐标
big_star_points = star_polygon(big_star_radius, big_star_ratio)
big_star_polygon = plt.Polygon([(x+big_star_x, y+big_star_y) for x, y in big_star_points], closed=True, fill=True, facecolor='yellow', edgecolor='none')
ax.add_patch(big_star_polygon)

# 小五角星
small_star_radius = 0.06 * height  # 小五角星半径占旗帜高度的比例
small_star_ratio = 0.38196601  # 内外半径比
arc_radius = 80  # 半圆弧半径
angle_step = 180 / 6  # 每个小星之间的角度差
rotation_angle = angle_step  # 每个小星的旋转角度

# 开始角度设置为向右偏移一点,使得小星星从大星星右侧开始分布
start_angle = -90  # 右侧开始的角度

for i in range(5):
    if 0 == i:
       continue;
    angle = start_angle + i * angle_step
    small_star_x = big_star_x + arc_radius * np.cos(np.radians(angle))
    small_star_y = big_star_y + arc_radius * np.sin(np.radians(angle))
    small_star_points = star_polygon(small_star_radius, small_star_ratio, rotation=rotation_angle * i)
    small_star_polygon = plt.Polygon([(x+small_star_x, y+small_star_y) for x, y in small_star_points], closed=True, fill=True, facecolor='yellow', edgecolor='none')
    ax.add_patch(small_star_polygon)

# 设置坐标轴范围
ax.set_xlim(0, width)
ax.set_ylim(0, height)

# 隐藏坐标轴
ax.axis('off')

# 显示或保存图形
#plt.show()
plt.savefig("five_star_flag.png", dpi=300, bbox_inches='tight', pad_inches=0)
敬礼🙋‍♂️

参考 

【国庆阅兵全程视频】庆祝中华人民共和国成立70周年大会/阅兵式/群众游行特别报道】

国歌

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2194207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js 字符串下划线转驼峰 驼峰转下划线

一、下划线转驼峰 1、效果 2、示例 function underscoreToCamelCase(str) {return str.replace(/(_\w)/g, function(match) {return match[1].toUpperCase();}).replace(/^_/, ); }// 示例 let snakeCaseStr "hello_world"; let camelCaseStr underscoreToCamelC…

【Diffusion分割】Cold SegDiffusion:医学图像分割的扩散模型

Cold SegDiffusion: A novel diffusion model for medical image segmentation 摘要: 随着深度学习的发展,扩散模型在医学图像分割任务中表现出了卓越的性能。然而,传统的分割扩散模型通常采用随机高斯噪声生成分割掩膜,导致分割…

【华为HCIP实战课程七】OSPF邻居关系排错MTU问题,网络工程师

一、MTU MUT默认1500,最大传输单元,一致性检测 [R3-GigabitEthernet0/0/1]mtu 1503//更改R3的MTU为1503 查看R3和SW1之间的OSPF邻居关系正常: 默认华为设备没有开启MTU一致性检测! [R3-GigabitEthernet0/0/1]ospf mtu-enable //手动开启MTU检测 [SW1-Vlanif30]ospf mtu…

项目——超级马里奥——Day(2)

争取今天晚上能搞一半啊,啊啊啊啊,感觉事多的忙不过来 设计思路: 1)创建并完成常量类 ------->一张图片的情况 先完成对图片的封装------>把图片加载一遍 (老实说,我也不太知道为什么&#xff0…

Windows 开发工具使用技巧 QT使用安装和使用技巧 QT快捷键

一、QT配置 1. 安装 Qt 开发框架 1、下载 1、进入下载地址 下载地址1 (官方, 需注册账号): https://www.qt.io/download下载地址2(推荐): http://download.qt.io/http://download.qt.io/archive/qt/ (或更直接的…

【C++前缀和】1878. 矩阵中最大的三个菱形和|1897

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 1878. 矩阵中最大的三个菱形和 难度分:1897 给你一个 m x n 的整数矩阵 grid 。 菱形和 指的是 grid 中一个正菱形 边界 上的元素之和。本题中的…

ElasticSearch备考 -- Update by query Reindex

一、题目 有个索引task,里面的文档长这样 现在需要添加一个字段all,这个字段的值是以下 a、b、c、d字段的值连在一起 二、思考 需要把四个字段拼接到一起,组成一个新的字段,这个就需要脚本, 这里有两种方案&#xff…

ES 文件浏览器批量下载的链接

在 ES 文件浏览器上的网页上下载文件需要一个一个点击下载,这样非常麻烦,实际上文件在网页上都对应有一个真实的地址,这样通过 For 循环可以打印出下载地址,然后粘贴到迅雷中就可以批量下载了 http://10.0.0.47:5050/download?pa…

【Canvas与徽章】盾形银底红带Best Quality Premium徽章

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>BestQulity金属牌Draft3</title><style type"text/css…

怎么成为年薪53万的AI产品经理?我分析了200份大厂的招聘要求

我在 BOSS 直聘搜索AI产品经理&#xff0c;筛选了公司规模在10000人以上的公司&#xff0c;清洗整理后得到 229 个岗位信息&#xff0c;分析得到如下信息&#xff1a; 按最低薪资算&#xff0c;平均年薪 40.2 万&#xff1b;取薪资范围均值&#xff0c;平均年薪 52.9 万;只有 …

判断两棵树是否相等

判断两棵树是否相等 两棵树是否相等的判断条件&#xff1a; 1. 树的结构一样 2. 对应节点存放的值相等 思路1&#xff1a; 首先对树的结果判断&#xff0c;若结构一样&#xff0c;则进行下一步节点中值的判断&#xff0c;若结构不一样&#xff0c;直接返回false 1.定义一个f…

C++ | Leetcode C++题解之第458题可怜的小猪

题目&#xff1a; 题解&#xff1a; class Solution { public:int poorPigs(int buckets, int minutesToDie, int minutesToTest) {if (buckets 1) {return 0;}vector<vector<int>> combinations(buckets 1,vector<int>(buckets 1));combinations[0][0] …

万字长文带你从底层到实战了解Python中的time模块,从基础到进阶让你轻松掌握时间管理

博客主页&#xff1a;长风清留扬-CSDN博客系列专栏&#xff1a;Python基础专栏每天更新大数据相关方面的技术&#xff0c;分享自己的实战工作经验和学习总结&#xff0c;尽量帮助大家解决更多问题和学习更多新知识&#xff0c;欢迎评论区分享自己的看法感谢大家点赞&#x1f44…

图解Linux文件属性与目录配置

Linux的文件属性十分重要&#xff0c;与windows的文件属性有很大不同&#xff0c;Linux的文件增加了许多属性&#xff0c;如读写、连接数、文件拥有者及所属群组。如果一个文件属于一个群组&#xff0c;那么这个群组的成员就可以访问&#xff0c;其他的群组就不能访问&#xff…

Qt中的网络客户端

目录 HttpClient http报文相关 HttpClient发送报文格式 x-www-form-urlencoded: multipart/form-data raw binary QUrl QNetworkAccessManager Http-Get Http-Post http-post:form-data ftp-up ftp-down QDesktopServices HttpClient http报文相关 URL是为了 统…

人机协作:科技与人类智慧的融合

随着科技的飞速发展&#xff0c;越来越多的领域开始借助人工智能&#xff08;AI&#xff09;和自动化技术来提升工作效率。人机协作&#xff08;Human-Machine Collaboration&#xff09;这一概念逐渐成为现代技术进步的核心。它不仅改变了我们的工作方式&#xff0c;也在重新定…

【STL】stack模拟实现

stack模拟实现比较简单&#xff0c;就是直接调用deque的函数即可。 具体实现&#xff1a; #pragma once#include<deque> #include<iostream>using std::istream; using std::ostream; using std::endl; using std::cout;namespace zyy { //stack -> 后进先出t…

python log函数怎么用

log() 返回 x 的自然对数。 语法 以下是 log() 方法的语法&#xff1a; import math math.log(x[, base]) 注意&#xff1a;log()是不能直接访问的&#xff0c;需要导入 math 模块&#xff0c;通过静态对象调用该方法。 参数 x -- 数值表达式。 base -- 可选&#xff0c;底…

‌图片编辑为底片,智能工具助力,创作精彩视觉作品

在当今数字化时代&#xff0c;图像编辑已成为表达创意和美化视觉作品的重要手段。借助智能工具&#xff0c;即使是初学者也能轻松驾驭图片编辑。接下为大家展示图片编辑为底片图片的效果。 1.打开“首助编辑高手”&#xff0c;选择这里“图片批量处理”版块页面上 2.导入保存有…

C语言之三子棋游戏(附完整代码)

学了那么多关于C语言的知识&#xff0c;也该进行一下实操了。三子棋游戏应该是大家学生时代课间比较喜欢娱乐消遣的一种方式吧。那么我们今天就来说说如何实现简单版本的三子棋对战小游戏吧。 三子棋游戏介绍 三子棋游戏类似于五子棋&#xff0c;不同的是它的棋盘大小是九宫格…