猫史档案馆


【Python作品分享】四叶喵Arcade _Painting更新进度报告【作品秀】

用户:RainDawn_SATARainDawn_SATA查看:0 回复:1 评论:0 创建时间:2023-01-14T21:06:14


【作品展示】

center_image

 

【作品介绍】

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


回复

上一页1 页 / 共 1下一页
RainDawn_SATARainDawn_SATA

各位大佬如果有什么建议可以发表评论哦

点赞1


评论