【python】坐标轴上一点绕原点旋转指定角度后点的坐标

原理:

图像中某点绕点旋转后的坐标,图像旋转坐标位置
计算绕原点旋转某角度后的点的坐标

实现

import math

# 顺时针旋转
def cw_rotate(x, y, ang):
    ang = math.radians(ang)     # 将角度转换成弧度
    # 用round()保留5位小数
    new_x = round(x * math.cos(ang) + y * math.sin(ang), 5)
    new_y = round(-x * math.sin(ang) + y * math.cos(ang), 5)
    return new_x, new_y

# 逆时针旋转
def ccw_rotate(x, y, ang):
    ang = math.radians(ang)     # 将角度转换成弧度
    # 用round()保留5位小数
    new_x = round(x * math.cos(ang) - y * math.sin(ang), 5)
    new_y = round(x * math.sin(ang) + y * math.cos(ang), 5)
    return new_x, new_y
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要计算原点旋转后的坐标,可以使用以下几种方法: 方法一:使用Python的数学库进行计算。可以根据给定的旋转角度坐标,使用逆时针旋转公式或顺时针旋转公式来计算旋转后的坐标。例如,使用逆时针旋转公式可以这样计算: ```python import math def rotate(angle, point): x, y = point angle = math.radians(angle) new_x = x * math.cos(angle) - y * math.sin(angle) new_y = x * math.sin(angle) + y * math.cos(angle) return new_x, new_y ``` 方法二:使用数学公式进行计算。根据给定的旋转角度坐标,可以使用旋转矩阵的方法来计算旋转后的坐标。例如,对于P(x, y)原点逆时针旋转θ角度,可以使用以下公式: ``` x1 = x * cos(θ) - y * sin(θ) y1 = x * sin(θ) + y * cos(θ) ``` 其中,θ为旋转角度,cos和sin为三角函数。 方法三:使用向量运算进行计算。可以将坐标表示为向量形式,然后使用向量旋转的方法来计算旋转后的坐标。例如,对于P(x, y)原点逆时针旋转θ角度,可以使用以下公式: ``` P' = R * P ``` 其中,P为坐标向量,R为旋转矩阵,P'为旋转后的坐标向量。 以上是三种常用的计算原点旋转坐标的方法。具体使用哪种方法取决于你的需求和编程环境。 #### 引用[.reference_title] - *1* [【python坐标轴一点原点旋转指定角度后点坐标](https://blog.csdn.net/iiinoname/article/details/124840539)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Python】opencv图形旋转坐标旋转坐标原点旋转](https://blog.csdn.net/x1131230123/article/details/127555266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [计算原点旋转角度后的坐标](https://blog.csdn.net/u012138730/article/details/80320162)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值