m0_72636402 2022-07-09 15:56 采纳率: 100%
浏览 175
已结题

利用Python做一个五角星在平面上滚动

“利用Python做一个五角星在平面上滚动,把其中一定点的轨迹用matplotlib画出来

现只有五角星代码

  • 写回答

4条回答 默认 最新

  • 天元浪子 Python领域优质创作者 2022-07-11 11:03
    关注
    import numpy as np
    import matplotlib.pyplot as plt
    
    r = 1 # 旋转半径
    five_corners = np.linspace(18, 378, 5, endpoint=False) # 五角星初始位置
    rotations = np.linspace(0, 360, 361) # 旋转序列:旋转一周,间隔1°
    x_shift = np.linspace(0, 2*r*np.pi, 361) # 旋转过程中五角星水平位移序列
    theta = np.radians(five_corners.reshape(-1,1) - rotations) # 计算五角星每个角的旋转弧度序列
    x, y = r*np.cos(theta) + x_shift,  r*np.sin(theta) # 计算旋转轨迹上每个角的坐标
    
    plt.plot([x[0][0], x[2][0]], [y[0][0], y[2][0]], color='m', ls='dashed')
    plt.plot([x[0][0], x[3][0]], [y[0][0], y[3][0]], color='m', ls='dashed')
    plt.plot([x[1][0], x[3][0]], [y[1][0], y[3][0]], color='m', ls='dashed')
    plt.plot([x[1][0], x[4][0]], [y[1][0], y[4][0]], color='m', ls='dashed')
    plt.plot([x[2][0], x[4][0]], [y[2][0], y[4][0]], color='m', ls='dashed')
    
    for i in range(5):
        plt.plot(x[i], y[i]) # 绘制5个角的旋转轨迹
    
    plt.axis('equal') # xy轴等比例保持
    plt.show()
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月9日

悬赏问题

  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?