库之图形用户界面
|
to ! |
—
库之游戏开发
| Openfor 3D& Games
库之虚拟现实
/-: There's a blog about thishere: ()
/pyovr:forRiftSDK ()
【人机交互到艺术设计及玫瑰花绘制实例】 |for()
库之图形艺术
文章插图
/Quads:art based on . ()
/:to ASCII art ()
——3.11.3
玫瑰花绘制实例
import turtle as t# 定义一个曲线绘制函数def DegreeCurve(n, r, d=1):for i in range(n):t.left(d)t.circle(r, abs(d))# 初始位置设定s = 0.2 # sizet.setup(450*5*s, 750*5*s)t.pencolor("black")t.fillcolor("red")t.speed(100)t.penup()t.goto(0, 900*s)t.pendown()# 绘制花朵形状t.begin_fill()t.circle(200*s,30)DegreeCurve(60, 50*s)t.circle(200*s,30)DegreeCurve(4, 100*s)t.circle(200*s,50)DegreeCurve(50, 50*s)t.circle(350*s,65)DegreeCurve(40, 70*s)t.circle(150*s,50)DegreeCurve(20, 50*s, -1)t.circle(400*s,60)DegreeCurve(18, 50*s)t.fd(250*s)t.right(150)t.circle(-500*s,12)t.left(140)t.circle(550*s,110)t.left(27)t.circle(650*s,100)t.left(130)t.circle(-300*s,20)t.right(123)t.circle(220*s,57)t.end_fill()# 绘制花枝形状t.left(120)t.fd(280*s)t.left(115)t.circle(300*s,33)t.left(180)t.circle(-300*s,33)DegreeCurve(70, 225*s, -1)t.circle(350*s,104)t.left(90)t.circle(200*s,105)t.circle(-500*s,63)t.penup()t.goto(170*s,-30*s)t.pendown()t.left(160)DegreeCurve(20, 2500*s)DegreeCurve(220, 250*s, -1)# 绘制一个绿色叶子t.fillcolor('green')t.penup()t.goto(670*s,-180*s)t.pendown()t.right(140)t.begin_fill()t.circle(300*s,120)t.left(60)t.circle(300*s,120)t.end_fill()t.penup()t.goto(180*s,-550*s)t.pendown()t.right(85)t.circle(600*s,40)# 绘制另一个绿色叶子t.penup()t.goto(-150*s,-1000*s)t.pendown()t.begin_fill()t.rt(120)t.circle(300*s,115)t.left(75)t.circle(300*s,100)t.end_fill()t.penup()t.goto(430*s,-1070*s)t.pendown()t.right(30)t.circle(-600*s,35)t.done()
这段代码使用模块绘制了一个玫瑰花的图案 。具体实现如下:
定义了一个函数 , 该函数用于绘制一条弧线 , 包含三个参数:n为绘制的弧线的线段数 , r为弧线的半径 , d为绘制方向 , 即正值为逆时针 , 负值为顺时针 。
初始化画布的大小、画笔颜色和填充颜色等参数 , 并设定绘制速度 。
绘制花朵形状:首先绘制一个圆形 , 然后绘制两段半径为200s的弧线和一段100s的弧线 , 接着绘制两段半径为50s的曲线和一段半径为350s的弧线 , 最后绘制一段半径为70s的曲线、一段半径为150s的弧线、一段半径为50s的曲线、一段半径为400s的弧线、一段半径为50s的曲线和一段前进250s的直线 。
绘制花枝形状:向右旋转150度 , 前进280s , 向左旋转115度 , 绘制一段半径为300s的弧线、一段半径为225s的曲线、一段半径为350s的弧线、向左旋转90度、绘制一段半径为200s的弧线和一段半径为500s的弧线 , 最后绘制一段20个线段、半径为2500s的曲线和一段220个线段、半径为250s的曲线 。
绘制两个绿色的叶子:分别绘制两个半径为300s的圆弧和一段前进600s的直线 , 然后绘制第二个叶子 , 包含两段半径为300s和一段半径为600s的弧线 。
绘制完成后 , 关闭画布 。
- 世界上最稀有珍贵的20种宝石,如果有幸遇到一定要保留好! 世界之最宝石
- 云服务器是干什么的,云服务器是干什么用的
- 从屠夫之女一步步到皇后最后竟死在董卓手里
- 朱元璋是怎么做到靠月饼推翻元朝开创大明朝的?
- 吕不韦到底是好人还是坏人?历史上怎么评价他?
- 70后眼中的大学089之山东理工大学,如果搬到青岛会如何 山东理工大学历史之最
- 同样是E6同样是摩托罗拉,06年上市与19年上市,差距到底有多大
- 女作家张爱玲和李鸿章之间到底有什么样的关系
- 清初开国五大臣都有谁?你估计想不到
- 她,从种蘑菇卖煤球,到写代码做云原生