# 如何高效计算矩形底座角点垂直偏移

> 原文链接：https://robotics.hellobike.com/pitfalls/2021-02-10-robotics-se-21769
> 频道：pitfalls | 更新日期：2021-02-10 | 标签：auto, stackexchange, rotation
> 核心摘要：用归一化加速度计重力向量与角点坐标点积，可直接得到世界系 z 坐标，无需构造旋转矩阵。

# 如何高效计算矩形底座角点垂直偏移

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Calculating rotation matrix efficiently](https://robotics.stackexchange.com/questions/21769/calculating-rotation-matrix-efficiently)（Robotics Stack Exchange #21769）

**状态**：已解决

## 问题

提问者用 `ADXL345`、四元数和旋转矩阵计算矩形底座四个角的垂直偏移，想确认在 `Raspberry Pi Pico` 与 `MicroPython` 上是否足够高效。

## 环境

`Raspberry Pi Pico`、`MicroPython`、`ADXL345` 加速度计，安装在矩形底座中心。

## 解决办法

1. 将加速度计测得的重力向量 `a` 归一化为 `â`。
2. 把 `â` 视为机体系到世界系旋转矩阵 `R` 的第三行。
3. 对每个机体系角点坐标 `p^B`，直接计算 `â^T p^B`，即该角点的世界系 `z` 坐标。
4. 若只需要垂直偏移，不必计算四元数、叉积或完整旋转矩阵。

原问题作者：Slicc；采纳答案作者：Alex。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #21769：Calculating rotation matrix efficiently](https://robotics.stackexchange.com/questions/21769/calculating-rotation-matrix-efficiently)