如图M为镜面,A为入射光,B为反射光,已知A与M的向量坐标,求B的向量表示。

我们添加辅助向量C。

有以下性质。

B = 2 * C - A. 【1】

|C| = |A| * cos(alpah).
A * M = |A| * |M| * cos(alpha).

故|C| = (A * M) / |M|. (假设M与A夹角小于90度,大于等于90度结果相同,可自行推导)
C = |C| * (M的单位向量) = |C| * (M / |M|). 【2】

由【1】【2】,得出 B = 2 * C - A
    = (2 * (A 内积 M) / M模平方) * M - A.

A内积M: A.x * M.x + A.y * M.y
M模平方:M.x * M.x + M.y * M.y

转载于:https://www.cnblogs.com/leaving/p/3157374.html

基础向量运算-2D镜面反射相关推荐

  1. Unity游戏开发中的向量运算-点乘和叉乘

    Unity游戏开发中的向量运算-点乘和叉乘 1.点乘: 定义: 又称点积.数量积.标量积.既可以由向量坐标的代数运算得出,也可以通过引入两个向量的长度和角度等几何概念来求解. 公式一: 公式二: 点积 ...

  2. Unity基础-向量

    向量是2D.3D数学研究的标准工具,在3D游戏中向量是基础. 一.向量 1.向量的数学定义 向量就是一个数字列表,对于程序员来说一个向量就是一个数组. 向量的维度就是向量包含的"数" ...

  3. python二维向量运算模拟_python二维向量运算_[VB.NET][C#]二维向量的基本运算

    前言 在数学中,几何向量是指具有大小和方向的几何对象. 在编程中,向量有着广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 第一节 构造函数 通过创建一个二维向量的类(或结构体),实现向量的表 ...

  4. AVX2浮点向量运算

    在C/C++程序中,使用AVX2指令有很多种方法. 嵌入汇编是一般的方法,但是对于不熟悉汇编语言的人来说,有点勉为其难. gcc编译支持AVX2指令的编程.程序中需要使用头文件<immintri ...

  5. AVX2整数向量运算

    在C/C++程序中,使用AVX2指令有很多种方法. 嵌入汇编是一般的方法,但是对于不熟悉汇编语言的人来说,有点勉为其难. gcc编译支持AVX2指令的编程.程序中需要使用头文件<immintri ...

  6. 03 ,n 维向量,向量运算,向量组,向量组的线性组合,基,张成空间,向量组的线性相关性 :

    1 ,n 维向量 : 列向量 行向量 : 列向量与行向量的关系 : 一回事 2 ,向量运算 : 加法运算 运算 3 ,向量运算 : 数乘运算 运算 4 ,向量组 : 定义 : 若干个同维数的向量组成的 ...

  7. 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。

    7-3 三维向量运算 设计一个三维向量类,实现向量加法.减法以及向量与标量的乘法和除法运算.后面添加下面代码完成: 天杀的出题人,非得放个图片在这,放个代码块会死吗? 运行的时候,要把这张图片里的内容 ...

  8. 向量指令和标量指令有些大型机和巨型机 设置功能齐全的向量运算指令系统

    向量指令和标量指令:有些大型机和巨型机 设置功能齐全的向量运算指令系统. 向量指令的基本操作对象是向量,即有序排列的一组数. 若指令为向量操作,则由指令确定向量操作数的地址(主存储器起始地址或向量寄存 ...

  9. 2.6-2.7 向量运算的基本性质零向量

    向量运算的基本性质 向量加法也遵循交换律.结合律. 数量乘法也遵循分配律.结合律. 这些并不是定义得来的,而是通过严谨的数学证明得来. 例如 零向量 不定义什么是零向量,我们从推导出一个性质出发. 举 ...

最新文章

  1. PyTorch关键算法疑似侵权,Facebook被起诉
  2. opencv-python教程学习系列2-读取/显示/保存图像
  3. XCodeBuild 使用
  4. how to use object based exception combined with message class in SE91
  5. Python字典values()方法与示例
  6. linux内核那些事之mmap_region流程梳理
  7. Java实现websocket
  8. import java.util_importjava.util.*;classKeyMaster{publi..._考试资料网
  9. 网站制作---asp操作数据库的一个小例子
  10. nginx的配置笔记
  11. 【数学】稀疏图的随机游走问题
  12. linux bash学习(一)
  13. pdf需要简体中文语言支持包_收集全网最好用的PDF转Word工具,赶快收藏起来!...
  14. mysql如何创建视图语句_创建视图的语句
  15. php把amr转换成mp3,PHP 将amr音频文件转换为mp3格式
  16. The type of the expression must be an array type but it resolved to ListObj
  17. 已经搭载华为鸿蒙,华为鸿蒙设备将搭载在什么设备上
  18. java getdate和getday,jq里面,如何用getDate()和getDay()函数遍历出当月的所有日子和星期?...
  19. STM32产生固定频率和占空比可变的PWM
  20. java 横向 打印出来_在双工模式下使用Java打印横向文档

热门文章

  1. 对于redis底层框架的理解(一)
  2. python处理进度条
  3. Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
  4. function “printf“ declared implicitly
  5. hbase命令行在create table时为啥有MIN_VERSIONS而没有MAX_VERSIONS
  6. package org.apache.hadoop.conf does not exist解决
  7. 存储输出的pickle文件作为数据源
  8. the computational graph needed to compute the outputs报错解决
  9. Clion:undefined reference to `cv::noArray()解决方案
  10. 波士顿房价数据集解读