鱼C论坛

 找回密码
 立即注册
楼主: xenli

[作品展示] Turtle模块--画一面中国国旗,希望不要太晚

  [复制链接]
发表于 2019-10-24 09:44:51 From FishC Mobile | 显示全部楼层
66
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-25 08:38:38 | 显示全部楼层
good
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-25 20:54:55 From FishC Mobile | 显示全部楼层
必须得学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-25 21:25:03 | 显示全部楼层
en
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-27 12:38:39 From FishC Mobile | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-27 19:02:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-28 12:35:07 From FishC Mobile | 显示全部楼层
想学。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-28 13:57:52 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 15:54:19 | 显示全部楼层
也想学学学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 16:23:05 | 显示全部楼层
新手学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-28 22:59:12 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-29 16:52:39 From FishC Mobile | 显示全部楼层
小白努力学习中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-30 00:24:03 From FishC Mobile | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-30 10:13:32 From FishC Mobile | 显示全部楼层
大家都九分裤长裤课程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-30 20:36:37 | 显示全部楼层
代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-30 22:04:47 | 显示全部楼层
我也做了一个,更想借鉴一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-30 22:18:29 | 显示全部楼层
本帖最后由 cnpzhlq 于 2019-10-30 22:22 编辑

想问楼主一个问题:四颗小五角星倾斜的角度,和小五角星的边长,可以通过什么方法确定的。我是查询了画五星红旗的方法后,用三角函数计算出来的。有什么固定的模式,或者更简单的方法吗?我的程序太复杂了。我画的旗面是660*440,每个小格子是22。

import turtle as t
import math as m
import os,time

t.setup(width=1200,height=700)
t.reset()
t.speed(10)

#画红旗长方形
t.up()
t.goto(-300,200)
t.down()
t.color('red','red')
t.begin_fill()
t.fd(660)
t.rt(90)
t.fd(440)
t.rt(90)
t.fd(660)
t.rt(90)
t.fd(440)
t.end_fill()


#画分格线
t.pencolor('black')
t.rt(90)
t.fd(330)
t.rt(90)
t.fd(220)
t.rt(90)
t.fd(330)
t.rt(90)
t.fd(220)
t.rt(90)
for i in range(5):
    t.fd(330)
    t.rt(90)
    t.fd(22)
    t.rt(90)
    t.fd(330)
    t.lt(90)
    t.fd(22)
    t.lt(90)
t.up()
t.goto(-300,200)
t.down()
for i in range(7):
    t.fd(22)
    t.rt(90)
    t.fd(220)
    t.lt(90)
    t.fd(22)
    t.lt(90)
    t.fd(220)
    t.rt(90)


#画大五星
a = 66*m.cos(54*m.pi/180)
b = a/m.cos(36*m.pi/180)
t.color('yellow','yellow')
t.up()
t.goto(-190,156)
t.down()
t.rt(72)
t.speed(2)
#t.begin_fill()
for i in range(5):
    t.fd(b)
    t.lt(72)
    t.fd(b)
    t.rt(144)
#t.end_fill()
t.up()
t.hideturtle()


#第1、2、3、4颗小五星
x_list=[(-80,156),(-36,112),(-36,46),(-80,2)]
c_list=[]
d_list=[]
e_list=[5*22,7*22,2*22,4*22]

for i in range(4):
    t.goto(x_list)
    c = t.distance(-190,90)
    d = m.degrees(m.asin(e_list/c))
    c_list.append(c)
    d_list.append(d)

for i in range(4):
    t.goto(x_list)
    t.seth(0)
    if i == 0 or i == 1:
        t.rt(90+d_list)
    else:
        t.rt(180+d_list)
    a_list=[]
    for i in range(5):
        t.fd(22)
        a_list.append(t.pos())
        t.bk(22)
        t.rt(72)
    t.goto(a_list[0])
    t.down()
    t.showturtle()
    #t.begin_fill()
    t.goto(a_list[2])
    t.goto(a_list[4])
    t.goto(a_list[1])
    t.goto(a_list[3])
    t.goto(a_list[0])
    t.end_fill()
    t.up()
    t.hideturtle()
   
#测试小五星是否对正大五星
for i in range(4):
    t.up()
    t.goto(-190,90)
    t.down()
    t.goto(x_list)
    t.hideturtle()
    t.up()

#暂停
time.sleep(3)
os.system('pause')


#完整的画一面五星红旗
t.reset()
t.speed(10)


#画红旗长方形
t.up()
t.goto(-300,200)
t.down()
t.color('red','red')
t.begin_fill()
t.fd(660)
t.rt(90)
t.fd(440)
t.rt(90)
t.fd(660)
t.rt(90)
t.fd(440)
t.end_fill()


t.rt(90)

#画大五星
t.color('yellow','yellow')
t.hideturtle()
t.up()
t.goto(-190,90)
t.seth(0)
t.lt(90)
a_list=[]
for i in range(5):
    t.fd(66)
    a_list.append(t.pos())
    t.bk(66)
    t.rt(72)
t.goto(a_list[0])
t.down()
t.showturtle()
t.begin_fill()
t.goto(a_list[2])
t.goto(a_list[4])
t.goto(a_list[1])
t.goto(a_list[3])
t.goto(a_list[0])
t.end_fill()
t.up()
t.hideturtle()



#第1、2、3、4颗小五星
x_list=[(-80,156),(-36,112),(-36,46),(-80,2)]
c_list=[]
d_list=[]
e_list=[5*22,7*22,2*22,4*22]

for i in range(4):
    t.goto(x_list)
    c = t.distance(-190,90)
    d = m.degrees(m.asin(e_list/c))
    c_list.append(c)
    d_list.append(d)


for i in range(4):
    t.goto(x_list)
    t.seth(0)
    if i == 0 or i == 1:
        t.rt(90+d_list)
    else:
        t.rt(180+d_list)
    a_list=[]
    for i in range(5):
        t.fd(22)
        a_list.append(t.pos())
        t.bk(22)
        t.rt(72)
    t.goto(a_list[0])
    t.down()
    t.showturtle()
    t.begin_fill()
    t.goto(a_list[2])
    t.goto(a_list[4])
    t.goto(a_list[1])
    t.goto(a_list[3])
    t.goto(a_list[0])
    t.end_fill()
    t.up()
    t.hideturtle()

t.goto(-250,240)
t.down()
t.color('red')
t.write('祝祖国母亲70华诞生日快乐!',font=('隶书',32))

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-31 09:56:12 From FishC Mobile | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-31 10:32:39 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-31 10:39:11 From FishC Mobile | 显示全部楼层
这个必须有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 03:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表