猫史档案馆


【Python作品分享】4维立方体【作品秀】

用户:坐观垂钓者坐观垂钓者查看:1 回复:3 评论:1 创建时间:2022-12-26T14:58:28


【作品展示】

center_image

 

【作品介绍】

0000

 

【作品源代码】

import turtle

# 创建绘制直线函数


def drawLine(p1, p2, size=3, color="black"):
    turtle.penup()
    turtle.goto(p1)
    turtle.pensize(size)
    turtle.pencolor(color)
    turtle.pendown()
    turtle.goto(p2)


def main():
    # 求取点后,将超立方体点分为上下两个部分,两个列表
    a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],
         [-20.71, 50]]
    b = [[120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50], [-50, -120.71], [50, -120.71], [20.71, -50],
         [-20.71, -50]]

    # 绘制点
    turtle.pencolor("red")
    turtle.penup()
    for i in range(len(a)):
        turtle.goto(a[i])
        turtle.down()
        turtle.dot(10, "red")
        turtle.penup()
    for i in range(len(b)):
        turtle.goto(b[i])
        turtle.down()
        turtle.dot(10, "red")
        turtle.penup()

    # 绘制六边形直线
    for i in range(6):
        if i <= 4:
            drawLine(a[i], a[i + 1])
            drawLine(b[i], b[i + 1])
        else:
            drawLine(a[i], a[0])
            drawLine(b[i], b[0])

    # 绘制竖直线
    for i in range(len(a)):
        drawLine(a[i], b[i])

    # 绘制斜线
    drawLine(a[6], a[0])
    drawLine(a[6], a[2])
    drawLine(a[6], a[4])
    drawLine(a[7], a[1])
    drawLine(a[7], a[3])
    drawLine(a[7], a[5])

    drawLine(b[6], b[0])
    drawLine(b[6], b[2])
    drawLine(b[6], b[4])
    drawLine(b[7], b[1])
    drawLine(b[7], b[3])
    drawLine(b[7], b[5])

    turtle.done()


if __name__ == '__main__':
    main()

    pass

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
四喵四喵

这是抄的吧,证据喵o.cn/community/172854,代码都一模一样

点赞0


评论


code猫的code猫的

import turtle

def drawLine(p1, p2, size=3, color="black"):
    turtle.penup()
    turtle.goto(p1)
    turtle.pensize(size)
    turtle.pencolor(color)
    turtle.pendown()
    turtle.goto(p2)

def main():
    # 定义超立方体的两个部分
    upper_points = [
        [120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50],
        [-50, -20.71], [50, -20.71], [20.71, 50], [-20.71, 50]
    ]
    
    lower_points = [
        [120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50],
        [-50, -120.71], [50, -120.71], [20.71, -50], [-20.71, -50]
    ]

    # 绘制点
    turtle.pencolor("red")
    turtle.penup()
    for point in upper_points + lower_points:
        turtle.goto(point)
        turtle.dot(10, "red")

    # 绘制六边形直线
    for i in range(6):
        drawLine(upper_points[i], upper_points[i + 1])
        drawLine(lower_points[i], lower_points[i + 1])
    drawLine(upper_points[6], upper_points[0])
    drawLine(lower_points[6], lower_points[0])

    # 绘制竖直线
    for p1, p2 in zip(upper_points, lower_points):
        drawLine(p1, p2)

    # 绘制斜线
    for i in [6, 7]:
        drawLine(upper_points[i], upper_points[0])
        drawLine(upper_points[i], upper_points[2])
        drawLine(upper_points[i], upper_points[4])
        drawLine(lower_points[i], lower_points[0])
        drawLine(lower_points[i], lower_points[2])
        drawLine(lower_points[i], lower_points[4])
        
        drawLine(upper_points[i], upper_points[1])
        drawLine(upper_points[i], upper_points[3])
        drawLine(upper_points[i], upper_points[5])
        drawLine(lower_points[i], lower_points[1])
        drawLine(lower_points[i], lower_points[3])
        drawLine(lower_points[i], lower_points[5])

    turtle.done()

if __name__ == '__main__':
    main()

点赞1


评论


Sunset_你IE但暑假开桂企图码字版Sunset_你IE但暑假开桂企图码字版

肝估计都要没了

点赞0


评论