3DMM反射光线3D表达
最近重温3DMM中的公式,推导反射光线的公式,过程如下:
- 根据反射定律,反射角与入射角相等,设为 θ \theta θ。将入射光线记为 I I I,反射光线记为 R R R,平面法向量为 N N N,如下图所示。
- 引入两个变量A和B
其中, B = − c o s ( θ ) ∗ N B = -cos(\theta)*N B=−cos(θ)∗N, 由向量关系可得:
I = A + B R = A − B \begin{aligned} I &= A + B\\ R &= A - B \\ \end{aligned} IR=A+B=A−B
将 B B B带入 I I I和 R R R的表达式中,可得:
I = A − c o s ( θ ) ∗ N R = A + c o s ( θ ) ∗ N \begin{aligned} I &= A - cos(\theta)*N \\ R &= A + cos(\theta)*N \\ \end{aligned} IR=A−cos(θ)∗N=A+cos(θ)∗N
因此, R = I + 2 c o s ( θ ) ∗ N R = I + 2cos(\theta)*N R=I+2cos(θ)∗N
又有 c o s ( θ ) = − N ⋅ I cos(\theta) = -N \cdot I cos(θ)=−N⋅I 由此可得反射光线3D表达:
R = I − 2 ( N ⋅ I ) N R = I - 2(N \cdot I)N R=I−2(N⋅I)N
证毕。
与原文 2 ( N ⋅ I ) N − I 2(N \cdot I)N-I 2(N⋅I)N−I相差一个负号,并不影响后继计算。
参考链接:
https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/reflection-refraction-fresnel
3DMM反射光线3D表达相关推荐
- 3DMM(3D Morphable Model)原理和实现
实现: - 首先,你需要准备一个包含二维人脸图像和对应的三维人脸模型的数据集.你可以使用CASIA WebFace数据集¹²,并利用多图像3DMM重建方法¹来生成每个个体的三维人脸模型. - 然后,你 ...
- 即得宝,用3D助力珠宝首饰行业的线上表达与远程沟通
互联网的媒介形态沿着文字.图片.音频.视频的轨迹演进.媒介的信息密度的越来越高,信息效率也越来越高. 互联网媒介的每一次革新都会带来大量的商业机会.文字互联网时代,电商平台只能在网上售卖图书之类的高标 ...
- [TOG2020](综述)3D Morphable Face Models—Past, Present, and Future
标题:3D Morphable Face Models-Past, Present, and Future 链接:https://arxiv.org/pdf/1909.01815 这是一篇关于3DMM ...
- 腾讯优图提出LAP无监督多视角人脸3D重建算法,高清还原面部细节
编辑丨腾讯优图AI开放平台 近日,腾讯优图实验室提出无监督多视角人脸3D重建算法LAP(Learning to Aggregate and Personalize),摆脱人脸3D训练样本真值依赖,高清 ...
- Unsupervised Learning of Probably Symmetric Deformable 3D Objects from Images in the Wild
Abstract 提出了一种从原始单视图像中学习三维可变形物体的方法,该方法无需外部监督.该方法基于自动编码器,将输入图像分解为深度.反照率.视角和光照.为了在没有监督的情况下解耦(分解)这些组成部分 ...
- Towards High-Fidelity 3D Face Reconstruction from In-the-Wild Images
论文链接:https://arxiv.org/pdf/2003.05653.pdf Abstract 首先肯定了3DMM 从单视图图片重建人脸的巨大成功,然后点出了存在的不足--面部纹理失真,然后介绍 ...
- SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking
链接 arxiv:https://arxiv.org/abs/2211.12194 Project page:https://sadtalker.github.io/ 摘要 通过人脸图像和一段语音音频 ...
- PointNet:3D点集分类与分割深度学习模型
之前的一篇博客<动手学无人驾驶(4):基于激光雷达点云数据3D目标检测>里介绍到了如何基于PointRCNN模型来进行3D目标检测,作者使用的主干网是PointNet++,而PointNe ...
- 【点云系列】综述: Deep Learning for 3D Point Clouds: A Survey
文章目录 起因 题目 摘要 1 简介 2 背景 2.1 数据集 2.2 衡量指标 3 3D形状分类 3.1基于多视角的方法 3.2基于体素的方法 3.3 基于点的方法 3.3.1逐点MLP网络 3.3 ...
最新文章
- 深入浅出统计学(十三)假设检验
- 从零开始学习jQuery (七) jQuery动画-让页面动起来!
- qt 解决中文乱码问题
- Oracle数据库与Access互导实例
- 【Java类加载机制】深入类加载器(二)自定义加密、解密类加载器
- [8.21NOIP模拟赛]决战【tarjan】
- JSTL标签库中fmt标签,日期,数字的格式化
- idea内存溢出解决_各种OOM代码样例及解决方法
- Java面试——RabbitMQ系列总结
- Java使用自定义包
- ifconfig相关
- 单曲《我是一个程序员》
- NHibernate :何必到处都virtual
- Segger Embedded Studio使用有什么技巧?
- 我还在努力,你千万不要喜欢上别人
- HUAWEI 机试题:统计射击比赛成绩
- 解决Docker 一直starting 的办法
- Excel怎么一次性删除数据末尾的空格
- 突破IP封锁,共享网络
- XSS(Cross Site Scripting)攻击简介
热门文章
- 整型转字符串(C语言)
- Java——内部类详解
- nginx(三十一)proxy_intercept_errors指令应用
- 349. 两个数组的交集(集合 / 双指针实现)
- 基于准确度评估的7自由度手术机器人术前摆位优化算法
- 2021-10-28 SDR模块RSP1收听并显示ADS-B 航班信息
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于网络的景区旅游服务管理系统q57ng
- 独立站建站需要考虑的关键功能有哪些
- libxml/parser.h not found
- 现代 Web CI/CD 系统的搭建