最近在看退化四边形的描边算法,其中提到了轮廓边缘的计算方式是(N1·V) * (N2·V),其中N1和N2是平面法线,V是视角方向
假设Y = (N1·V) * (N2·V),如果Y>=0,那么就不是轮廓边,如果Y<0,那么就是轮廓边
这里引用下灵刃的图,外加自己的图来理解。
这是各种边缘的详细解释,我们只讨论轮廓边缘

然后是发挥想象环节
N1和N2所在平面构成一个平面坐标系,然后将V投影在该平面上。这里V的方向为坐标轴Y的正方向,蓝色和紫色为平面,红色和绿色为垂直的法线。(这里这么做是因为,看不看到两个面和这个平面坐标系的Z轴,即第三个坐标轴是无关的,除了垂直的情况)
会发现当不能同时看到两个面的时候,法线N1和N2在Y轴正方向上的投影是相反方向的,当能看到两个面的时候,法线N1和N2在Y轴正方向上的投影是相同方向的。这也很好的解释了(N1·V) * (N2·V)为什么能判断是否是轮廓边缘。

灵刃的描边算法——https://blog.csdn.net/lht748/article/details/88680146

泛泛而谈的渲染学习记录(一)—— 描边中的轮廓边缘相关推荐

  1. 三维荧光学习记录--在Origin中绘制三维荧光光谱图(补充)及荧光区域积分(FRI)

    三维荧光学习记录–在Origin中绘制三维荧光光谱图(补充)及荧光区域积分(FRI) 注:本文仅作为自己的学习记录以备以后复习查阅 关于区域积分的简介,大家可以去看我之前的文章,这里就不赘述了,主要想 ...

  2. 三维荧光学习记录--在Origin中绘制三维荧光光谱图

    三维荧光学习记录–在Origin中绘制三维荧光光谱图 注:本文仅作为自己的学习记录以备以后复习查阅 记录一下如何在Origin中绘制三维荧光光谱图(数据分析的学习之路任重而道远啊~~) 一.数据准备 ...

  3. OpenCV学习笔记(12)——OpenCV中的轮廓

    什么是轮廓 找轮廓.绘制轮廓等 1.什么是轮廓 轮廓可看做将连续的点(连着边界)连在一起的曲线,具有相同的颜色和灰度.轮廓在形态分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找 ...

  4. 泛泛而谈的菜鸟学习记录(一)—— GPU渲染流程

    GPU渲染流程大概整理 主要是unity方面的 1.mesh render把CPU处理好的顶点信息传给GPU处理. 2.shader中自带的顶点着色器可以对这些顶点的法线.纹理坐标和位置等信息进行处理 ...

  5. 【学习记录】多主体中的BDI(Belief-Desire-Intention)

    0 写在前面 最近在做多主体建模仿真的项目,希望将BDI模型融合到人的主体上.但是目前没有找到很多国内研究BDI的工作.这篇文章是记录自己学习BDI的一点过程和想法,包括: 关于BDI的一些事实 BD ...

  6. Redis学习记录之Java中的初步使用

    [html] view plain copy  redis下载地址:<span style="font-family: Arial, Helvetica, sans-serif;&qu ...

  7. vue mianjs 引用css_vue 学习记录八——webpack中常见的配置项

    在web开发中,我们得使用到js(es6).css.html等技术,需要对资源文件管理,例如图片,同时还需要对性能.热加载等进行处理:这些功能都是可以在webpack中进行配置管理的,下面具体介绍说明 ...

  8. 20110128 学习记录:Datalist中的item项不自动换行而只用空格隔开

    帮人修改个东西,要求datalist的item不要默认的自动换行,希望可以所有item在同一行一字排开. 以前没用过这个不熟悉,查了一下原来很简单,datalist自己就有属性可以设置这个. Repe ...

  9. 【学习记录】Sql中存储过程的

    存储过程中@@ROWCOUNT SQL的系统变量@@ROWCOUNT返回的是上一语句影响的行数. WHILE(@@ROWCOUNT > 0)             BEGIN          ...

  10. springcloud(瞿永超著)学习记录(更新中)

    springcloud介绍 springcloud中文文档介绍:Spring Cloud为开发人员提供了快速构建分布式 系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制 ...

最新文章

  1. 【PC工具】chrome插件:n多好用实用chrome插件
  2. 数据库-DQL练习(附答案)
  3. qt 从文件中读出数据显示在表格中_QT中有什么控件可以实现向excel的表格显示,qt数据存储到Excel表格...
  4. 持久化雪花视图实例学习
  5. 多个python文件打包成exe_pyinstaller打包python文件成exe(原理.安装.问题)
  6. python汉语读音_【学习】python 汉语转拼音
  7. 【报告分享】抖音蓝V账号定位及外化罗盘.pdf(附下载链接)
  8. c51单片机编程实例c语言,C51单片机C语言编程基础和实例
  9. gitlab增加p3c-hook强制代码规范
  10. 【建议收藏】你还不知道平面设计有哪些风格?掌握这20种就够了
  11. 纯css实现二级下拉菜单
  12. 2022年手机CPU性能天梯图排行榜 手机处理器排行榜 2022
  13. 非此即彼的逻辑错误_Argument常见逻辑错误及描述 【出国英语】
  14. 如何用光盘映像文件重装服务器系统,光盘映像文件怎么安装,小编教你光盘映像文件怎么安装系统...
  15. 译(二十六)-Python怎么去除末尾的换行符?
  16. MFC 进程间通信(共享内存)
  17. 为什么我的域名在某些地方不能访问,解析到127.0.0.1或者0.0.0.0?
  18. Css3的旋转和位移
  19. 自学编程系列——3 面向对象编程
  20. 无法确认设备和计算机之间的连接打印机,我无法从计算机上通过USB 进行打印...

热门文章

  1. 2022 第二届中国移动“梧桐杯”大数据应用创新大赛-基于移动大数据的网约车司机识别 线上0.95+ 方案
  2. java 匿名函数_Java8学习系列之匿名函数Lambda
  3. Redis技术架构演进
  4. 小白必学的Ps火焰字制作教程
  5. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-S CALE IMAGE RECOGNITION-论文笔记
  6. 【高级篇 / SDWAN】(7.0) ❀ 03. SD-WAN 链路负载均衡的模式 ❀ FortiGate 防火墙
  7. python怎么保留整数输出_python怎么保留整数
  8. SND: 项目发布时Owning ClassInfo is null for property: private问题原因排查与解决
  9. 申请 app store 退款
  10. 涨分神器-基于PPYOLOE的切图和拼图解决方案