当前位置: 首页 > wzjs >正文

301的网站用什么来做西乡专业做网站公司

301的网站用什么来做,西乡专业做网站公司,网站制作com cn域名有什么区别,手机网站制作app欧拉角与法向量之间的相互转换(附代码) 一、 欧拉角的定义1. 基本概念2. 旋转轴与顺序3. 万向锁(Gimbal Lock) 二、 欧拉角与旋转矩阵的转换(XYZ顺序)1. 欧拉角 → 旋转矩阵(外旋)2.…

欧拉角与法向量之间的相互转换(附代码)

  • 一、 欧拉角的定义
    • 1. 基本概念
    • 2. 旋转轴与顺序
    • 3. 万向锁(Gimbal Lock)
  • 二、 欧拉角与旋转矩阵的转换(XYZ顺序)
    • 1. 欧拉角 → 旋转矩阵(外旋)
    • 2. 旋转矩阵 → 欧拉角(XYZ顺序)
  • 三、法向量转欧拉角(XYZ顺序)
  • 四、欧拉角转法向量(XYZ顺序)
  • 五、代码实现(python)

一、 欧拉角的定义

1. 基本概念

欧拉角是描述三维空间中物体姿态的三个角度参数,通过绕三个正交坐标轴的连续旋转来唯一确定物体的方向。其核心思想是 将复杂的三维旋转分解为三个独立的单轴旋转。顺序不同会导致不同的结果。
典型应用:机器人运动学、飞行器导航、三维图形渲染。

2. 旋转轴与顺序

常见旋转顺序:

  • ZYX(偏航Yaw→俯仰Pitch→横滚Roll):常用于无人机、机器人。
  • XYZ:常见于计算机图形学。
  • ZYZ:用于机械臂和分子动力学。

内旋(Intrinsic)与外旋(Extrinsic):

  • 内旋:绕物体自身旋转后的坐标系旋转。
  • 外旋:绕固定世界坐标系旋转。

3. 万向锁(Gimbal Lock)

  • 问题:当中间旋转角为±90°时,第一轴和第三轴对齐,丢失一个自由度。
  • 解决方法:使用四元数或旋转矩阵替代欧拉角。

二、 欧拉角与旋转矩阵的转换(XYZ顺序)

1. 欧拉角 → 旋转矩阵(外旋)

绕X轴旋转α:
最终旋转矩阵(外旋):

R=Rx⋅Ry ⋅Rz

2. 旋转矩阵 → 欧拉角(XYZ顺序)

设旋转矩阵元素为 R ij,计算步骤:

在这里插入图片描述

三、法向量转欧拉角(XYZ顺序)

法向量(如物体表面朝向)可视为旋转后的Z轴方向。通过构建正交坐标系并分解出XYZ欧拉角。
具体步骤:
1.归一化法向量:
2.构建正交坐标系:

  • 新Z轴:法向量

  • 临时参考轴(如Y轴):若法向量与原Y轴重合,改用X轴。

  • 计算新X轴: 在这里插入图片描述

  • 计算新Y轴:在这里插入图片描述

3.构造旋转矩阵: 在这里插入图片描述

4.分解欧拉角: 使用旋转矩阵→欧拉角的方法(XYZ顺序)

四、欧拉角转法向量(XYZ顺序)

通过欧拉角生成旋转矩阵,提取旋转后的Z轴方向即为法向量。
具体步骤:

  • 生成旋转矩阵:按XYZ顺序计算外旋矩阵。 R=Rx (α)⋅Ry (β)⋅Rz (γ)(α,β,γ为对应欧拉角)
  • 提取法向量:旋转矩阵的第三列即为旋转后的Z轴方向。

五、代码实现(python)

代码功能:输出平面法向量,可输出 1、对应单位法向量,2、由该单位法向量求出的欧拉角(XYZ顺序),3、由求出的欧拉角重新求其单位法向量

import numpy as np 
from scipy.spatial.transform import Rotation def normal_to_euler_and_back(normal):"""输入平面法向量,输出单位向量、欧拉角(XYZ顺序,角度制),并通过欧拉角重新计算单位向量:param normal: 法向量(需满足ax+by+cz+d=0中的c=-1):return: 单位法向量、欧拉角(角度)、重构的单位向量"""# Step 1: 归一化法向量normal = np.array(normal)unit_normal = normal / np.linalg.norm(normal)# Step 2: 构建旋转矩阵target_z = unit_normal# 定义临时参考轴(避免与法向量共线)temp_x = np.array([1, 0, 0]) if not np.allclose(target_z, [1, 0, 0]) else np.array([0, 1, 0])# 计算新的Y轴(正交化)new_y = np.cross(target_z, temp_x)new_y /= np.linalg.norm(new_y)# 计算新的X轴new_x = np.cross(new_y, target_z)# 构建旋转矩阵rotation_matrix = np.column_stack([new_x, new_y, target_z])# Step 3: 转换为欧拉角(XYZ顺序,角度制)rotation = Rotation.from_matrix(rotation_matrix)euler_angles_deg = rotation.as_euler('xyz', degrees=True)  # 直接输出角度# Step 4: 从欧拉角(角度制)重构旋转矩阵并提取法向量reconstructed_rotation = Rotation.from_euler('xyz', euler_angles_deg, degrees=True)reconstructed_matrix = reconstructed_rotation.as_matrix()reconstructed_normal = reconstructed_matrix[:, 2]  # 第三列为Z轴方向return unit_normal, euler_angles_deg, reconstructed_normal# 示例测试
normal = np.array([7, 4, -1])  # 输入法向量(c=-1)
unit_normal, euler_angles_deg, reconstructed_normal = normal_to_euler_and_back(normal)print("单位法向量:", unit_normal)
print("欧拉角(角度,XYZ顺序):", euler_angles_deg)
print("重构的单位法向量:", reconstructed_normal)

文章转载自:

http://ZQdMblLC.hpyfg.cn
http://w0Eq1avh.hpyfg.cn
http://nO1j6h3T.hpyfg.cn
http://MO8AbxL9.hpyfg.cn
http://Wg6L7MZP.hpyfg.cn
http://XnSQkmEz.hpyfg.cn
http://kRcCR13A.hpyfg.cn
http://7mmdXQct.hpyfg.cn
http://hsKye6Zf.hpyfg.cn
http://7hCmQtuU.hpyfg.cn
http://s8JNQFCB.hpyfg.cn
http://MgIkWYxy.hpyfg.cn
http://aBIjOpW1.hpyfg.cn
http://he8NpRDU.hpyfg.cn
http://Typxdl1g.hpyfg.cn
http://VxN2QjQJ.hpyfg.cn
http://Xc0K9rt6.hpyfg.cn
http://e7FSDvrt.hpyfg.cn
http://e37fypTn.hpyfg.cn
http://b1Zc1dJl.hpyfg.cn
http://Uz4Ru0sy.hpyfg.cn
http://hjOUioWA.hpyfg.cn
http://gjdr6rfk.hpyfg.cn
http://245SzaHp.hpyfg.cn
http://qNQ6agu0.hpyfg.cn
http://Q4zI5dKG.hpyfg.cn
http://zBtCGJaW.hpyfg.cn
http://JKHLLm1M.hpyfg.cn
http://JDIzNsQH.hpyfg.cn
http://7r39AT6M.hpyfg.cn
http://www.dtcms.com/wzjs/698945.html

相关文章:

  • 茂名网站建设服务网易手游开服表
  • 大数据网站建设wordpress导航类网站
  • 网站建设完整代码延寿县建设银行网站
  • 广州外贸网站建设开发推广软文是什么
  • 做基因互作的网站卖文具的网站建设
  • 药品在网站上做标签有哪些分类美丽乡村建设网站
  • 网站编辑转行做文案asp论坛网站源码
  • 网站建设资金的请示宣传推广方案
  • 贵阳网站制作费用网站关键词多长
  • 手机把网站做成软件有哪些郑州市建设网
  • 长春网站建设机构购物网站成品
  • 建设网站得多少钱建设彩票网站多少钱
  • 怎么做网站卖保险server2012 wordpress
  • 卫生系统网站的建设和维护wordpress知更鸟博客主题
  • 这么做简单的网站湛江网站建设方案咨询
  • 凡科建站网站建设网站运行团队建设
  • 农业企业网站建设seo推广优化多少钱
  • php网站开发软件是什么软件 开发公司
  • 手机网站免费做推广校园 网站建设 知乎
  • 网站开发工作室简介内蒙古兴泰建设集团信息化网站
  • 自己做电影资源网站荣欣建设集团有限公司网站
  • 做网站版头图片40平米服装店装修效果图
  • 织梦 电影网站 模板创新的常州网站建设
  • 西宁手机微网站爱站网关键词挖掘
  • 绍兴以往网站招工做公司网站建设费
  • 建设网站个人简介范文wordpress调用所有的标签
  • 电子商务网站建设是学什么软件天空彩票网站怎么做
  • 国内免费空间可以做什么网站网站被篡改怎样做
  • 衡东网站制作国家信用信息公示系统河北
  • 室内设计公司免费网站金华网站制作企业