风趣!研讨生师兄用30行代码画出深大logo

1 minute, 13 seconds Read


这个logo我们大约都很了解吧?
没错!
这是咱们深圳大学的标志
咱们总能在不一样的当地看到它
但你可以没见过这样的深大logo↓
是的!没错 !
咱们在python用30行代码
让电脑主动画出了深大logo
用python画?
那会不会很难?
不难!只需跟
着下面进程做
教程之简略版
首要,咱们需要下载设备好python
接着,拉到这篇文章文末下载文件
然后…
翻开“python_draw”文件→运转“szu_logo.py”
这样
python就初步 咱们画深大logo啦!

可以有同学会问:
里边的代码只能画深大logo吗?
当然不是!它能画许多其他东西
可是需要略微批改一下
所以就有了凌乱版教程↓

教程之凌乱版
预备软件
ai&python
python库
turtle
第一步:用ai画好途径转为svg文件
预备好一张想画的图,在ai中画出它的途径。然后将它导出为svg文件。
支配滑动查看具体进程
第二步:记下svg文件中的path字符串信息并存在txt文件
查看svg代码,将svg代码中的path信息仿制到txt文件中。有多少条path就存储多少个txt文件。
支配滑动查看具体进程
第三步:将途径转为坐标
翻开”fouriermath.py”文件,将第二步生成的txt文件转为坐标文件,为画图做预备。

(”fouriermath.py”文件在这篇文章文末联接。)

第四步:用30行代码画图
运转以下代码就能成功画出深大logo啦!

(代码以及源文件都在这篇文章文末联接。)

# -*- coding:utf-8 -*-import turtle as tlimport mathpoints = [1000]*55n = 1000 + 1 # n由上个程序中核算出的级数数量抉择,加1是因为有一个角速度为0的量(直流分量)x = [0] * ny = [0] * nfor num in range(0, 52): data = [] f = open("outdatas"+str(num)+".txt","r") for line in f: line = eval(line) data.append(line) tl.penup() tl.pensize(2) # 画笔粗细 for t in range(points[num]): for i in range(len(data)): if i % 2 == 0: x[i] = data[i][0] * math.cos(i / points[num] * 3.14 * t) - data[i][1] * math.sin(i / points[num] * 3.14 * t) y[i] = data[i][0] * math.sin(i / points[num] * 3.

14 * t) + data[i][1] * math.cos(i / points[num] * 3.14 * t)
else: x[i] = data[i][0] * math.cos(-(i+1) / points[num] * 3.14 * t) - data[i][1] * math.sin(-(i+1) / points[num] * 3.14 * t) y[i] = data[i][0] * math.sin(-(i+1) / points[num] * 3.14 * t) + data[i][1] * math.cos(-(i+1) / points[num] * 3.14 * t) tl.goto(int(sum(x)), -int(sum(y))) # 正负可以控制图形的支配镜像,上下镜像,乘除可以控制缩放 tl.pendown()
经过以上四步
python就能主动画出咱们想要的图了!
荔研君还用这个办法画了其他图
比方荔研君的ip形象:
咱们用python画出来是这样的↓
其他风趣的画
上面代码用到的turtle库能进行图形制造
它除了能 咱们画深大logo
还可以画许多风趣的图像
比方使用下面的代码就能画一朵玫瑰:
import turtle as ttfrom random import randinttt.speed(0)tt.bgcolor("black")tt.hideturtle()tt.setpos(-25, 25)tt.colormode(255)for i in range(500): r = randint(0, 255) g = randint(0, 255) b = randint(0, 255) tt.pencolor(r, g, b) tt.forward(50 + i) tt.right(91)tt.done()
作用如下:
当然,turtle还能画更多风趣的图像
比方下面这朵花:
用30行代码就能画想要的图
你学会了吗?
一同来试试吧!
最终附上推文中的代码以及文件:
baidu云联接:
https://pan.baidu.com/s/1w2v4unhl3r6gj__3bzf_eq
获取码:487x
温馨提示:请按规则运用学校标识,学校有权追查未经授权不合法运用学校标识的任何单位和自个的法令责任。任何单位和自个在运用学校标识时,应恪守国家法令和学校规则,不得以诈骗、侮辱等其他有损学校形象的方法运用学校标识。未经学校授权或答应,任何单位和自个无权运用学校标识,不得私行运用学校标识从事任何产品、产品、技能、作用、办学的宣传、出售和推广等运营性活动。
?end?
修改 | 罗筠愈 施蔚然
图像来历 | 荔研君 网络
代码来历 | github 施蔚然
责编 | 陈蔚 苏圭莹 张特亮
深圳大学研讨生
研大千之学,究天人之道
id:szupostgraduate
长按辨认二维码重视咱们
发布荔研资讯,效能荔园师生

Similar Posts

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

|京ICP备2022015867号-3