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

二维坐标旋转公式推导

二维坐标旋转公式


一、核心概念

在二维坐标系中,一个点围绕某个旋转中心旋转时,其坐标会发生变化。
旋转可分为两种情况:

  1. 绕坐标原点 (0,0) 旋转
  2. 绕任意点 (cx, cy) 旋转

推导基于三角函数与极坐标的关系。


二、绕原点 (0,0) 旋转

1️⃣ 参数定义

  • 初始点:((x_1, y_1))
  • 旋转后点:((x_2, y_2))
  • 点在极坐标下:((p_1, \alpha_1))
  • 旋转角度:(b)

有:
[
x_1 = p_1 \cos \alpha_1, \quad y_1 = p_1 \sin \alpha_1
]
旋转后角度:
[
\alpha_2 = \alpha_1 + b
]


2️⃣ 推导过程

[
x_2 = p_1 \cos(\alpha_1 + b)
= p_1(\cos\alpha_1\cos b - \sin\alpha_1\sin b)
= x_1\cos b - y_1\sin b
]

[
y_2 = p_1 \sin(\alpha_1 + b)
= p_1(\sin\alpha_1\cos b + \cos\alpha_1\sin b)
= y_1\cos b + x_1\sin b
]


✅ 最终公式(绕原点旋转)

[
\boxed{
\begin{cases}
x_2 = x_1 \cos b - y_1 \sin b
y_2 = y_1 \cos b + x_1 \sin b
\end{cases}
}
]


三、绕任意点 (cx, cy) 旋转

1️⃣ 参数定义

  • 初始点:((x_1, y_1))
  • 旋转中心:((c_x, c_y))
  • 旋转角度:(b)
  • 相对偏移:
    [
    dx_1 = x_1 - c_x, \quad dy_1 = y_1 - c_y
    ]

2️⃣ 推导过程

相对坐标旋转:
[
\begin{cases}
dx_2 = dx_1\cos b - dy_1\sin b
dy_2 = dy_1\cos b + dx_1\sin b
\end{cases}
]

再加上旋转中心坐标:
[
\begin{cases}
x_2 = c_x + (x_1 - c_x)\cos b - (y_1 - c_y)\sin b
y_2 = c_y + (y_1 - c_y)\cos b + (x_1 - c_x)\sin b
\end{cases}
]


✅ 最终公式(绕任意点旋转)

[
\boxed{
\begin{cases}
x_2 = c_x + (x_1 - c_x)\cos b - (y_1 - c_y)\sin b
y_2 = c_y + (y_1 - c_y)\cos b + (x_1 - c_x)\sin b
\end{cases}
}
]


四、几何意义与应用

情况 旋转中心 特征 应用场景
绕原点旋转 (0,0) 简单、对称 图形整体旋转、坐标变换
绕任意点旋转 (cx, cy) 含中心偏移项 图像旋转、仿射变换、点云变换

五、记忆技巧

  1. 原点旋转公式 是最基础模板。

  2. 任意点旋转 可理解为:

    • 先平移点 → 让旋转中心移到原点;
    • 再按原点公式旋转;
    • 最后平移回原位置。
  3. 旋转方向通常按逆时针为正角度,可根据需要取反。


📌 一句话总结:

绕原点旋转:坐标直接乘旋转矩阵;
绕任意点旋转:平移 → 旋转 → 逆平移。

http://www.rkmt.cn/news/26756.html

相关文章:

  • 云计算简单算法练习题
  • Java三大特性
  • 高级程序设计第二次作业
  • 10月21日日记
  • idea快捷键和注释、关键字、数据类型
  • Windows版本的Emacs如何选择字体(Linux也一样,KIMI)
  • 理想婚姻
  • 蛋白表达技术概述
  • 二叉树的中序遍历- 递归原理 - MKT
  • 二叉树的中序遍历- 递归和栈 - MKT
  • 友链测试
  • English writing practice in diary.
  • 以此文记我的国漫生活
  • 接下来的目标
  • 敬启,致那时的我
  • 清楚标签默认样式,内容溢出盒子时的处理
  • 用 大模型 和 Gradio 构建一个 AI 反向词典
  • 1279. 红绿灯路口
  • python概念详解
  • 用户消费行为数据分析(随笔)
  • 「LG6596-How Many of Them」题解
  • 骗我呢
  • 手搓文件管理系统(持续开发中)
  • AGC001~030 合集
  • AGC 合集 1.0
  • 深入BERT内核:用数学解密掩码语言模型的工作原理
  • [论文笔记] Precision-Guided Context Sensitivity for Pointer Analysis
  • 朋友圈文案不会写?这个AI指令可能帮得上忙
  • 职责分离的艺术:剖析主从Reactor模型如何实现极致的并发性能
  • 数学题刷题记录(数学、数论、组合数学)