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

本文主要是介绍第六课:冷战和消费主义、个人计算机革命、图形用户界面(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
    方便并行处理多个图形,并把图形分成一个个小块来处理。

这篇关于第六课:冷战和消费主义、个人计算机革命、图形用户界面(GUI)及3D图形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

读书摘录《控糖革命》

又到了每周推荐时间,这周末给大家推荐一本书《控糖革命》。身体是革命的本钱,只有保持健康的身体,才能保证持久的生产力,希望我的读者都可以身体健康,青春永驻。 推荐前,首先申明在《控糖革命》一书中,作者提出了一些颇具争议的观点,这些观点并没有经过系统的科学论证,但这并不妨碍我们从中获取一些有益的控糖建议。作者通过分享作者的个人经验和研究,为我们提供了一种全新的饮食理念,帮助我们更好地控制血糖峰值

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank&nbsp;正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money