求两个向量的夹角_数量积和向量积的公式

求两个向量的夹角_数量积和向量积的公式如图所示,我们要计算任意两个向量之间的夹角。(图中的坐标数字是估计值,随手给定)python代码如下importmathAB=[1,-3,5,-1]CD=[4,1,4.5,4.5]EF=[2,5,-2,6]PQ=[-3,-4,1,-6]defangle(v1,v2):dx1=v1[2]-v1[0]dy1=v1[3]-v1[1]dx2=v2[2]-v2[…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

如图所示,我们要计算任意两个向量之间的夹角。

(图中的坐标数字是估计值,随手给定)

求两个向量的夹角_数量积和向量积的公式

python代码如下

import math

AB = [1,-3,5,-1]

CD = [4,1,4.5,4.5]

EF = [2,5,-2,6]

PQ = [-3,-4,1,-6]

def angle(v1, v2):

dx1 = v1[2] – v1[0]

dy1 = v1[3] – v1[1]

dx2 = v2[2] – v2[0]

dy2 = v2[3] – v2[1]

angle1 = math.atan2(dy1, dx1)

angle1 = int(angle1 * 180/math.pi)

# print(angle1)

angle2 = math.atan2(dy2, dx2)

angle2 = int(angle2 * 180/math.pi)

# print(angle2)

if angle1*angle2 >= 0:

included_angle = abs(angle1-angle2)

else:

included_angle = abs(angle1) + abs(angle2)

if included_angle > 180:

included_angle = 360 – included_angle

return included_angle

ang1 = angle(AB, CD)

print(“AB和CD的夹角”)

print(ang1)

ang2 = angle(AB, EF)

print(“AB和EF的夹角”)

print(ang2)

ang3 = angle(AB, PQ)

print(“AB和PQ的夹角”)

print(ang3)

ang4 = angle(CD, EF)

print(“CD和EF的夹角”)

print(ang4)

ang5 = angle(CD, PQ)

print(“CD和PQ的夹角”)

print(ang5)

ang6 = angle(EF, PQ)

print(“EF和PQ的夹角”)

print(ang6)

结果为

AB和CD的夹角

55

AB和EF的夹角

139

AB和PQ的夹角

52

CD和EF的夹角

84

CD和PQ的夹角

107

EF和PQ的夹角

169

以上这篇Python 计算任意两向量之间的夹角方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189607.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 上午9:18
下一篇 2026年3月12日 上午9:22


相关推荐

  • 如何申请调用Claude API及获取API Key秘钥

    如何申请调用Claude API及获取API Key秘钥

    2026年3月16日
    2
  • linux fork函数浅析

    linux fork函数浅析

    2021年12月5日
    77
  • 智能家居产业链分析

    智能家居产业链分析“一盘散沙,各自为营”是目前国内智能家居产业生态的真实写照。从地域上来看,北京、华南地区比较活跃。北京高校、科研院所云集,具备雄厚的科技力量优势,华南地区的中小企业多,也较为活跃。“这也和十几年前一样,智能家居这块目前还是小企业更为活跃,大企业在等待时机。”广东华南家电研究院院长孙颖楷向记者表示。“从传统的家具行业角度划分,上游是元器件厂商,如传感器、芯片等;中游是控制器和控制软件

    2022年6月22日
    43
  • 深度解析xxl-rpc之RPC原理

    深度解析xxl-rpc之RPC原理一.什么是RPC?RPC(remoteprocesscall),中文是远程过程调用的意思。怎么理解这个远程过程调用呢?可以这样理解,可以与本地的过程调用对比下,本地过程调用,也就是调用函数或者是调用方法,比如说,在单体架构中,我们要根据用户的id获取订单信息,我们就需要找到订单service,调用getOrderInfoById(Stringid)这个方法,这个调用动作这就是本地过程调…

    2025年6月19日
    4
  • case label does not reduce to_class not loaded

    case label does not reduce to_class not loadedClassCastException出现原因解决办法出现原因抛出以指示代码已尝试将对象强制转换为它不是实例的子类。例如,以下代码生成一个ClassCastException:对象x=新整数(0);System.out.println((String)x);解决办法这种异常我也不知道有什么能够完全解决的办法,但是可以同instanseof来避免例如:Pet宠物类   Dog狗狗类(继承Pet)  Penguin企鹅类(继承Pet)  Dogdog=(Dog)pet

    2025年10月9日
    5
  • 浅析MyBatis的动态代理原理[通俗易懂]

    浅析MyBatis的动态代理原理[通俗易懂]前言一直以来都在使用MyBatis做持久化框架,也知道当我们定义XXXMapper接口类并利用它来做CRUD操作时,Mybatis是利用了动态代理的技术帮我们生成代理类。那么动态代理内部的实现细节到底是怎么的呀?XXXMapper.java类和XXXMapper.xml到底是如何关联起来的呀?本篇文章就来详细剖析下MyBatis的动态代理的具体实现机制。MyBatis的核心组件及应用在详细探究MyBatis中动态代理机制之前,先来补充一下基础知识,认识一下MyBatis的核心组件。SqlSessio

    2022年8月9日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号