09 基变换

基变换

  • 基本概念
  • 坐标转换
    • 詹妮弗坐标系→平面直角坐标系
    • 平面直角坐标系→詹妮弗坐标系
    • 转换对比
    • 基本原则

这是关于3Blue1Brown "线性代数的本质"的学习笔记。

基本概念

对于右手平面直角坐标系,一般用 i ⃗ \vec{i} i j ⃗ \vec{j} j 表示其基向量。当然也可以在平面上另外建一个坐标系,也就是说,选择其他的基向量来对所有向量进行表示。

假设詹妮弗自己建了个新坐标系,把一组基向量表示为 b ⃗ 1 = [ 2 , 1 ] T \vec{b}_{1}=[2,1]^{T} b 1=[2,1]T b ⃗ 2 = [ − 1 , 1 ] T \vec{b}_{2}=[-1,1]^{T} b 2=[1,1]T,这里的坐标值还是在 i ⃗ \vec{i} i j ⃗ \vec{j} j 表示的平面直角坐标系中的取值,在詹妮弗新建的坐标系中, b ⃗ 1 = [ 1 , 0 ] T \vec{b}_{1}=[1,0]^{T} b 1=[1,0]T b ⃗ 2 = [ 0 , 1 ] T \vec{b}_{2}=[0,1]^{T} b 2=[0,1]T,因为它们就是新坐标系的基向量。

不管坐标系怎么建,一个二维平面上的向量,它的长度大小是不变的,只是在不同的坐标系下,其数值表示不同。

比如,一个在平面直角坐标系下向量 [ 3 , 2 ] T [3,2]^{T} [3,2]T,在詹妮弗的坐标系下的数值表示为 [ 5 / 3 , 1 / 3 ] T [5/3,1/3]^{T} [5/3,1/3]T

坐标转换

詹妮弗坐标系→平面直角坐标系

对于詹妮弗坐标系下的一个向量 [ − 1 , 2 ] T [-1,2]^{T} [1,2]T,在平面直角坐标系下取值应该是 [ − 4 , 1 ] T [-4,1]^{T} [4,1]T,计算过程如图1所示。即 − 1 b ⃗ 1 + 2 b ⃗ 2 = [ − 4 , 1 ] T -1\vec{b}_{1}+2\vec{b}_{2}=[-4,1]^{T} 1b 1+2b 2=[4,1]T
在这里插入图片描述

图1 一个向量由詹妮弗坐标系转换到平面直角坐标系

进一步地,把 − 1 b ⃗ 1 + 2 b ⃗ 2 = [ − 4 , 1 ] T -1\vec{b}_{1}+2\vec{b}_{2}=[-4,1]^{T} 1b 1+2b 2=[4,1]T进行改写:

− 1 b ⃗ 1 + 2 b ⃗ 2 = − 1 [ 2 1 ] + 2 [ − 1 1 ] = [ 2 − 1 1 1 ] [ − 1 2 ] = [ − 4 1 ] \begin{aligned} -1\vec{b}_{1}+2\vec{b}_{2} &=-1 \begin{bmatrix} \ 2 \\ \ 1 \\ \end{bmatrix} +2 \begin{bmatrix} \ -1 \\ \ 1 \\ \end{bmatrix} \\ &= \begin{bmatrix} \ 2 & -1 \\ \ 1 & 1 \\ \end{bmatrix} \begin{bmatrix} \ -1 \\ \ 2 \\ \end{bmatrix} \\ &= \begin{bmatrix} \ -4 \\ \ 1 \\ \end{bmatrix} \end{aligned} 1b 1+2b 2=1[ 2 1]+2[ 1 1]=[ 2 111][ 1 2]=[ 4 1]
上式中,矩阵的列代表的是在平面直角坐标系下詹妮弗坐标系的基向量。

直观解释:一个矩阵的列为詹妮弗坐标系的基向量在平面直角坐标系下的坐标,这个矩阵可以看作一个线性变换,它将平面直角坐标系的基向量 i ⃗ = [ 1 , 0 ] T \vec{i}=[1,0]^{T} i =[1,0]T j ⃗ = [ 0 , 1 ] T \vec{j}=[0,1]^{T} j =[0,1]T变换为詹妮弗坐标系下的基向量 b ⃗ 1 = [ 1 , 0 ] T \vec{b}_{1}=[1,0]^{T} b 1=[1,0]T b ⃗ 2 = [ 0 , 1 ] T \vec{b}_{2}=[0,1]^{T} b 2=[0,1]T

这个矩阵就是从詹妮弗坐标系到平面直角坐标系进行转换的转换矩阵。

平面直角坐标系→詹妮弗坐标系

反过来,假设在平面直角坐标系下为 [ 3 , 2 ] T [3,2]^{T} [3,2]T的向量,它在詹妮弗坐标系下取值如何?

这种情况下的转换矩阵就是詹妮弗坐标系到平面直角坐标系进行转换的转换矩阵的逆。
在这里插入图片描述

图2 一个向量由平面直角坐标系转换到詹妮弗坐标系

这两个转换矩阵的关系如图3所示。
在这里插入图片描述

图3 两个转换矩阵的关系

转换对比

在这里插入图片描述

图4 詹妮弗→平面直角

在这里插入图片描述

图5 平面直角→詹妮弗

基本原则

在这里插入图片描述

图6 坐标变换的基本原则
基变换的基本原则如图6所示,即跟踪我们坐标系下的基向量,记录变换(图中是90°旋转)后,该组基向量在我们坐标系下的坐标,得到就是原坐标系到新坐标系的转换矩阵,或称为基变换矩阵。用这个矩阵就可以求出,原坐标系下的向量在新坐标系下的取值。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm 无法登陆 Codeium 的解决方法

PyCharm 登陆 Codeium PyCharm 无法登陆 Codeium 的问题描述PyCharm 使用 token 登陆 Codeium PyCharm 无法登陆 Codeium 的问题描述 使用 PyCharm 登录 Codeium 时,单击 Login 无反应,单击侧边栏的 Codeium 图标也一直显示连接失败。 PyCharm 使用 to…

AI:59-基于深度学习的行人重识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

微服务架构之路3,如何对微服务进行有效的监控?

目录 一、监控对象二、监控指标1、请求量2、响应时间3、错误率4、服务可用性5、资源使用率6、数据库访问量 三、监控维度1、全局维度2、分机房维度3、单机维度4、时间维度 四、监控系统原理1、数据采集2、数据传输3、数据处理4、数据展示 五、总结六、从零开始学架构&#xff1…

用自己的数据集训练YOLO-NAS目标检测器

YOLO-NAS 是 Deci 开发的一种新的最先进的目标检测模型。 在本指南中,我们将讨论什么是 YOLO-NAS 以及如何在自定义数据集上训练 YOLO-NAS 模型。 在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 -…

Ultra:知识图谱推理的基础模型

一、说明 训练单个通用模型来解决任意数据集始终是 ML 研究人员的梦想,尤其是在基础模型时代。虽然这些梦想已经在图像或自然语言等感知领域实现了,但它们是否可以在推理领域(如图形)中再现仍然是一个开放的挑战。 图片由作者根据…

力扣206. 反转链表

题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3:…

微信小程序获取剪切板的内容到输入框中

xml代码 <navigation-bar title"Weixin" back"{{false}}" color"black" background"#FFF"></navigation-bar> <view><input placeholder"请输入内容" name"content" type"text" …

.NET Framework中自带的泛型委托Action

Action<>是.NET Framework中自带的泛型委托&#xff0c;可以接收一个或多个输入参数&#xff0c;但不返回任何参数&#xff0c;可传递至多16种不同类型的参数类型。在Linq的一些方法上使用的比较多。 1、Action泛型委托 .NET Framework为我们提供了多达16个参数的Action…

【Linux】第十站:git和gdb的基本使用

文章目录 一、git的基本操作1.gitee新建仓库注意事项2.git的安装3.git的克隆4.git的add5.git的commit6.git的push7.git log8.git status9. .gitignore 二、Linux调试器---gdb1.背景2.gdb安装、进入与退出3.list/l4.r/run运行程序5. break/b 打断点6.info/i b 查看断点7.delete/…

Linux学习之vim跳转到特定行数

参考的博客&#xff1a;《Vim跳到最后一行的方法》 《oeasy教您玩转vim - 14 - # 行头行尾》 《Linux&#xff1a;vim 中跳到首行和最后一行》 想要跳到特定行的话&#xff0c;可以在命令模式和正常模式进行跳转。要是对于vim的四种模式不太熟的话&#xff0c;可以到博客《Linu…

SRC-用友 ERP-NC NCFindWeb 目录遍历漏洞

漏洞描述 用友ERP-NC 存在目录遍历漏洞&#xff0c;攻击者可以通过目录遍历获取敏感文件信息。 fofa&#xff1a; poc&#xff1a;/NCFindWeb?serviceIPreAlertConfigService&filename 在url处拼接poc后可以看到该站点的目录和文件 访问某个文件 /NCFindWeb?serviceIPre…

UE5——源码阅读——10——引擎预初始化

运行延迟注册委托 初始化堆栈跟踪 检测是否需要覆盖打印时间 检测所必要的插件是否是可用的 获取目标信息 拿到编辑器目标名 检测当前运行的可执行文件是否是正确的 检测项目模块是否有过时和不兼容的 检测插件模块是否有过时和不兼容的 报错误信息 强制通讯 判断是…

代码随想录第四十四天 | 动态规划 完全背包:纯完全背包理论基础(卡码网第52题);应用(注意遍历顺序):组合(518),排列(377)

1、动态规划&#xff1a;完全背包理论基础 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff08;也就是可以放入背包多次&#xff09;&#xff0c;求解将哪些物品装入背包里物品价值总和最大…

lombok依赖介绍(帮助我们消除冗长代码,如get,set方法)

前言 lombok 是一个 Java 工具库&#xff0c;通过注解的方式&#xff0c;简化 Java 开发。要想使用 lombok 中的注解&#xff0c;我们需要先引入依赖&#xff0c;推荐看idea必装插件EditStarters&#xff08;快速引入依赖&#xff09;&#xff0c;lombok是⼀款在编译期⽣成代码…

从公共业务提取来看架构演进——帐号权限篇

1. 引言 在产品业务多元化的过程中&#xff0c;往往会遇到一些与业务发展不匹配的架构问题&#xff0c;这些问题可能会在业务迭代中以性能差、重复开发等形式表现出来&#xff0c;进而给系统的扩展和维护带来一些挑战。 本文准备以一个帐号权限的业务为例&#xff0c;来讨论下…

arcgis pro模型构建器

如果你不想部署代码包环境来写arcpy代码&#xff0c;还想实现批量或便携封装的操作工具&#xff0c;那么使用模型构建器是最好的选择。1.简介模型构建器 1.1双击打开模型构建器 1.2简单模型构建步骤 先梳理整个操作流程&#xff0c;在纸上绘制在工具箱中找到所需工具拖进来把…

使用Anaconda安装TensorFlow环境以及没有搜到的报错的解决方法

1.在官网下载Anaconda 这一步几乎不会有人报错 下稳定的版本 或者最新的版本都可以 2.TensorFlow分两个版本 一个是用cpu跑 另一个是用gpu跑 显而易见 cpu的计算性能已经比不上现在主流的显卡了 所以有独显的电脑尽量安装gpu版本 CPU版本: 先给出cpu版本的安装方法: 打开A…

maven项目子类项目版本与父类版本不一致

项目的依赖关系 A项目的父pom是spring boot&#xff0c;A依赖pom B&#xff0c;B依赖hibernate B引用的hibernate版本为8.0.1 A引用的hibernate版本为6.2.0 maven helper插件显示无依赖冲突 这就很奇怪&#xff0c;为何依赖版本有问题呢&#xff1f;是在看不出来问题&#xff…

mysql数据库的备份和恢复

目录 一、备份和恢复 1、备份&#xff1a; 2、备份的方法&#xff1a; 2.1物理备份&#xff1a; 2.2、逻辑备份 2.3增量备份&#xff1a; 一、备份和恢复 1、备份&#xff1a; 先备份再恢复 备份&#xff1a;完全备份&#xff0c;增量备份 完全备份&#xff1a;将整个…

hadoop配置

服务规划 gz上传文件&#xff0c;解压文件&#xff0c;创建软连接 cd etc 修改workers文件 配置hadoop-env.sh&#xff0c;这个文件作用主要是Hadoop运行的环境变量 export JAVA_HOME/export/server/jdk export HADOOP_HOME/export/server/hadoop export HADOOP_CONF_DIR$HADOO…