首页 > 其他分享 >箭头旋转+正弦波

箭头旋转+正弦波

时间:2024-11-10 19:08:31浏览次数:1  
标签:ax2 set angle 正弦波 旋转 箭头 ax1 np data

image


import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle, FancyArrowPatch
from matplotlib.animation import FuncAnimation

# 创建一个新图和两个坐标轴
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))

# 设置坐标轴的等比例,确保圆圈是正圆
ax1.set_aspect('equal')
ax2.set_aspect('auto')

# 限制坐标轴的范围
ax1.set_xlim(-1.5, 1.5)
ax1.set_ylim(-1.5, 1.5)
ax2.set_xlim(0, 2 * np.pi)
ax2.set_ylim(-1.5, 1.5)

# 设置坐标轴标签
ax1.set_xlabel('X axis')
ax1.set_ylabel('Y axis')
ax2.set_xlabel('Angle (radians)')
ax2.set_ylabel('Amplitude')

# 设置标题
ax1.set_title('Rotating Arrow')
ax2.set_title('Sine Wave')

# 绘制一个圆圈
circle = Circle((0, 0), 1, color='blue', fill=False)
ax1.add_patch(circle)

# 初始化箭头的参数
arrow = FancyArrowPatch((0, 0), (1, 0), color='red', mutation_scale=20, arrowstyle='->', lw=3)
ax1.add_patch(arrow)

# 初始化正弦波的线
x_data, y_data = [], []
line, = ax2.plot(x_data, y_data, 'r-', label='sin(ωt)')

# 添加图例
ax2.legend()

# 初始化角度
angle = 0

# 更新函数,用于动画
def update(frame):
    global angle, x_data, y_data
    angle += 0.05  # 每次旋转0.05弧度
    if angle > 2 * np.pi:  # 如果角度超过2π,则重置角度
        angle = 0
        x_data, y_data = [], []  # 重置数据
    # 更新箭头的位置
    arrow.set_positions((0, 0), (np.cos(angle), np.sin(angle)))
    # 更新正弦波的数据
    x_data.append(angle)
    y_data.append(np.sin(angle))
    line.set_data(x_data, y_data)
    return arrow, line,

# 创建动画
ani = FuncAnimation(fig, update, frames=np.arange(0, 360), interval=50, blit=True, repeat=True)

# 显示图形
plt.show()

标签:ax2,set,angle,正弦波,旋转,箭头,ax1,np,data
From: https://www.cnblogs.com/redufa/p/18538327

相关文章

  • Open3D (C++) 旋转矩阵转欧拉角公式推导及过程实现
    目录一、概述1.1原理1.2实现步骤1.3应用场景1.4注意事项二、关键函数2.1头文件2.2主要函数三、完整代码三、结果展示一、概述  将旋转矩阵转换为欧拉角是逆向理解三维对象姿态的一种方法。旋转矩阵是一个3x3的正交矩阵,它描述了在三维空......
  • PCL 旋转矩阵转欧拉角
    目录一、概述1.1原理1.2实现步骤1.3应用场景1.4注意事项二、关键函数2.1头文件2.2主要函数三、完整代码三、结果展示内容抄自CSDN点云侠:【2024最新版】PCL点云处理算法汇总(C++长期更新版)。质量无忧,永久免费,可放心复制粘贴。一、概述  将旋转矩阵转换为......
  • php imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
    一个可以供PHP调用ImageMagick功能的PHP扩展。使用这个扩展可以使PHP具备和ImageMagick相同的功能。ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF,JPEG,GIF,PNG,PDF以及PhotoCD等格式。利用Image......
  • LeetCode100之旋转图像(48)--Java
    1.问题描述  给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转90度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。        示例1输入:matrix=[[1,2,3],[4,5,6],[7,8,9]]......
  • 代码随想录算法训练营第九天|LeetCode151.翻转字符串里的单词、卡码网:55.右旋转字符串
    前言打卡代码随想录算法训练营第49期第九天︿( ̄︶ ̄)︿首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。今日题目LeetCode151翻转字......
  • 京东创作平台旋转验证码识别
    昨天京东创作平台验证码又更新了,变成了这种旋转验证码。经过我们一天的努力,终于完成了这款验证码的数据标记,模型训练。现在正确率达到了几乎100%。识别代码只需要获取图片链接,下载图片得到原图,使用下面代码就可以识别角度,然后根据角度计算滑动距离,就可以自动完成验证impor......
  • 四元数转旋转矩阵
    目录1原理介绍2详细的数学公式推导推导过程3流程4示例代码        将四元数转换为旋转矩阵是几何计算中常见的操作。四元数是一种用于表示三维旋转的数学结构,具有避免万向节死锁(GimbalLock)问题、计算效率高等优点。旋转矩阵则是线性代数中的工具,适用于旋转......
  • 旋转矩阵转轴角
    目录1原理介绍2数学公式推导计算旋转角度θ:计算旋转轴v:特殊情况处理3流程4示例代码        将旋转矩阵转换为轴角表示是计算机图形学、机器人学以及物理仿真中的一个基本操作。旋转矩阵是一个3x3的正交矩阵,用于描述坐标系的旋转,而轴角表示由一个单位旋转......
  • 绞尽脑汁终于搞定/天地图标注点marker旋转/任意角度旋转/无需引入其他框架
    一、前言说明在其他地图组件中,标注点marker都是可以设置旋转角度的,这个功能其实非常实用,比如飞机移动轨迹,就是需要旋转飞机头飞行,轮船轨迹移动也是,百度地图和腾讯地图是通过调用setRotation函数设置,高德地图是setAngle,唯独天地图没有提供对应接口,找遍了文档和源码,也没有找到对应......
  • 京东创作平台旋转验证码识别
     昨天京东创作平台验证码又更新了,变成了这种旋转验证码。经过我们一天的努力,终于完成了这款验证码的数据标记,模型训练。现在正确率达到了几乎100%。识别代码只需要获取图片链接,下载图片得到原图,使用下面代码就可以识别角度,然后根据角度计算滑动距离,就可以自动完成验证imp......