如何利用python/R语言绘制圣诞树
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容介绍了"如何利用python/R语言绘制圣诞树"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年01月18日如何利用python/R语言绘制圣诞树
本篇内容介绍了"如何利用python/R语言绘制圣诞树"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Python
1、
import turtle screen = turtle.Screen()screen.setup(800,600) circle = turtle.Turtle()circle.shape('circle')circle.color('red')circle.speed('fastest')circle.up() square = turtle.Turtle()square.shape('square')square.color('green')square.speed('fastest')square.up() circle.goto(0,280)circle.stamp() k = 0for i in range(1, 17): y = 30*i for j in range(i-k): x = 30*j square.goto(x,-y+280) square.stamp() square.goto(-x,-y+280) square.stamp() if i % 4 == 0: x = 30*(j+1) circle.color('red') circle.goto(-x,-y+280) circle.stamp() circle.goto(x,-y+280) circle.stamp() k += 2 if i % 4 == 3: x = 30*(j+1) circle.color('yellow') circle.goto(-x,-y+280) circle.stamp() circle.goto(x,-y+280) circle.stamp() square.color('brown')for i in range(17,20): y = 30*i for j in range(3): x = 30*j square.goto(x,-y+280) square.stamp() square.goto(-x,-y+280) square.stamp() turtle.exitonclick()
2、
import randomheight = 11for i in range(height): print(' ' * (height - i), end='') for j in range((2 * i) + 1): if random.random() < 0.1: color = random.choice(['\033[1;31m', '\033[33m', '\033[1;34m']) print(color, end='') # the lights else: print('\033[32m', end='') # green print('*', end='') print()print((' ' * height) + '|')
3、
n = 50from turtle import *speed("fastest") #没有这一行,会very very慢left(90)forward(3*n)color("orange", "yellow")begin_fill()left(126)for i in range(5): forward(n/5) right(144) forward(n/5) left(72)end_fill()right(126)color("dark green")backward(n*4.8)def tree(d, s): if d <= 0: return forward(s) tree(d-1, s*.8) right(120) tree(d-3, s*.5) right(120) tree(d-3, s*.5) right(120) backward(s)tree(15, n)backward(n/2)
4、
def paintleaves(m): for i in range(m): if(i == 10): print( ' '*(m-i) + '*'*( 2*i + 1-len( 'happy Christmas')) + 'happy Christmas'+ ' '*(m-i)) continue if(i == 20): print( ' '*(m-i) + '*'*( 2*i + 1-len( 'I Love You')) +'I Love You'+ ' '*(m-i)) continue if(i == m-1): print( ' '*(m-i) + 'liang yu'+ '*'*( 2*i + 1-len( 'liang yu')) + ' '*(m-i)) continue print(' '*(m-i) + '*'*(2*i + 1) + ' '*(m-i)) def paintTrunk(n): for j in range (8 ): print(' '*(n - 5) + '*'*10 + ' '*(n - 5))paintleaves(25)paintTrunk(25)
5、
#!/usr/bin/env python# coding:utf-8import osimport sysimport platformimport randomimport time class UI(object): def __init__(self): os_name = platform.uname()[0] self.IS_WIN = os_name == 'Windows' self.IS_MAC = os_name == 'Darwin' print(os_name) if self.IS_WIN: self.RED = 0x0C self.GREY = 0x07 self.BLUE = 0x09 self.CYAN = 0x0B self.LINK = 0x30 self.BLACK = 0x0 self.GREEN = 0x0A self.WHITE = 0x0F self.PURPLE = 0x0D self.YELLOW = 0x0E else: self.RED = '\033[1;31m' self.GREY = '\033[38m' self.BLUE = '\033[1;34m' self.CYAN = '\033[36m' self.LINK = '\033[0;36;4m' self.BLACK = '\033[0m' self.GREEN = '\033[32m' self.WHITE = '\033[37m' self.PURPLE = '\033[35m' self.YELLOW = '\033[33m' self.p = self.win_print if self.IS_WIN else self.os_print def clear(self): os.system('cls' if self.IS_WIN else 'clear') return self def win_reset(self, color): from ctypes import windll handler = windll.kernel32.GetStdHandle(-11) return windll.kernel32.SetConsoleTextAttribute(handler, color) def win_print(self, msg, color, enter=True): color = color or self.BLACK self.win_reset(color | color | color) sys.stdout.write(('%s\n' if enter else '%s') % msg) self.win_reset(self.RED | self.GREEN | self.BLUE) return self def os_print(self, msg, color, enter=True): color = color or self.BLACK sys.stdout.write( ('%s%s%s\n' if enter else '%s%s%s') % (color, msg, self.BLACK)) return self def tree(ui, level=3): a = range(0, (level + 1) * 4, 2) b = list(a[0:2]) print(b) for i in range(2, len(a) - 2, 2): b.append(a[i]) b.append(a[i + 1]) b.append(a[i]) b.append(a[i + 1]) b.append(a[-2]) b.append(a[-1]) light = True while True: ui.clear() ui.p(u'\t圣诞节快乐!\n\t\t\tLiang Yu.Shi 2021', ui.RED) print light = not light lamp(ui, b, light) for i in range(2, len(b)): ui.p( '%s/' % (' ' * b[len(b) - i - 1]), ui.GREEN, enter=False) neon(ui, 2 * b[i] + 1) ui.p('\\', ui.GREEN, enter=True) time.sleep(1.2) def neon(ui, space_len): colors = [ui.RED, ui.GREY, ui.BLUE, ui.CYAN, ui.YELLOW] for i in range(space_len): if random.randint(0, 16) == 5: ui.p('o', colors[random.randint(0, len(colors) - 1)], enter=False) else: ui.p(' ', ui.RED, enter=False) def lamp(ui, tree_arr, light): colors = [ui.WHITE, ui.BLUE] if not light: colors.reverse() ui.p(' ' * (tree_arr[-1] + 1), ui.BLACK, enter=False) ui.p('|', colors[1]) ui.p(' ' * tree_arr[-1], ui.BLACK, enter=False) ui.p('\\', colors[1], enter=False) ui.p('|', colors[0], enter=False) ui.p('/', colors[1]) ui.p(' ' * tree_arr[-2], ui.BLACK, enter=False) ui.p('-', colors[0], enter=False) ui.p('-', colors[1], enter=False) ui.p('=', colors[0], enter=False) ui.p('O', colors[1], enter=False) ui.p('=', colors[0], enter=False) ui.p('-', colors[1], enter=False) ui.p('-', colors[0], enter=True) ui.p(' ' * tree_arr[-1], ui.BLACK, enter=False) ui.p('/', colors[1], enter=False) ui.p('|', colors[0], enter=False) ui.p('\\', colors[1]) ui.p(' ' * tree_arr[-2], ui.BLACK, enter=False) ui.p('/ ', ui.GREEN, enter=False) ui.p('|', colors[1], enter=False) ui.p(' \\', ui.GREEN, enter=True) def main(): ui = UI() max_rows = 4 tree(ui, max_rows) main()
这个在使用python运行的时候,要用Python2,python3的话,颜色是不会变的。 嗯,最起码我是这样的。
6、
import argparseimport osimport randomimport time BALL = '⏺'COLOR = { 'blue': '\033[94m', 'yellow': '\033[93m', 'cyan': '\033[96m', 'green': '\033[92m', 'magenta': '\033[95m', 'white': '\033[97m', 'red': '\033[91m'}STAR = '★' def random_change_char(string, value): indexes = random.sample(range(0, len(string)), value) string = list(string) for idx in indexes: if string[idx] != ' ' and string[idx] == '_': string[idx] = BALL return ''.join(string) def tree(height=13, screen_width=80): star = (STAR, 3*STAR) if height % 2 != 0: height += 1 body = ['/_\\', '/_\_\\'] trunk = '[___]' begin = '/' end = '\\' pattern = '_/' j = 5 for i in range(7, height + 1, 2): middle = pattern + (i - j) * pattern line = ''.join([begin, middle[:-1], end]) body.append(line) middle = middle.replace('/', '\\') line = ''.join([begin, middle[:-1], end]) body.append(line) j += 1 return [line.center(screen_width) for line in (*star, *body, trunk)] def balls(tree): for idx, _ in enumerate(tree[:-3], 2): tree[idx] = random_change_char(tree[idx], len(tree[idx])//8) return tree def colored_stars_balls(tree): for idx, _ in enumerate(tree): string = list(tree[idx]) for pos, _ in enumerate(string): if string[pos] == STAR: string[pos] = ''.join([COLOR['yellow'], STAR, '\033[0m']) elif string[pos] == BALL: string[pos] = ''.join([random.choice(list(COLOR.values())), BALL, '\033[0m']) tree[idx] = ''.join(string) return tree def cli(): parser = argparse.ArgumentParser(prog="Python Christmas Tree by Chico Lucio from Ciencia Programada", epilog="Ctrl-C interrupts the Christmas :-(") parser.add_argument('-s', '--size', default=13, type=int, help="Tree height. If even it will be subtracted 1. If less than 7, considered 5. Default: 13") parser.add_argument('-w', '--width', default=80, type=int, help="Screen width. Used to center the tree. Default: 80") parser.add_argument('-t', '--terminal', action='store_true', help="Uses the terminal size to center the tree. -s and -w will be ignored") args = parser.parse_args() if args.terminal: screen_width, height = os.get_terminal_size() height -= 2 else: height = args.size screen_width = args.width while True: try: time.sleep(random.uniform(.1, 1)) os.system('cls' if os.name == 'nt' else 'clear') print('\n'.join(colored_stars_balls(balls(tree(height, screen_width))))) except KeyboardInterrupt: os.system('cls' if os.name == 'nt' else 'clear') print(f"\n{'Merry Christmas!!':^{screen_width}}", end='\n\n') break if __name__ == '__main__': cli()
来源:A simple terminal Christmas tree made with Python | PythonRepo
update:2021-12-23
import mathimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure(figsize=(8,8))ax = fig.add_subplot(111, projection="3d")def init(): k=300 Z = [i for i in range(k)] X = [math.cos(i/5)*(k-i) for i in range(k)] Y = [math.sin(i/5)*(k-i) for i in range(k)] ax.scatter(X,Y,Z, c="green", marker="^") step = 3 c = [(i/k,abs(0.5-i/k),i/k) for i in range(1,k,step)] Z = [i for i in range(1,k,step)] X = [math.cos(i/5+2)*(k-i+10) for i in range(1,k,step)] Y = [math.sin(i/5+2)*(k-i+10) for i in range(1,k,step)] ax.scatter(X,Y,Z, c=c, marker="o",s=40) plt.xlim(-500,500) plt.ylim(-500,500) return fig,def animate(f): fig.clear() ax = fig.add_subplot(111, projection="3d") k=300 Z = [i for i in range(k)] X = [math.cos(i/5+f/10)*(k-i) for i in range(k)] Y = [math.sin(i/5+f/10)*(k-i) for i in range(k)] ax.scatter(X,Y,Z, c="green", marker="^") step = 3 c = [(i/k,abs(0.5-i/k),i/k) for i in range(1,k,step)] Z = [i for i in range(1,k,step)] X = [math.cos(i/5+2+f/10)*(k-i+10) for i in range(1,k,step)] Y = [math.sin(i/5+2+f/10)*(k-i+10) for i in range(1,k,step)] ax.scatter(X,Y,Z, c=c, marker="o",s=40) plt.xlim(-500,500) plt.ylim(-500,500) return fig,ani=animation.FuncAnimation(fig, animate, init_func=init, frames=90, interval=50, blit=True)ani.save("christmas_tree.mp4")
来源:https://medium.com/analytics-vidhya/how-to-draw-a-3d-christmas-tree-with-matplotlib-aabb9bc27864
R语言
1、
L <- matrix(c(0.03,0,0,0.1,0.85,0.00,0.00,0.85,0.8,0.00,0.00,0.8,0.2,-0.08,0.15, 0.22, -0.2,0.08,0.15, 0.22,0.25, -0.1,0.12, 0.25,-0.2,0.1,0.12, 0.2),nrow=4) B <- matrix(c(0,0,0,1.5,0,1.5,0,0.85,0,0.85,0,0.3,0, 0.4),nrow=2) prob = c(0.02, 0.6,.08, 0.07, 0.07, 0.07, 0.07) N = 1e5 x = matrix(NA,nrow=2,ncol=N)x[,1] = c(0,2) k <- sample(1:7,N,prob,replace=TRUE) for(i in 2:N){ x[,i] = crossprod(matrix(L[,k[i]],nrow=2),x[,i-1]) + B[,k[i]]}par(bg='black',mar=rep(0,4)) plot(x=x[1,],y=x[2,],col=grep('green',colors(),value=TRUE),axes=FALSE,cex=.1, xlab='', ylab='',pch='.')bals <- sample(N,20) points(x=x[1,bals],y=x[2,bals]-.1,col=c('red','blue','yellow','orange'),cex=1.5,pch=19) text(x=-.7,y=8, labels='liangYuShi', adj=c(.5,.5), srt=35,vfont=c('script','plain'),cex=3,col='gold' ) text(x=0.7,y=8,labels='Merry Christmas',adj=c(.5,.5),srt=-35,vfont=c('script','plain'),cex=3, col='gold' ) text(x=-0.6,y=0,cex=0.8,labels="By Jimmy Wu", col="white")
2、
par(bg='black',mar=rep(0,4))plot(1:10,1:10,xlim=c(-5,5),ylim=c(0,10),type="n",xlab="",ylab="",xaxt="n",yaxt="n")rect(-1,0,1,2,col="tan3",border="tan4",lwd=3)polygon(c(-5,0,5),c(2,4,2),col="palegreen3",border="palegreen4",lwd=3)polygon(c(-4,0,4),c(3.5,5.5,3.5),col="palegreen4",border="palegreen3",lwd=3)polygon(c(-3,0,3),c(5,6.5,5),col="palegreen3",border="palegreen4",lwd=3)polygon(c(-2,0,2),c(6.25,7.5,6.25),col="palegreen4",border="palegreen3",lwd=3)points(x=runif(4,-5,5),y=rep(2,4),col=sample(c("blue","red"),size=4,replace=T),cex=3,pch=19)points(x=runif(4,-4,4),y=rep(3.5,4),col=sample(c("blue","red"),size=4,replace=T),cex=3,pch=19)points(x=runif(4,-3,3),y=rep(5,4),col=sample(c("blue","red"),size=4,replace=T),cex=3,pch=19)points(x=runif(4,-2,2),y=rep(6.25,4),col=sample(c("blue","red"),size=4,replace=T),cex=3,pch=19)points(0,7.5,pch=8,cex=5,col="gold",lwd=3)xPres = runif(10,-4.5,4.5)xWidth = runif(10,0.1,0.5)xHeight=runif(10,0,1)for(i in 1:10){ rect(xPres[i]-xWidth[i],0,xPres[i]+xWidth[i],xHeight[i],col=sample(c("blue","red"),size=1)) rect(xPres[i]-0.2*xWidth[i],0,xPres[i]+0.2*xWidth[i],xHeight[i],col=sample(c("gold","grey87"),size=1))}
"如何利用python/R语言绘制圣诞树"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
语言
圣诞树
内容
更多
来源
知识
实用
快乐
学有所成
接下来
最起码
一行
困境
实际
情况
文章
时候
案例
编带
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发主管名单
12306数据库技术员
淘宝导出数据库
网络安全法全部内容
sdc网络安全
服务器卡死ping不通
软件开发西安
小学生网络安全教育图片
中邮网络技术
网络安全和防范案例分析
数据库 xml 结构
南湖区网络安全
电脑的代理服务器
软件开发是天方夜谈吗
浙江农信社软件开发岗
美国cdn高防服务器
凤凰系统网络技术有限公司
启动 dns 服务器
什么是默认的跨数据库检索
net 支持的数据库
数据库工程师可以转大数据吗
HDR贴图软件开发
甲骨文公司数据库事业部
棋牌游戏服务器有哪些
网络安全方案设计与审计
pdb药物综合数据库
英拓服务器管理
什么是tracker服务器
常用大型数据库有哪些
怎样查一个字段重复的数据库