这篇文章主要介绍“利用python画出月亮和月饼代码实例”,在日常操作中,相信很多人在利用python画出月亮和月饼代码实例问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”利用python画出月亮和月饼代码实例”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、?月亮
二、?雪花月饼
导入库matplotlib
和numpy
,作为工具直接用。
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np
布局
创建一个长×宽
的一个画布大小
fig = plt.figure(figsize=(10,5))
布置3D视角
ax = fig.add_subplot(121, projection='3d')
生成等差数列的数据,画出一个球体
x = np.linspace(0, 2 * np.pi, 100) y = np.linspace(0, np.pi, 100) x1 = 10 * np.outer(np.cos(x), np.sin(y)) y1 = 10 * np.outer(np.sin(x), np.sin(y)) z = 10 * np.outer(np.ones(np.size(x1)), np.cos(y1)) ax.plot_surface(x1, y1, z, color='yellow')
此时我们发现只画了一个月亮,所以我们打算画第二个月亮,凑成一对~
ax = fig.add_subplot(122, projection='3d') x = np.linspace(0, 2 * np.pi, 100) y = np.linspace(0, np.pi, 100) x1 = 10 * np.outer(np.cos(x), np.sin(y)) y1 = 10 * np.outer(np.sin(x), np.sin(y)) z = 10 * np.outer(np.ones(np.size(x1)), np.cos(y1)) ax.plot_surface(x1, y1, z, color='r')
效果图
还可以吧~哈哈哈哈!
导入所需要的库,用的比较多的是turtle
这个库来写的~
import turtle import time
我们先画一个底层的黄黄的饼作为底部~
def circle(): fillX_y(0, 0) turtle.color("#F0E68C") for _ in range(30): turtle.left(12) turtle.begin_fill() turtle.forward(230) turtle.circle(25, 180) turtle.goto(0, 0) turtle.left(180) turtle.end_fill() time.sleep(0.5)
既然是雪花月饼
,就应该是有雪花,接下来我们来画雪花
吧!
采用科赫曲线
进行画雪花。要改变弯曲程度。
def koch(size, n): # 定义弯曲的直线使其有棱角 if n == 0: turtle.fd(size) else: for angle in [0, 60, -120, 60]: # 每一次都对其进行合理的角度改变 turtle.left(angle) koch(size / 3, n - 1)
因为打算画八个,并且加上颜色
,所以七彩雪花
~
if a == 1: turtle.color("black") # 控制画笔的颜色 elif a == 2: turtle.color("purple") elif a == 3: turtle.color("blue") elif a == 4: turtle.color("Cyan") elif a == 5: turtle.color("green") elif a == 6: turtle.color("yellow") elif a == 7: turtle.color("orange") elif a == 8: turtle.color("red")
由于是八个雪花嵌套的,所以要进行一个等比缩放的包裹。
turtle.penup() turtle.goto(-200 * (4 / 7) ** (s - n), 100 * (4 / 7) ** (s - n)) # 每一次都是需要合理的等比例的扩大或是缩小 turtle.pendown() turtle.pensize(2) level = 5 koch(400 * (4 / 7) ** (s - n), level) # 大小是一个一个试出来的 # 不能超过setup的设定的范围 600,不然就越界了 turtle.right(120) koch(400 * (4 / 7) ** (s - n), level) turtle.right(120) koch(400 * (4 / 7) ** (s - n), level) # 注意这里koch一次就要转一次角度 turtle.right(120) turtle.hideturtle() # 隐藏画笔 flower(n - 1)
效果图!啊哈哈哈!是雪花月饼呀!
到此,关于“利用python画出月亮和月饼代码实例”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。