当前位置: 首页 > news >正文

神经网络之反射变换

一、什么是反射变换?

反射变换(reflection transformation) 是一种 线性变换,它将空间中的点(或向量)相对于某个**平面(或直线)**进行镜像对称。

例如:

  • 在二维空间中,它表示 相对于一条直线的镜像反射
  • 在三维空间中,它表示 相对于一个平面的镜像反射

二、反射变换的定义公式

设:

  • (n)( n )(n) 是单位法向量(表示反射平面的法线方向);
  • (x∈Rn)( x \in \mathbb{R}^n )(xRn) 是任意向量。

则反射变换 (T)( T )(T) 定义为:

T(x)=x−2(n⋅x)n T(x) = x - 2 (n \cdot x) n T(x)=x2(nx)n


三、几何解释

我们把 (x)( x )(x) 分解为:
x=x∥+x⊥ x = x_{\parallel} + x_{\perp} x=x+x
其中:

  • (x∥=(n⋅x)n)( x_{\parallel} = (n \cdot x)n )(x=(nx)n):沿法线方向的分量;
  • (x⊥=x−(n⋅x)n)( x_{\perp} = x - (n \cdot x)n )(x=x(nx)n):在平面内的分量。

那么反射后:
T(x)=x⊥−x∥ T(x) = x_{\perp} - x_{\parallel} T(x)=xx

即:

分量意义反射后的变化
(x⊥)( x_{\perp} )(x)平面内分量保持不变 ✅
(x∥)( x_{\parallel} )(x)垂直平面分量方向反转 🔁

这说明:反射就是把法线方向“翻过去”,平面内部分不变。


四、矩阵形式

反射变换也可以写成矩阵形式:

T(x)=(I−2nn⊤)x T(x) = (I - 2nn^\top)x T(x)=(I2nn)x

其中:

  • (I)( I )(I):单位矩阵;
  • (nn⊤)( n n^\top )(nn):把向量投影到法线方向上的投影矩阵。

于是,反射矩阵为:

R=I−2nn⊤ R = I - 2nn^\top R=I2nn


五、反射矩阵的性质

性质说明
线性满足加法与数乘封闭性,因此是线性变换。
正交矩阵(R⊤R=I)( R^\top R = I )(RR=I),说明反射保持向量长度。
行列式(det⁡(R)=−1)( \det(R) = -1 )(det(R)=1),说明它翻转了方向(即“镜像”)。
特征值法线方向特征值为 -1,平面内方向特征值为 1。

六、二维与三维的例子

1️⃣ 二维平面上相对直线的反射

若反射直线单位方向为 ( n = (\cos\theta, \sin\theta) ),
则反射矩阵为:

R=[cos⁡2θsin⁡2θ sin⁡2θ−cos⁡2θ] R = \begin{bmatrix} \cos 2\theta & \sin 2\theta \ \sin 2\theta & -\cos 2\theta \end{bmatrix} R=[cos2θsin2θ sin2θcos2θ]

这个矩阵把向量关于过原点、角度为 ( \theta ) 的直线进行镜像反射。


2️⃣ 三维空间中相对平面的反射

例如关于 (xy)( xy )(xy) 平面的反射:
法线 (n=(0,0,1))( n = (0,0,1) )(n=(0,0,1))

R=I−2nn⊤=[100 010 00−1] R = I - 2nn^\top = \begin{bmatrix} 1 & 0 & 0\ 0 & 1 & 0\ 0 & 0 & -1 \end{bmatrix} R=I2nn=[100 010 001]

结果就是:
(x,y,z)↦(x,y,−z) (x, y, z) \mapsto (x, y, -z) (x,y,z)(x,y,z)
即对 (xy)( xy )(xy) 平面镜像。


七、总结

项目内容
定义(T(x)=x−2(n⋅x)n)( T(x) = x - 2(n\cdot x)n )(T(x)=x2(nx)n)
矩阵形式(R=I−2nn⊤)( R = I - 2nn^\top )(R=I2nn)
性质线性、长度不变、行列式 = −1
几何意义平面内分量不变,法线方向分量反向
应用计算机图形学、几何建模、光线追踪、线性代数教学
http://www.dtcms.com/a/568520.html

相关文章:

  • k8s——pod详解2
  • 四层神经网络案例(含反向传播)
  • MySQL初阶学习日记(1)--- 数据库的基本操作
  • 【k8s】k8s的网络底层原理
  • 一种创新的集成学习模型:结合双通路神经网络与逻辑回归的糖尿病患病概率预测
  • 神经网络之线性变换
  • Fastlane 结合 开心上架(Appuploader)命令行版本实现跨平台上传发布 iOS App 免 Mac 自动化上架实战全解析
  • 大连网站建设平台宁夏考试教育网站
  • 微信网站对接室内设计师报考官网
  • Ceph常用的三种存储操作
  • 【前端】从零开始搭建现代前端框架:React 19、Vite、Tailwind CSS、ShadCN UI 完整实战教程-第1章:项目概述与技术栈介绍
  • react使用ag-grid及常用api笔记
  • MiniEngine学习笔记 : CommandListManager
  • 人工智能讲师数据治理讲师叶梓《数字化转型与大模型技术应用培训提纲》
  • 1.7.课设实验-数据结构-二叉树-文件夹创建系统
  • 互联网大学生创新创业项目计划书seo网址查询
  • 同时打开两个浏览器页面,关闭 A 页面的时候,要求 B 页面同时关闭,怎么实现?
  • 什么是react?
  • Arbess零基础学习 - 使用Arbess+GitLab实现 React.js 项目自动化构建/主机部署
  • 从事网站开发需要的证书网页设计免费网站推荐
  • 任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存【示例】
  • 【开题答辩实录分享】以《基于java的宿舍楼洗衣机预约管理系统》为例进行答辩实录分享
  • 如何在iPhone 17/16/15上显示电池百分比
  • 网站换主机引擎网站推广法
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 13 章 STM32 位带操作
  • MySQL绿色版完整教程:下载、安装、配置与远程访问
  • 集合(开发重点)
  • 如何通过第三方API接口获取拼多多店铺信息?
  • ⸢ 拾贰 ⸥⤳ 实战攻防演练:红蓝对抗 有效性检验
  • Flutter 与 Native的比较