计算机图形学中向量相关知识chuizhi

一、向量加法

  • 平行四边形法则

两个向量统一起点,构成平行四边形,对角线为向量加和的结果

  • 三角形法则

两个向量尾首相连,从a起点连接到b终点,为向量加法的结果

多向量首尾相连的加法结果为第一个向量的起点到最后一个向量的终点

二、向量减法运算

向量同起点,连接两个向量的终点,指向被减数就是减法的值

三、向量点乘

  • 向量点乘,也称内积,结果是一个标量,结果是两个向量的x、y、z位置分别相乘后相加的结果。向量a(ax,ay,az)和向量b(bx,by,bz)点乘的结果是 ax * bx + ay * by + az * bz
  • 向量点乘也可以用长度和夹角表示,其中ang为两个向量的夹角。a.b = |a| * |b| * cos(ang)

如何证明这两个公式结果是相等的呢?

向量点乘的运算性质

交互率:a.b = b.a

结合律:a.(b + c) = a.b + a.c

分配律:k*(a.b) = a.(k * b) = (k * a).b // 其中k是实数

向量点乘的应用

1.  计算投影向量和投影向量的长度

2. 计算两个向量是否同向

四、向量的叉乘

叉乘结果和叉乘顺序有关

  • (二维)向量a(ax,ay)和向量b(bx,by)叉乘结果为一个标量:ax * by - ay * ax,所以叉乘结果和叉乘顺序有关
  • (三维)向量a(ax,ay,az)和向量b(bx,by,bz)叉乘结果为一个三位向量:(ay * bz - by * az,az * bx - bz * ax,ax * by - bx * ay)
  • (三维)两个向量叉乘结果为同时垂直于两个向量的第三个向量,即垂直于两个向量所在的平面的向量,所以叉乘可以求法向量
  • |a 叉乘 b| = |a||b|sin(ang)
  • 叉乘的结果满足右手螺旋法则

叉乘运算性质

a 叉乘 b = - b叉乘 a

a 叉乘 a = 0

(k * a)叉乘 b = k * (a 叉乘 b)

a 叉乘 (b + c) = (a 叉乘 b) + (a 叉乘 c)

叉乘的应用

1. 求三角形面积

2. 判断点在三角形内部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/284.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

私有化视频平台EasyCVR视频汇聚平台接入RTMP协议推流为何无法播放?

私有化视频平台EasyCVR视频汇聚平台兼容性强、支持灵活拓展,平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、平台级联等视频能力。 有用户反馈,项目现场使用RTMP协议接入EasyCVR平台,但是视频却不…

【教程】Git 标准工作流

目录 前言建仓,拉仓,关联仓库修改代码更新本地仓库,并解决冲突提交代码,合入代码其他常用 Git 工作流删除本地仓库和远程仓库中的文件日志打印commit 相关 前言 Git 是日常开发中常用的版本控制工具,配合代码托管仓库…

VMware workstation的3种网络类型

虚拟机想要和主机进行通信必须借助网桥或者交换机,VMware workstation提供了3种网络交换机:仅主机类型交换机、NAT类型交换机、桥接类型交换机。 介绍下这三种类型的交换机 仅主机类型 通过VMware workstation添加一个仅主机类型的虚拟交换机后&#…

【RAG】自动化RAG框架-“AutoML风”卷到了RAG?

AutoML(自动机器学习)是指通过自动化过程,简化机器学习模型的开发、训练和优化,使非专业用户也能有效地构建高性能模型。 今天分享的自动RAG框架,该框架能够自动识别给定数据集的合适RAG模块。自动RAG探索并近似数据集…

Qt/C++地图雷达扫描/动态扇形区域/标记线实时移动/轮船货轮动态轨迹/雷达模拟/跟随地图缩放

一、前言说明 地图雷达扫描的需求场景也不少,很多人的做法是直接搞个覆盖层widget,在widget上绘制雷达,优缺点很明显,优点是性能高,毕竟直接在widget上绘制性能明显比js中绘制要高,缺点是要么动态计算经纬…

CodeS:构建用于文本到 SQL 的开源语言模型

发布于:2024 年 10 月 29 日 #RAG #Text2 SQL #NL2 SQL 语言模型在将自然语言问题转换为 SQL 查询(文本到 SQL )的任务中显示出良好的性能。然而,大多数最先进的 (SOTA) 方法都依赖于强大但闭源的大型语言…

新一代Webshell管理器

工具介绍 游魂是一个开源的Webshell管理器,提供更为方便的界面和更为简单易用的功能,可配合或代替其他webshell管理器,帮助用户在各类渗透场景中控制目标机器。游魂不仅支持常见的一句话webshell以及常见Webshell管理器的功能,还…

SQL 常用语句

目录 我的测试环境 学习文档 进入数据库 基础通关测验 语句-- 查 展示数据库; 进入某个数据库; 展示表: 展示某个表 desc 查询整个表: 查询特定列: 范围查询 等于特定值 不等于 介于 特定字符查询 Li…

pycharm小游戏飞机射击

导入pygame模块 下载成功 图片略显粗糙 python 复制 import pygame import random # 初始化 pygame pygame.init() # 屏幕大小 SCREEN_WIDTH 800 SCREEN_HEIGHT 600 # 颜色 WHITE (255, 255, 255) BLACK (0, 0, 0) GREEN (0, 255, 0) RED (255, 0, 0) # 飞机速度 P…

ELK实现加载多个配置日志文件

服务器准备3台133为ELS存储服务器,135为Kibana前台显示收集服务器,136为logstash客户端 打开136logstash配置pipelines.yml文件path.config:配置模块 打开136的logstash.yml配置文件 在136服务器上查看logstash配置文件 需要将mysql_log.conf和nginx_log…

深入理解Redis的四种模式

Redis是一个内存数据存储系统,支持多种不同的部署模式。以下是Redis的四种主要部署模式。 1、单机模式 单机模式是最简单的部署模式,Redis将数据存储在单个节点上。这个节点包括一个Redis进程和一个持久化存储。单机模式非常适合小型应用程序或者开发和…

微服务设计模式 - 断路器模式 (Circuit Breaker Pattern)

微服务设计模式 - 断路器模式 (Circuit Breaker Pattern) 定义 断路器模式(Circuit Breaker Pattern)是云计算和微服务架构中的一种保护性设计模式,其目的是避免系统中的调用链出现故障时,导致系统瘫痪。通过断路器模式&#xff…

【react】基础知识点学习

1. 创建项目 npm install -g create-react-app npx create-react-app my-app cd my-app npm startindex.js为入口文件,App.js为根组件。 如何将react应用挂载在页面上? 将App组件渲染到id为root的DOM元素中 2. JSX JSX是|avaScript和XML(HTML)的缩写…

校园社团信息管理:Spring Boot技术的应用与挑战

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

LeetCode3226题. 使两个整数相等的位更改次数解法二(原创)

我之前文章LeetCode3226题. 使两个整数相等的位更改次数(原创)-CSDN博客对于LeetCode第3226题中给出了解法,后来思考了一下可以用位操作来完成更简洁优雅的实现: 首先计算n和k的异或值m.m中的所有位数中为1的值就是n中为1k中为0&…

Linux:权限的深度解析(进阶)

文章目录 前言一、知识点1. 只有权限的拥有者或root,有权修改自己的权限2. Linux一个文件可执行 这个文件真的能执行 可执行权限3. 身份对比的时候,只依次在user, group, other中比对一次4. 权限的八进制表示与修改🤩🤩&#x1…

网络编程(Day35)

一、学习内容 ip地址的网络字节序转换 函数原型 in_addr_t inet_addr(const char *cp); 返回值 in_addr_t:一个 uint32 数据,该数据是结构体struct in_addr {in_addr_t s_addr;};struct in_addr 是结构体 struct sockaddr_in 中的一个数据 参数描述 参…

Rust 力扣 - 1652. 拆炸弹

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们只需要遍历长度长度为k的窗口&#xff0c;然后把窗口内数字之和填充到结果数组中的对应位置即可 题解代码 impl Solution {pub fn decrypt(code: Vec<i32>, k: i32) -> Vec<i32> {let n c…

【开源免费】基于SpringBoot+Vue.J服装商城系统(JAVA毕业设计)

本文项目编号 T 046 &#xff0c;文末自助获取源码 \color{red}{T046&#xff0c;文末自助获取源码} T046&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 新…

AI虚拟主播实时互动模块的搭建与开发!

AI虚拟主播&#xff0c;作为新兴的数字媒体形式&#xff0c;正在逐步改变我们的娱乐和信息获取方式&#xff0c;它们不仅拥有栩栩如生的外貌&#xff0c;还能通过实时互动模块与用户进行流畅的对话&#xff0c;极大地提升了用户体验。 本文将详细介绍AI虚拟主播实时互动模块的…