【计算机图形学入门】笔记5:光栅化(三角形的离散化)

news2024/11/20 1:27:06

目录

  • 05光栅化(三角形的离散化)
    • 1.Canonical Cube to Screen 从标准立方体到屏幕
      • 1.屏幕是什么?What is a screen?
      • 2.光栅化是什么?Raster == screen in German
      • 3.像素Pixel (FYI, short for “picture element”)
      • 4.使用以下矩阵公式将中心本在原点的标准立方体平移到屏幕坐标系的中心
    • 2.成像
      • 1.示波器/CRT阴极射线管成像原理
      • 2.早期电视:通过扫描画线的方式
      • 3.LCD液晶显示器
      • 4.LED发光二极管显示器
    • 3.如何在这些屏幕上画东西(光栅化)?
      • 1.使用三角形表示
      • 2.判断像素和三角形的位置关系:采样
      • 3.实际屏幕上的光栅化

05光栅化(三角形的离散化)

1.Canonical Cube to Screen 从标准立方体到屏幕

1.屏幕是什么?What is a screen?

一个二维数组,数组内存放的是像素。例如1920*1080

2.光栅化是什么?Raster == screen in German

Rasterize == drawing onto the screen 光栅化=把图像画在屏幕上

3.像素Pixel (FYI, short for “picture element”)

For now: A pixel is a little square with uniform color 颜色均匀的小正方形

Color is a mixture of (red, green, blue)

4.使用以下矩阵公式将中心本在原点的标准立方体平移到屏幕坐标系的中心

将立方体乘下面这个矩阵后,宽度变为width,高度变为height,最后一列的作用是将立方体的左下角平移到屏幕的中心,第三列z方向不用改动

请添加图片描述

也就是将-1-1的立方体转化到下面的屏幕上

请添加图片描述

2.成像

1.示波器/CRT阴极射线管成像原理

请添加图片描述

使用spot把信号打在屏幕上,当速度足够快时即可成象

2.早期电视:通过扫描画线的方式

请添加图片描述

隔行扫描技术:只画一半线,每两张画形成一个动画。目前应用在一些视频压缩中,缺点:会造成一定的画面撕裂

3.LCD液晶显示器

利用液晶的原理来控制显示,液晶通过自己不同的排布影响光的极化,也就是光的偏振方向。液晶中一个像素有两个不同的光栅,左边和右边以不同的方向进行排布。

请添加图片描述

从物理上来讲,光是有波动性的,光经过一个光栅只会留下光在这一个方向(光栅所规定的方向上)震动的一些能量,通过了光栅之后光栅的振动方向就和这个光栅的振动方向一致。

液晶显示的原理就是通过液晶的扭曲把光的振动方向渐渐调过来。

4.LED发光二极管显示器

请添加图片描述

3.如何在这些屏幕上画东西(光栅化)?

1.使用三角形表示

1.三角形是最基础的多边形

2.任何多边形都可以拆解为三角形

3.三角形一定是平面的

2.判断像素和三角形的位置关系:采样

在某一点上对函数求值就是采样。我们可以通过采样来离散函数。

请添加图片描述

利用像素中心对屏幕空间进行采样,通过采样进行光栅化的简单代码思想:如果图像中的点在屏幕中的三角形区域就赋值为1

请添加图片描述

如何判断一个点在三角形内的函数:做叉积可以判断点是否在三角形内

请添加图片描述

问题:当一个点在三角形边界上怎么办?答:可自己定义或者=不严格处理。

我们可以不遍历那些没有三角形的屏幕区域。

3.实际屏幕上的光栅化

请添加图片描述

盖乐世的屏幕绿色密度要高一些:人眼对绿色更为敏感

出现的问题:锯齿/信号走样

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于蜂虎狩猎 (BEH) 算法求解单目标优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【克罗地亚VS巴西】和【荷兰VS阿根廷】足球的魅力

两场球赛你看了吗时间段克罗地亚 VS 巴西荷兰 VS 阿根廷最后的话时间段 🍋12月09日的 23:00 克罗地亚 VS 巴西 🍊12月10日的 03:00 荷兰 VS 阿根廷 克罗地亚 VS 巴西 半场比赛双方都没有找到绝佳的破门良机,0-0战平。 90分钟内&#xff…

Java的线程及多线程

1 线程 1.1 Thread 下面是两个demo,第一个是线程执行顺序,第二个是多个线程的顺序。 其中线程的start可以看成是就绪状态,cpu并不一定会马上去执行run方法的内容,因此如果是多线程,顺序是不确定的。 public class Th…

【Pytorch】第 6 章 :用函数逼近扩展学习

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【GRU回归预测】基于门控循环单元GRU实现数据多维输入单输出回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

英方软件通过注册:预计年营收2亿 为胡军擎与江俊夫妻店

雷递网 雷建平 12月8日上海英方软件股份有限公司(简称:“英方软件”)日前通过注册,准备在科创板上市。英方软件计划募资5.7亿元,其中,2.46亿元用于行业数据安全和业务连续性及大数据复制软件升级项目&#…

JavaScript:错误处理

一个优秀的产品,需要有一个良好的错误处理策略可以让用户知道到底发生什么。不至于让用户自己不知道发生了什么,然后再重试或者是不至于然用户感到特别厌烦,然后直接离开。 try/catch语句 try/catch语句,在JavaScript中作为处理…

51 java.lang.Class/java.lang.ClassLoader/InstanceKlass/ClassloaderData 的卸载

前言 之前 碰到了一个 flink 基于 ChildFirstClassLoader 来进行任务隔离 导致的内存泄漏的问题 然后 使用 demo 复现了一下 问题 之后 想探索一下 java language 中 类型的卸载相关 并且会 拓展一些其他的知识 以下测试用例基于 jdk8, 部分截图基于 jdk9 测试用例 T…

0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天

梦晨 发自 凹非寺量子位 | 公众号 QbitAI靠玩ChatGPT,还能找到新工作?没错,Riley Goodside(后面叫他好面哥)4月份开始在网上发布玩GPT-3的心得。最近ChatGPT一波爆火,他不光粉丝涨了一万多,还收…

『 云原生·Docker』Docker中部署Nginx

系列文章目录 本系列主要分为以下六大部分,正在更新中,尽请期待! 『 云原生生之门』 『 云原生前置知识』 『 云原生Docker』 『 云原生Kubernetes』 『 云原生KubeSphere』 『 云原生DevOps』 🚩点击关注本专栏 提示:已经更新的或正在更新的…

自动驾驶之MultiPath++论文阅读笔记

预测道路参与者的future behavior. 摘要 将输入由dense image-based encoding改为a sparse encoding of heterogeneous scene elements. 即用polylines(折现)来描述road features和原始的agent state information(例如位置、速度和加速度)。 主要方法是对这些元素进行a conte…

【POJ No. 2778】DNA 序列 DNA Sequence

【POJ No. 2778】DNA 序列 DNA Sequence 北大OJ 题目地址 【题意】 DNA序列是一个只包含A、C、T和G的序列。分析DNA序列片段非常有用,若动物的DNA序列包含片段ATC,则意味着该动物可能患有遗传病。 给定m 个遗传病片段,求有多少种长度为n 的…

自动驾驶两大路线对决,渐进式玩家为何更容易得人心?

HiEV消息(文/长海)对自动驾驶赛道而言,2022年的冬天格外冷冽。寒潮袭来,从各家的应变方式看,不同路径的玩家呈现“冰火两重天”,进化的趋势也越来越清晰。 以Waymo为代表、持续研发L4级无人驾驶的跨越式路线…

web课程设计网页规划与设计 :DW旅游主题网页设计——凤阳智慧旅游官方-地方旅游网站模板html源码HTML+CSS+JavaScript

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

ONES X 华西证券|以需求全流程管控,洞见金融数据价值

近日,ONES 签约全国一流证券金融服务商——华西证券,助推华西证券构建需求全流程管控体系,保障需求任务的上下游衔接与顺畅流转,做到系统内所有数据透明化、线上化、统一化,提高团队协同效率,打破「部门墙」…

所谓“生活的艺术“, 就是悠闲二字

关于作者 作为陈独秀、胡适、鲁迅的同时代人,林语堂是"五四"新文化运动的参与者,中国现 代著名作家、学者、翻译家、语言学家,新道家代表人物。他清晰地看到了关于中国 传统文化观点的两种极端倾向,一种是把 中国传统文…

R语言VAR模型的不同类型的脉冲响应分析

目录 模型与数据 估算值 预测误差脉冲响应 识别问题 正交脉冲响应 结构脉冲反应 广义脉冲响应 参考文献 最近我们被客户要求撰写关于脉冲响应分析的研究报告,包括一些图形和统计输出。脉冲响应分析是采用向量自回归模型的计量经济学分析中的重要一步。它们的…

火爆出圈的ChatGPT,你也来体验一下吧!

最近网络上流行了一个叫ChatGPT的东西,他到底是什么东西? ChatGPT是人工智能实验室OpenAI发布的一款对话式聊天机器人。他可以解答很多刁钻有难度的问题,一经发布就火遍科技圈。12月4日,马斯克在咨询该聊天机器人关于推特经营的建…

构建高性能内存队列:Disruptor 永远滴神~

我们清楚使用锁的性能比较低,尽量使用无锁设计。接下来就我们来认识下Disruptor。 Disruptor简单使用 先简单介绍下: Disruptor它是一个开源的并发框架,并获得2011 Duke’s程序框架创新奖【Oracle】,能够在无锁的情况下实现网络…

单机存储系统可靠性及相关技术介绍

一、存储系统可靠性的影响因素单机存储系统包括存储硬件和存储软件。存储硬件又包含存储介质、存储控制器、设备固件;存储软件栈层次则更为复杂,以Linux为例包括:存储设备驱动层、 块设备层(Block Layer)、可选的虚拟块设备层(Device Mapper)…