用户:
RainDawn_SATA查看:0 回复:1 评论:0 创建时间:2023-01-14T21:06:14
【作品展示】

【作品介绍】
1.完成了四叶喵的绘制目前在优化阶段
2.完成了for循环的基础实验
实验内容(实现循环的方法在draw_first函数内体现)
3.循环实现方法:运用取整 取余 实现调换点坐标 从而实现仅仅用for循环来找到正方形四点坐标 运用取整取余 来实现 转换正负 以实现 弧度变化 进而 让每两个弧线界点 交与一点
为了实现这些 本鸽子绞尽了脑汁 终于在今晚实现了 (如果觉得想法很独特 , 这个鸽子可太难了 太努力 就请点个小小的赞 谢谢 如果 觉得有什么更好的想法 或者 有问题 就务必写一下评论 我会一一回答的)
【作品源代码】
import arcade
import math
WIDTH = 400*2
HEIGHT = 400*2
SQRT_2 = math.sqrt(2)
arcade.open_window(WIDTH, HEIGHT, "Drawing")
arcade.set_background_color(arcade.color.WHITE)
class Drawing():
def __init__():
pass
def drawing_first():
arcade.start_render()
for i in range(4):
arcade.draw_arc_outline((100+(i//2)*200)*2, (100+200*(i%2))*2, 200*SQRT_2*2,
200*SQRT_2*2, arcade.color.BLACK, (1-(2*(i//2)))*(-45-90*(i % 2)), (135-(1-(2*(i//2)))*90*(i % 2+(i//2))), 3)
arcade.finish_render()
def drawing_first_2():
arcade.start_render()
arcade.draw_arc_outline(300*2, 300*2, 200*SQRT_2*2,
200*SQRT_2*2, arcade.color.BLACK, 180, 270,3)
arcade.draw_arc_outline(喵*SQRT_2*2,
200*SQRT_2*2, arcade.color.BLACK, 270, 360,3)
arcade.draw_arc_outline(300*2, 100*2, 200*SQRT_2*2,
200*SQRT_2*2, arcade.color.BLACK, 90, 180,3)
arcade.draw_arc_outline(100*2, 100*2, 200*SQRT_2*2,
200*SQRT_2*2, arcade.color.BLACK, 0, 90,3)
arcade.draw_arc_outline(100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*((SQRT_2-1)/2), 300*2,
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 0, 180,3)
arcade.draw_arc_outline(100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*(3*(SQRT_2-1)/2), 300*2,
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 0, 180, 3)
arcade.draw_arc_outline(100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*((SQRT_2-1)/2), 100*2,
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 180, 360, 3)
arcade.draw_arc_outline(100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*(3*(SQRT_2-1)/2), 100*2,
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 180, 360, 3)
arcade.draw_arc_outline(100*2,100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*((SQRT_2-1)/2),
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 90, 270, 3)
arcade.draw_arc_outline(100*2,100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*(3*(SQRT_2-1)/2),
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, 90, 270, 3)
arcade.draw_arc_outline(300*2,100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*((SQRT_2-1)/2),
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, -90, 90, 3)
arcade.draw_arc_outline(300*2, 100*2+SQRT_2*200-200*(2*SQRT_2-2)+200*(3*(SQRT_2-1)/2),
(SQRT_2-1)*200, (SQRT_2-1)*200, arcade.color.BLACK, -90, 90, 3)
arcade.finish_render()
def main():
WHAT = int(input("What pic you want to draw? print 1 or 2"))
if WHAT == 1:
Drawing.drawing_first()
elif WHAT == 2:
Drawing.drawing_first_2()
else:
print("you have printed an flase answer")
Drawing.main()
arcade.run()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn