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

求两个向量的夹角_数量积和向量积的公式如图所示,我们要计算任意两个向量之间的夹角。(图中的坐标数字是估计值,随手给定)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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 顶级域名 一级域名 二级域名 三级域名划分「建议收藏」

    顶级域名 一级域名 二级域名 三级域名划分「建议收藏」域是分层管理的,就像中国的行政级别。最高层的域是根域(root)".",就是一个点,它就像国家主席一样。全球只有13个根域服务器,基本上都在美国,中国一台根域服务器都没有。根域的下一层就是第二层次的顶级域(TLD)了,那么它就是各省省长了。顶级域一般两种划分方法:按国家划分和按组织性质划分。◇按国家划分:.cn(中国)、.tw(台湾)、.hk(香港)。基本都是两个字母的。◇按组…

    2022年5月15日
    230
  • ThreadPoolExecutor创建线程池[通俗易懂]

    ThreadPoolExecutor创建线程池[通俗易懂]java实现上传下载功能

    2022年10月1日
    1
  • 复制粘贴不到远程桌面_设置服务器复制粘贴

    复制粘贴不到远程桌面_设置服务器复制粘贴在远程服务器上打开任务管理器,在进程里面找到rdpclip进程(或者剪贴板监视器),点击“结束进程”打卡DOS命令符,输入rdpclip后,确认,从新打开远程剪贴服务。

    2022年8月19日
    10
  • Xna中利用Slimdx绘制中文

    Xna中利用Slimdx绘制中文国外网站看到的 在这分享给大家 http teamessell shiftarch com sixfont SIXFONT SlimDXinXNAF isawrapperth Itisopensour Itiscomplete

    2025年9月21日
    3
  • SheetJS—(js-xlsx)

    SheetJS—(js-xlsx)SheetJS的使用(js-xlsx)使用纯前端的方式实现对excel表格的读取和导出功能github地址:https://github.com/SheetJS/js-xlsx学习地址:https://www.jianshu.com/p/74d4059403051.导入功能实现下载js-xlsx到dist复制出xlsx.full.min.js引入到页面中然后通过File…

    2025年6月18日
    2
  • wait(),notify(),notifyAll()_多线程wait和sleep

    wait(),notify(),notifyAll()_多线程wait和sleep前言在上一篇中,我们介绍了Java中的线程的基本概念,我们了解到线程是有很多种状态的,本章,我们就来聊聊线程中的状态是如何进行控制与切换的。Java中提供了很多种方法对线程的状态进行控制以及线程之间的通信,包括wait、notify、notifyAll、sleep,下面我们就来看一下它们之间有什么区别,以及如何使用这些方法进行线程状态的控制与通信。线程之间的通信在Java中可以用w…

    2025年10月6日
    4

发表回复

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

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