怎么实现python画圆功能
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本文小编为大家详细介绍"怎么实现python画圆功能",内容详细,步骤清晰,细节处理妥当,希望这篇"怎么实现python画圆功能"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
千家信息网最后更新 2025年12月01日怎么实现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安全错误
数据库的锁怎样保障安全
上海朝夕网络技术电话
数据库local
青岛恒鑫隆网络技术有限公司
密云区正规软件开发要求
关系数据库设计过程
游戏辅助软件开发教程
全省网络安全工作取得新成就
数据库的创建与维护体会
建立网络 将强网络安全
哪家网络安全产品好
企业网络安全密码通知
mysql数据库百度云教程
非学科类教育软件开发
免流服务器要不要ipv6
计算机房网络安全措施
无线网络安全 ppt
南通服务器迁移推荐
可丽金软件开发
服务器只有一个盘吗
数据库查蛋白位置
模拟web服务器
网络安全团队分工
陕西手机软件开发技术
省分行软件开发干什么
服务器要用uefi还是
网络技术牛人
上海银行软件开发薪酬
贵阳软件开发工程师工资
网络安全 军民科技融合
软件开发合同英文