第六课:冷战和消费主义、个人计算机革命、图形用户界面(GUI)及3D图形

第六课:冷战和消费主义、个人计算机革命、图形用户界面(GUI)及3D图形

  • 第二十四章:冷战和消费主义
    • 本课概括:政府和消费者推动了计算机的发展
  • 第二十五章:个人计算机革命
    • 本集概括:继续讲计算机发展史
  • 第二十六章:图形用户界面(GUI)
  • 第二十七章:3D 图形
    • 1、线框渲染 Wireframe Rendering
    • 2、网格 Mesh
    • 3、三角形更常用的原因
    • 4、扫描线渲染 Scanline Rendering——填充图形的经典算法
    • 5、遮挡 Occlusion
    • 6、深度缓冲 Z Buffering

各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料!

第二十四章:冷战和消费主义

本课概括:政府和消费者推动了计算机的发展

早期靠政府资金,让技术发展到足够商用,然后消费者购买商用产品继续推动产品发展。

冷战导致美国往计算机领域投入大量资源。

范内瓦·布什预见了计算机的潜力,提出假想机器 Memex帮助建立国家科学基金会,给科学研究提供资金。

1950 年代消费者开始买晶体管设备,收音机大卖,日本取得晶体管授权后,索尼做了晶体管收音机,为日本半导体行业崛起埋下种子。

苏联 1961 年把宇航员加加林送上太空,导致美国提出登月 NASA 预算大大增加,用集成电路来制作登月计算机。

集成电路的发展实际上是由军事应用大大推进的,阿波罗登月毕竟只有 17 次美国造超级计算机进一步推进集成电路。

美国半导体行业一开始靠政府高利润合同活着,忽略消费者市场,1970 年代冷战渐消,行业开始衰败很多公司倒闭,英特尔转型处理器。

第二十五章:个人计算机革命

本集概括:继续讲计算机发展史

1970 年代初成本下降,个人计算机变得可行。
RAM:random-access memory 随机访问存储器。
ROM:read-only memory 只读存储器。

Altair 8800 第一台取得商业成功的个人计算机。
比尔·盖茨和保罗·艾伦写 BASIC 解释器,解释器和编译器类似,区别是解释器运行时转换,而编译器提前转换。
乔布斯提议卖组装好的计算机,Apple-I 诞生。

1977 年出现 3 款开箱即用计算机:“Apple-II”,“TRS-80 Model I”,“Commodore PET 2001”。

IBM 意识到个人计算机市场。
IBM PC 发布,采用开放架构,兼容的机器都叫 IBM Compatible(IBM 兼容)

生态系统产生雪球效应:
因为用户多,软硬件开发人员更愿意花精力在这个平台。
因为软硬件多,用户也更乐意买 “IBM 兼容” 的计算机。

苹果选封闭架构,一切都自己来,只有苹果在非 “IBM 兼容” 下保持了足够市场份额。

第二十六章:图形用户界面(GUI)

GUI是 “事件驱动编程”,代码可以在任意时间执行以响应事件,而不像传统代码一样自上而下。
图形界面先驱:道格拉斯·恩格尔巴特(Douglas Engelbart)——设想计算机成为未来知识性员工应对问题的工具,并发明了鼠标。

1970 年成立帕洛阿尔托研究中心(Palo Alto Research Center)。
1973 年完成 Xerox Alto(施乐奥托)计算机——创立了桌面,窗口等计算机概念。
1981 年的 Xerox Star system(施乐之星系统),创建了文档概念。
所见即所得 WYSIWYG——施乐打印出来的东西和计算机上一样,并发明了剪切、复制、黏贴等计算机概念。
史蒂夫·乔布斯去施乐参观。
1983 年推出 Apple Lisa。
1984 年推出 Macintosh 成功。
1985 年推出 Windows 1.0。
1995 年推出 Windows 95 提供新的图形界面,并有 Mac 没有的新功能,如多任务和受保护内存。
1995年微软做失败的 Microsoft Bob——类似于房子的设计。

第二十七章:3D 图形

1、线框渲染 Wireframe Rendering

有图形算法负责把 3D 坐标 “拍平” 显示到2D屏幕上,这叫 3D 投影(包括正交投影和透视投影),所有的点都从 3D 转成 2D 后,就可以用画 2D 线段的函数来连接这些点,这叫线框渲染。

2、网格 Mesh

如果我们需要画比立方体复杂的图形,三角形比线段更好,在3D图形学中我们叫三角形 “多边形”(Polygons),一堆多边形的集合叫网格,网格越密,表面越光滑,细节越多。

3、三角形更常用的原因

因为能定义唯一的平面。

4、扫描线渲染 Scanline Rendering——填充图形的经典算法

填充的速度叫做填充速率
在这里插入图片描述

抗锯齿——边缘羽化,如果像素在多边形内部,就直接涂颜色,如果多边形划过像素,颜色就浅一些。
在这里插入图片描述

5、遮挡 Occlusion

用排序算法,从远到近排列,然后从远到近渲染,这叫画家算法

6、深度缓冲 Z Buffering

另一种画遮挡的方法,简而言之,Z-buffering 算法会记录场景中每个像素和摄像机的距离,在内存里存一个数字矩阵,首先,每个像素的距离被初始化为 “无限大”,然后 Z-buffering 从列表里第一个多边形开始处理,也就是A,它和扫描线算法逻辑相同,但不是给像素填充颜色,而是把多边形的距离和 Z-Buffer 里的距离进行对比,它总是记录更低的值,因为没对多边形排序,所以后处理的多边形并不总会覆盖前面的。

  1. Z Fighting 错误
    采用深度缓冲算法,哪个图形在前将会变化。
  2. 背面剔除 Back Face Culling
    由于游戏角色的头部或地面,只能看到朝外的一面,所以为了节省处理时间,会忽略多边形背面,这很好,但有个bug是 如果进入模型内部往外看,头部和地面会消失。
  3. 表面法线 Surface Normal
    在3D图形上任取一小个区域,它面对的方向叫 “表面法线”。
  4. 平面着色 Flat Shading
    基本的照明算法,缺点是使多边形边界明显,看上去不光滑。
  5. 高洛德着色 Gouraud shading, 冯氏着色 Phong Shading
    不只用一种颜色上色。
  6. 纹理映射 Texture Mapping
    纹理在图形学中指外观,纹理有多种算法来达到花哨效果,最经典的是纹理映射。纹理映射示意图如下:
    在这里插入图片描述
  7. 图形处理单元 GPU, Graphics Processing Unit
    方便并行处理多个图形,并把图形分成一个个小块来处理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习系列11:减少过拟合——L1、L2正则化

如果我们注意到模型在训练集上的表现明显优于模型在测试集上的表现,那么这就是模型过拟合了,也称为 high variance。 产生的过拟合的原因是对于给定的训练集数据来说,模型太复杂了。有几种可以减少过拟合的方法: 收集更多的训练数…

Docker 概述以及整体架构

文章目录 一、Docker概述1.1 什么是 Docker1.2 Docker 如何工作1.3 底层技术 二、Docker架构2.1 Docker 整体架构2.2 Docker daemon2.3 Docker client2.4 Docker registries2.5 Docker objects2.6 Docker Desktop 参考资料 一、Docker概述 1.1 什么是 Docker Docker是一个用于…

快来检测一下你是否真的学会了C语言,保证你看完后收获满满!!

文章目录 每日一言1234567891011121314151617181920结语 每日一言 人生而自由,却无往不在枷锁中。 --社会契约论 1 以下程序段的输出结果是? char s[]"\\141\141abc\t"; printf("%d\n",strlen(s));A. 9 B. 12 C. 13 D. 14 正确答…

程序的编译、链接

目录 前言: 前置知识回顾 宏 宏定义常量 宏定义语句 宏定义函数 条件编译 应用场景 编译过程概览 预编译阶段 编译阶段 汇编阶段 链接阶段 前言: 在ANSI C的任何一种实现中,存在两种不同的环境,第1种是翻译环境&#x…

go module本地包导入

go module本地包导入 本文目录 go module本地包导入启用go mod主项目工作目录本地module目录发布和使用模块 golang 1.11之后加入了go mod来替代GOPATH 官方文档参考:https://golang.google.cn/doc/tutorial/call-module-code 启用go mod 开启 Go modules # 临时开…

一文带你了解大模型的RAG(检索增强生成) | 概念理论介绍+ 代码实操(含源码)

针对大型语言模型效果不好的问题,之前人们主要关注大模型再训练、大模型微调、大模型的Prompt增强,但对于专有、快速更新的数据却并没有较好的解决方法,为此检索增强生成(RAG)的出现,弥合了LLM常识和专有数…

数据治理:释放数据价值的关键

随着数字化时代的到来,数据已成为组织和企业最重要的资产之一。然而,数据的快速增长和复杂性也给数据管理带来了巨大的挑战。为了确保数据的质量、安全性和合规性,数据治理已成为组织和企业必须面对的重要问题。数据治理是数据要素市场建设的…

自动驾驶学习笔记(二十三)——车辆控制模型

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 运动学模型 动力学模型 总结…

Java进阶(第八期): Java中递归的的使用和递归解决一些算法问题 Java中的异常机制、异常的处理逻辑 自定义异常

文章目录 一、递归1.1 递归的介绍1.2 递归的简单练习1.3 图解递归执行流程:1.4 使用递归完成悲波那契数列1.5 猴子吃桃子问题 二、异常三 、异常的处理逻辑3.1 try catch 捕获异常3.2 throws抛出异常 四、自定义异常 Java进阶(第八期) 一、递…

如何安装、配置、启动及访问Nacos

准备 JDK 17.0:https://www.bilibili.com/video/BV1ig4y1k7Bq?p2 MySQL 8.0:https://www.bilibili.com/video/BV1QU4y117Vn Navicat Premium:https://www.bilibili.com/video/BV1F94y1A7nC 1、安装Nacos a、地址 网址:http…

ElasticSearch 架构设计

介绍 ElasticSearchMySQLIndexTableDocumentRowFieldColumnMappingSchemaQuery DSLSQLaggregationsgroup by,avg,sumcardinality去重 distinctreindex数据迁移 ElasticSearch 中的一个索引由一个或多个分片组成 每个分片包含多个 segment(分…

用 Node.js 写一个爬虫

自己设计一个网站,然后去爬取别人家页面的数据来做一个自己的网站。哈哈哈,如果自己写着玩可能没啥事,但如果用这个网站来获利,你可能就要被寄律师函了,毕竟这有点‘刑’。这篇文章呢,就带大家爬取豆瓣TOP2…

HDMI2.1输入转4Port MIPI/LVDS输出,嵌入式SPI闪存固件存储,VR和AR应用首选国产芯片方案-LT6911GXC

描述 LT6911GXC是一款高性能的HDMI2.1到MIPI或LVDS芯片,用于VR/显示应用。 HDCP RX作为HDCP中继器的上游,可配合其他芯片的HDCPTX实现中继器功能。 对于HDMI2.1输入,LT6911GXC可以配置为3/4通道。自适应均衡使其适合于长电缆应用,…

申请虚拟VISA卡Fomepay教程

fomepay 用下面的注册链接直达 https://gpt.fomepay.com/#/pages/login/index?dS21BA1 或者扫描下面图片的二维码直达注册 注册后尽量随用随充值不建议放大量现金在里面。

【论文解读】用于概念标定的逻辑强化大模型LEFT(NeurIPS 2023)

来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2310.16035 开源代码:https://github.com/joyhsu0504/LEFT 摘要: VisProg 和 ViperGPT 等最新研究成果巧妙地组成了视觉推理的基础模型-…

vscode配置python环境,步骤以及 chatgpt和csdn AI创作助手回答对比

1解决步骤 参考地址 解决步骤 vscode 安装 python插件,并重启vscode,前提是电脑已经配置了python环境,我的电脑已经安装了anaconda 也有python3 新建文件夹 pythonTst ,vscode中菜单栏 File --Add folder toWordSpace — 弹出框…

PNG免抠素材库,免费下载,可商用~

本期分享5个高质量PNG素材网站,让你在工作中大大提高效率,节省更多的时间,赶紧收藏起来吧~ 1、菜鸟图库 https://www.sucai999.com/searchlist/66008----all-0-1.html?vNTYxMjky 网站主要分享设计素材为主。像平面海报、免抠元素、背景图片…

常见推断方法一览:极大似然估计、最大后验估计、期望最大化、贝叶斯推断、马尔科夫链蒙特卡洛方法、变分推断

常见推断方法一览 推断方法区别频率派极大似然估计 MLE最大后验估计 MAP期望最大化 EM 贝叶斯推断 Bayesian马尔科夫链蒙特卡洛方法 MCMC变分推断 VI 推断方法区别 极大似然估计 (Maximum Likelihood Estimation, MLE): 解释: 假设你有一堆骰子,你投掷它们很多次&am…

行车记录仪变清晰,变高清的办法一定要收藏

有时候我们会发现行车记录仪拍摄的视频不够清晰,特别是出现事故需要视频为证的时候,如果视频太模糊,很难获得交警的支持,那么如何让行车记录仪拍摄的视频变得更加清晰呢? 小编给大家分享几个办法,建议收藏…

Getway介绍和使用

Getway 入门简介 网关搭建步骤: 创建项目,引入nacos服务发现和gateway依赖 配置application.yml,包括服务基本信息、nacos地址、路由 路由配置包括: 路由id:路由的唯一标示 路由目标(uri)…
最新文章