怎么实现python画圆功能
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,本文小编为大家详细介绍"怎么实现python画圆功能",内容详细,步骤清晰,细节处理妥当,希望这篇"怎么实现python画圆功能"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2025年02月24日怎么实现python画圆功能
本文小编为大家详细介绍"怎么实现python画圆功能",内容详细,步骤清晰,细节处理妥当,希望这篇"怎么实现python画圆功能"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
效果:
import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Polygon import matplotlib.patches as mpatches fig = plt.figure(figsize = (16,8)) ax = fig.gca() ax.set_xlim(-5,18) ax.set_ylim(-5,8) alpha = np.linspace(-np.pi,np.pi,30) t = np.linspace(-np.pi,np.pi,100) def ppp(nc , na , c , sx , sy): beta = alpha[na] gam = alpha[na+1] x = [] ; y = [] ; r = 0.5*nc x.append(r*np.cos(beta)) ; y.append(r*np.sin(beta)) ; tt = np.linspace(beta,gam,10) for i in range(len(tt)): x.append(r*np.cos(tt[i])) y.append(r*np.sin(tt[i])) r-=0.5 x.append(r*np.cos(gam)) ; y.append(r*np.sin(gam)) tt = np.linspace(gam,beta,10) for i in range(len(tt)): x.append(r*np.cos(tt[i])) ; y.append(r*np.sin(tt[i])) x = np.array(x) ; y = np.array(y) verts = list(zip(x+sx,y+sy)) poly = Polygon(verts , facecolor=c , edgecolor=c) ax.add_patch(poly) #ppp(2,0,'r',0,0) def get_coordiate(x , y): beta = (alpha[y]+alpha[y+1])/2 pr = 0.5*(x+x-1)/2 sx = pr*np.cos(beta) ; sy = pr*np.sin(beta) return sx,sy def pp_arrow(x,y): print x , y sx , sy = get_coordiate(x, y) for i in range(-1,2): for j in range(-1,2): if i == 0 and j == 0: continue ex , ey = get_coordiate(x+i, y+j) ax.arrow(sx,sy,ex-sx,ey-sy,head_width=0.05,head_length=0.1,fc='r',ec='r') def pxy(cx,cy): for i in range(10): plt.plot(0.5*i*np.cos(t)+cx,0.5*i*np.sin(t)+cy) for i in range(len(alpha)): plt.plot((0.5*np.cos(alpha)+cx,4.5*np.cos(alpha)+cx),(0.5*np.sin(alpha)+cy,4.5*np.sin(alpha)+cy)) cx = 13 ; cy =0 pxy(0,0) pxy(13,0) mr = np.zeros((10,30)) mb = np.zeros((10,30)) for i in range(3,9): for j in range(1,27): ttt = np.random.random() if ttt >= 0.98 and ttt <= 1: ppp(i,j,'r',0,0) mr[i][j] = 1 continue if ttt < 0.8: continue else: ppp(i,j,'b',0,0) mb[i][j] = 1 for i in range(10): for j in range(30): if mr[i][j] == 0: continue pp_arrow(i, j) ma = 0 ;posx = 1 ; posy = 1 for k in range(-1,2): for s in range(-1,2): mb[i+k][j+s]=0 ttt = np.random.random() if ttt > ma: ma = ttt posx = k ; posy = s ppp(i+posx , j+posy , 'r' , 13 , 0) ppp(i,j,'g',13,0) for i in range(10): for j in range(30): if mb[i][j] == 0: continue ppp(i , j , 'b' , 13 , 0) arrow = mpatches.Arrow(5, 0 ,3,0,width = 1,color = 'r') ax.add_patch(arrow) ax.text(6.2,0.5,'after one\nunit time',ha='center',va='center',color='y') xx = [4,4,4] yy = [7.5,6.5,5.5] c = ['b' , 'r' , 'g'] s = ['debris','satellite' , 'the location of satellite one unit time ago'] for i in range(3): print xx[i] , yy[i] rect = mpatches.Rectangle((xx[i],yy[i]),0.5,0.3,ec = c[i],fc=c[i] ) ax.text(xx[i]+0.7,yy[i],s[i]) ax.add_patch(rect) plt.axis('off') plt.show()
读到这里,这篇"怎么实现python画圆功能"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
功能
文章
内容
妥当
思路
效果
新知
更多
步骤
知识
知识点
篇文章
细节
行业
资讯
资讯频道
跟着
频道
处理
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
鄞州软件开发工具
南邮和北邮网络安全哪个好
网络安全宣传教育计划表
有关网络安全的英语初中的作文
中秋节手抄报内容网络安全
为什么要学数据库及其应用
不同版本数据库同步工具
2020服务器芯片市场占有率
服务器密码是对的登陆不上
mac用什么软件开发前端
万方数据库导出键在哪里
打造网络安全工作亮点
linux 服务器类型
数据库修改哈系列
光纤通讯网络技术
网络安全二年级手抄报图片
山西长治网络安全教育
电磁泄露网络安全案例
2017中国网络安全论坛
台式电脑共享的打印机服务器脱机
触摸屏桌面软件开发
数据库数据复制软件
2021河南省高校网络安全知识
数据库程序员哪个苦
青年大学习网络安全课
香港科技软件开发有限公司
魔兽世界如何知道哪个服务器人多
金刚网络技术
iphone数据库二进制
云丁网络技术 知乎