罗德里格斯公式动图演示

article/2025/8/23 19:56:48

一. 罗德里格斯公式形式:

R o t ( ω ^ , θ ) = e [ ω ] ^ × θ = I + s i n θ [ ω ^ ] × + ( 1 − c o s θ ) [ ω ^ ] × 2 Rot(\hat{\bold{\omega}}, \theta)=e^{\hat{\bold{[\omega]}}_{\times} \theta}=\bold{I}+sin\theta[\hat{\bold{\omega}}]_{\times}+(1-cos\theta)[\hat{\bold{\omega}}]_{\times}^2 Rot(ω^,θ)=e[ω]^×θ=I+sinθ[ω^]×+(1cosθ)[ω^]×2

二. 罗德里格斯公式解释:

在一个给定的坐标系 { s } \{s\} {s}下,有一个单位向量的旋转轴 ω \bold{\omega} ω,绕着这个轴旋转 θ \theta θ度的旋转矩阵为 R o t ( ω ^ , θ ) Rot(\hat{\bold{\omega}}, \theta) Rot(ω^,θ),可以使用罗德里格斯公式进行求解。

三. 最终效果

向量 v [3, 4, 5] 绕 k轴 [1, 1, 1] 旋转 180°,效果如下图所示:
在这里插入图片描述

四. 代码

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animationdef rodrigues_rotate(_v, _k, theta):"""使用罗德里格斯公式将向量v绕单位向量k旋转theta弧度:param v: 需要旋转的向量,shape=(3,):param k: 旋转轴单位向量,shape=(3,):param theta: 旋转角度(弧度):return: 旋转后的向量,shape=(3,)"""_v = np.asarray(_v)_v = _v / np.linalg.norm(_v)  # 先归一化输入向量_k = np.asarray(_k)_k = _k / np.linalg.norm(_k)v_rot = (_v * np.cos(theta)+ np.cross(_k, _v) * np.sin(theta)+ _k * np.dot(_k, _v) * (1 - np.cos(theta)))return v_rotdef animate_rodrigues_rotation(_v, _k, _total_theta=np.pi, _frames=100, save_gif=True, gif_path="rodrigues_rotation.gif"):"""绘制向量v绕轴k旋转的动图,并保存为gif:param v: 初始向量:param k: 旋转轴:param total_theta: 总旋转角度(弧度):param frames: 动画帧数:param save_gif: 是否保存为gif:param gif_path: gif保存路径"""_v = np.asarray(_v)_v = _v / np.linalg.norm(_v)  # 先归一化输入向量_k = np.asarray(_k)_k = _k / np.linalg.norm(_k)thetas = np.linspace(0, _total_theta, _frames)vectors = np.array([rodrigues_rotate(_v, _k, theta) for theta in thetas])fig = plt.figure()ax = fig.add_subplot(111, projection="3d")# 自动根据向量和旋转轴范围设置合适的坐标轴范围all_points = np.vstack(([_v], [vectors[-1]], [_k]))max_range = np.max(np.abs(all_points)) * 1.3  # 适当放大for axis in [ax.set_xlim, ax.set_ylim, ax.set_zlim]:axis([-max_range, max_range])ax.set_xlabel("X")ax.set_ylabel("Y")ax.set_zlabel("Z")ax.quiver(0,0,0,_k[0],_k[1],_k[2],color="g",length=1.2,linewidth=2,label="Axis k",)ax.quiver(0,0,0,_v[0],_v[1],_v[2],color="r",length=1.2,linewidth=2,label="start vec",)ax.quiver(0,0,0,vectors[-1][0],vectors[-1][1],vectors[-1][2],color="y",length=1.2,linewidth=2,label="end vec",)vec_quiv = ax.quiver(0,0,0,_v[0],_v[1],_v[2],color="b",length=1.0,linewidth=2,label="Rotating v",)ax.legend()# 用于保存quiver对象quivers = [vec_quiv]def update(num):# 移除上一帧的向量quivers[0].remove()new_v = vectors[num]quivers[0] = ax.quiver(0,0,0,new_v[0],new_v[1],new_v[2],color="b",length=1.0,linewidth=2,)return quivers[0],# 5秒,interval=50ms,则frames=100ani = animation.FuncAnimation(fig, update, frames=_frames, interval=5000//_frames, blit=True)if save_gif:ani.save(gif_path, writer='pillow', fps=_frames//5)print(f"GIF已保存到: {gif_path}")plt.show()if __name__ == "__main__":# 示例:将向量 v [3, 4, 5] 绕 k轴 [1, 1, 1] 旋转 180°v = np.array([3, 4, -5])k = np.array([1, 1, 1])animate_rodrigues_rotation(v, k, _total_theta=np.pi/180*120, _frames=100, save_gif=True, gif_path="rodrigues_rotation.gif")

http://www.hkcw.cn/article/mXkTsTMjoI.shtml

相关文章

多家医院回应药企向上百名医生行贿 调查正在进行中

近日,一则关于某药企被举报向四川多家医院上百名医生行贿的消息引发广泛关注。举报材料中提及了四川省内包括成都市、绵阳市、广安市在内的多个城市的37家医疗机构。达州市第一人民医院工作人员表示,举报信中提到的医生并不在院方员工名单中,且该院去年才成立,往年员工名单…

高密爆炸警钟长鸣:AI为化工安全戴上“智能护盾”

一、高密爆炸:一声巨响,撕开化工安全“伤疤” 2025年5月27日,山东高密友道化学有限公司的车间爆炸声,像一把利刃划破了化工行业的平静。剧烈的冲击波将车间夷为平地,黑色蘑菇云腾空而起,刺鼻的化学气味弥漫…

微软 Azure AI Foundry(国际版)十大重要更新

2025 年被广泛视为 “AI 智能体元年”。在过去半年,微软密集发布众多创新技术,构建起从基础设施层、开发工具层到场景应用层的完整技术矩阵,加速推动诸多具备自主决策能力的 “超级助理” 智能体落地,形成完整的 AI 赋能生态&…

撒贝宁在广东水陆两栖过端午,广东过端午到底有多嗨?

撒贝宁在广东水陆两栖过端午。“龙舟漂移”惊险刺激,荔枝让苏轼灵感迸发,还有机器人参与的赛博端午节……广东过端午到底有多嗨?撒贝宁近日现身佛山叠滘,沉浸式体验龙舟季活动。在蜿蜒狭窄的河道上,他勇敢挑战龙舟漂移,完成高难度C弯动作时,自信高呼粤语有各位大哥在这里…

【HarmonyOS 5】鸿蒙中的UIAbility详解(二)

【HarmonyOS 5】鸿蒙中的UIAbility详解(二) 一、前言 今天我们继续深入讲解UIAbility,根据下图可知,在鸿蒙中UIAbility继承于Ability,开发者无法直接继承Ability。只能使用其两个子类:UIAbility和Extensi…

滚珠导轨:电子制造“纳米级”精度的运动基石

在电子制造与半导体设备追求“微米级工艺、纳米级控制”的赛道上,滚珠导轨凭借高刚性、低摩擦与高洁净特性,成为精密运动系统的核心载体。从芯片封装到晶圆检测,其性能直接定义了设备生产的极限精度与可靠性。滚珠导轨在电子制造与半导体设备…

高端装备制造企业如何选择适配的项目管理系统提升项目执行效率?附选型案例

高端装备制造项目通常涉及多专业协同、长周期交付和高风险管控,因此系统需具备全生命周期管理能力。例如,北京奥博思公司出品的 PowerProject 项目管理系统就是一款非常适合制造企业使用的项目管理软件系统。 国内某大型半导体装备制造企业与奥博思软件达…

MS37549/MS37545三相无感正弦波 BLDC 驱动

产品简述 MS37549 和 MS37545 是无感三相直流电机预驱芯片,采用 正弦波驱动方式,具有低噪声及低震动的特点。 芯片通过一个速度控制脚来控制电机的速度。并且电源电压 可以低到 4V 来适应调整电机的转速。 MS37549 和 MS37545 采用 QFN16 …

TCP协议

有连接,可靠传输,面向字节流 16位源端口号 16位目的端口号 4位首部长度 报头的长度,报头中包含了“选项” optional >可选择的,0 - 15 ,4个字节,TCP 报头的最大长度是 60 字节 保留位(6位…

国标GB28181设备管理软件EasyGBS视频监控平台:社会治安防控的高效解决方案

一、引言​ 随着城市的快速发展和人口的不断增长,社会治安问题日益受到关注。为了有效提升社会治安防控能力,保障人民群众的生命财产安全,视频实时监控系统成为现代城市治理的重要手段之一。EasyGBS作为一款基于GB28181标准的视频监控平台&a…

Spring AI 之对话记忆(Chat Memory)

大型语言模型(LLMs)是无状态的,这意味着它们不会保留关于之前交互的信息。当想在多次交互中保持上下文或状态时,这可能会成为一个限制。为了解决这一问题,Spring AI 提供了对话记忆功能,允许你在与大型语言…

专家:特朗普对待留学生方式很恐怖 审查似抓间谍

专家:特朗普对待留学生方式很恐怖 审查似抓间谍。特朗普政府计划暂停接受国际学生签证面谈预约,并准备扩大审查申请者的社交媒体账号。这可能意味着对部分国家和地区留学生,以及申请特定大学如哈佛、哥伦比亚大学的留学生和访问学者进行更严格的审查,甚至直接拒绝签证。已经…

常见的SQLserver问题排查

前言: 在日常工作中,SQL Server的管理和维护是一个不可或缺的部分,但随之而来的各种问题也不可避免。面对这些问题时,有效地利用SQL Server自带的功能以及借助第三方工具来进行深入的问题诊断分析变得尤为重要。这样做不仅能够帮助…

代码随想录算法训练营第60期第五十一天打卡

大家好,昨天我们结束了动态规划的题目,其实我们可能还没有完全理解那些题目的真正含义,那其实很正常大家多复习几遍就可以了,那我们今天就将开始一个全新的章节,它就是单调栈,那关于什么是单调栈&#xff0…

苹果Siri升级搁浅:轻资产路线受阻 AI竞争暴露短板

据外媒Business Insider报道,谷歌上周高调发布AI视频工具Flow之际,苹果被迫推迟了生成式AI版Siri的核心升级计划。这一突发状况暴露了苹果在技术上的短板:缺乏自研AI芯片、数据中心依赖谷歌设施、训练数据受限于隐私政策。与谷歌25年来构建的12层技术栈相比,苹果自研AI芯片…

RV1126 + FFPEG多路码流项目

代码主体思路&#xff1a; 一.VI,VENC,RGA模块初始化 1.先创建一个自定义公共结构体&#xff0c;用于方便管理各个模块 rkmedia_config_public.h //文件名字#ifndef _RV1126_PUBLIC_H #define _RV1126_PUBLIC_H#include <assert.h> #include <fcntl.h> #include …

Mybatis中的懒加载

目录 基本概念 懒加载的应用场景 如何配置懒加载 全局配置 局部配置 懒加载的工作原理 示例代码 一对一懒加载 一对多懒加载 懒加载的触发条件 懒加载的优缺点 优点&#xff1a; 缺点&#xff1a; 解决N 1查询问题的方法 注意事项 示例 对应sql语句 当只需输…

无人机桥梁3D建模的拍摄频率

无人机桥梁3D建模的拍摄频率 无人机桥梁3D建模的拍摄频率&#xff08;每秒拍摄照片数&#xff09;需根据建模精度、飞行速度、相机性能等因素综合确定。以下是专业级作业的详细参数分析&#xff1a; 1. 核心计算公式 拍摄频率&#xff08;fps&#xff09; \frac{飞行速度&…

AI安全挑战与全球应对:从ComfyUI漏洞谈起

目录 引言&#xff1a;ComfyUI漏洞的警示 一、ComfyUI漏洞 1.1 漏洞类型与影响 1.2 官方处置建议 二、更广泛的AI安全挑战 2.1 快速迭代与安全滞后 2.2 数据隐私与保护 2.3 攻击手段的智能化与规模化 2.4 人才缺口与攻防不均衡 三、全球应对AI安全的努力 3.1 政府与…

天洑软件响应“链主“集结令,亮相“宁工品推“助力南京市产业链协同发展

5月27日&#xff0c;南京市召开“宁工品推”市场拓展供需对接活动暨江宁经济技术开发区专场大会&#xff0c;天洑软件响应"链主"集结令&#xff0c;亮相"宁工品推"大会现场。 大会聚集了行业内多领域杰出代表&#xff0c;通过交流讨论&#xff0c;深度剖析…