计算机图形学

说明位图,矢量图,像素,分辨率,PPI,DPI?

只谈情不闲聊 提交于 2019-12-05 19:35:56
说明位图,矢量图,像素,分辨率,PPI,DPI? 显示全部 关注者 28 被浏览 7,031 关注问题 写回答 ​邀请回答 ​添加评论 ​分享 ​ 2 个回答 默认排序 刘凯 21 人赞同了该回答 位图:位图图像(bitmap), 亦称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。只要有足够多的不同色彩的像素,就可以制作出色彩丰富的图象,逼真地表现自然界的景象。缩放和旋转容易失真,同时文件容量较大。bmp,jpg,gif,png。便携式网络图形(Portable Network Graphics,PNG)是一种无损压缩的位图图形格式,截图首选png格式。 矢量图像:由数学向量组成,文件容量较小,在进行放大、缩小或旋转等操作时图象不会失真,缺点是不易制作色彩变化太多的图象。 像素:像素,又称画素,为图像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,故“像素”表示“图像元素”之意。像素表示图形尺寸的大小。不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。也正是因为如此才造成了UI在小分辨率设备上被放大而失真

计算机图形学押题(更新中...)

半腔热情 提交于 2019-12-05 17:51:41
已经形成了某多面体的顶点表 边表和面表,怎样写程序检查三张表中的整体一致性 平面上有多个红点和多个蓝点,问是否存在一条直线,能够让所有红点在一侧,蓝点在另一侧.请设计一个算法判断. 设空间有两条线段AB和CD,其端点坐标分别为 , 和 , ,怎样判断它们是否相交?若相交,求出交点坐标。 写一个算法,能迅速地判断一条直线与一个凸多边形是否相交,若相交求出交点。 *解答:* 设直线由两点 和 确定,凸多边形由顶点序列 、 ··· (共n个顶点)确定。 算法的基本思想是:取多边形一条边,判断该边的两个端点是否在直线的同侧,如果在同侧,则该边与直线无交点;如果两个端点在直线的异侧,则线段与直线有交点,计算交点。依次检查多边形的所有边即可求出多边形与直线的所有交点,因为是凸多边形,所以交点最多有两个,算法可以在求出两个交点后就停止。判断点在直线的那一侧可使用第四节第二部分中介绍的方法,计算交点采用第一节中介绍的线段求交点中使用的方法。 算法具体过程如下: (1) 首先计算A=y2-y1;B=x1-x2;C=x2y1-x1y2; (2) 取多边形的P0点为P1,计算d1=A P1.x+B p1.y+C (3) for (i=1; i<=n; i++) { 1) 取多边形的下标为i%n的点为P2(这样可以在i=n时取P0点); 2) 计算d2=A p2.x+B p2.y+C 3) if (d1=

实验5 OpenGL变换综合练习

Deadly 提交于 2019-12-05 00:23:55
1 .实验目的: 理解掌握OpenGL程序的投影变换,能正确使用投影变换函数,实现正投影与透视投影。 2 .实验内容: (1) 使用图a中的尺寸绘制小桌,三维效果图见图b。要求绘制小桌各部件时只能使用函数glutSolidCube()和变换函数,不能使用函数glVertex()等直接指定顶点位置; (2)添加键盘按键或右键菜单控制实现小桌效果图在正投影和透视投影模式间的切换;在此基础上,考虑一点透视、两点透视、三点透视三类效果图的显示。 3 .实验原理: OpenGL通过相机模拟、可以实现 计算机 图形学中最基本的三维变换,即几何变换、投影变换、视口变换等,同时,OpenGL还实现了矩阵堆栈等。理解掌握了有关坐标变换的内容,就算真正走进了精彩地三维世界。 一、OpenGL中的三维物体的显示 (一)坐标 系统 在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维 数据 联系在一起的唯一纽带就是坐标。 为了使被显示的三维物体数字化,要在被显示的物体所在的 空间 中定义一个坐标系。这个坐标系的长度单位和坐标轴的方向要适合对被显示物体的描述,这个坐标系称为世界坐标系。世界坐标系是始终固定不变的。 OpenGL还定义了局部坐标系的概念,所谓局部坐标系,也就是坐标系以物体的中心为坐标原点,物体的旋转或平移等操作都是围绕局部坐标系进行的,这时

图片格式——位图与矢量图

≡放荡痞女 提交于 2019-12-04 04:44:33
☆图片格式 ㈠位图 ①位图又称为点阵图像,是由像素(图片元素)的单个点组成的。通常分为8位,16位,24位和32位。 ②所谓8位图并不是只有8种颜色,而是2的8次幂(即256)种颜色,8位图指的是用8个bits来表示颜色,对人眼的感觉来说,16位色基本能满足需要了。 ③24位又称为“真色彩”,2的24次幂,大概有1600万种颜色之多,这个数字差不多是人眼可以分辨颜色的极限了。 ④32位色并不是2的32次幂,其实也是2的24次幂,不过它添加了2的8次幂阶颜色的灰度,也就是8位透明度,因此规定它为32位色。 ⑤在制作页面的时候,一般选用24位图像。因为32位图像会带来更大的图像容量,会使浏览器加载页面速度变慢。 ⑥放大原始位图,图像会失真,缩小原始位图,同样会使图像效果失真,这是因为缩小图像,减少的是图像中像素的数量。 ㈡位图格式 ①JPG格式 jpg可以很好地处理大面积色调的图像,如相片,网页中一般的图片 ②PNG格式 PNG支持透明信息。所谓透明,即图像可以浮现在其他页面文件或页面图像之上。可以说PNG是专门为web创造的图像,通常大部分页面设计者在页面中加入logo或者一些点缀的小图像时,都会选用PNG格式。PNG格式图片体积小,而且无损压缩,能保证网页打开速度,所以PNG格式图片是很好地选择。 ③GIF格式 GIF只支持256色以内的图像。所以,GIF格式的图片效果是很差的

计算机图形学——人机交互绘图技术

江枫思渺然 提交于 2019-12-03 23:56:56
人机交互(Human-Computer Interaction)是指用户与计算机系统之间的通信 ,它是人与计算机之间各种符号和动作的双向信息交换。这里“交互”定义为一种通信,即信息交换,并且是一种双向信息交换,可由人向计算机输入信息,也可由计算机向用户反馈信息。 HCI人机交互技术的来源: 一、基本的图形输入设备 为了使图形软件包具有通用性,图形输入命令不涉及具体的输入设备,只涉及该命令所需要的数据。根据输入信息的不同性质,图形核心系统GKS和三维图形系统PHIGS把输入设备在逻辑上分成以下几类: 1、定位设备 定位设备(Locator)用于 指定用户空间的一个位置 ,如指定一个圆的圆心,或确定一条直线的两个端点。 其输入方式包括 直接或间接 在屏幕上输入、设置数值坐标等。 直接输入设备:光笔、触摸屏 直接输入设备可以直接在屏幕上定位 纯机械鼠标 工作的原理很简单,它采用一个小滚球和桌面接触,当滚球移动的时候,滚球推动压力滚轴滚动,滚轴的另一边连着编码器,在每个编码器上呈圆形排列的触点。当滚球滚动时,经过传导,使触点会依次碰到接触条,从而产生计算机容易辨认的 “接通”和“断开”,即“0”和“1”信号。通常鼠标内部有一个芯片会根据这些数据转换成“X”和“Y”轴的位移,从而使光标移动。 机械光电鼠标 : 1.接触桌面的一个内置的球,当鼠标移动时跟着一块滚动。 2.接触球的两个滑轮

计算机图形学——投影

假装没事ソ 提交于 2019-12-03 09:51:50
1、投影变换 由于显示器和绘图机只能用二维空间来表示图形, 要显示三维图形就要把三维坐标表示的几何形体变换成二维坐标表示的图形,这就是图形的投影变换。 需要记住的一点是,计算机绘图是产生三维物体的二维图像。但在屏幕上绘制图形的时候,必须在三维坐标系下来考虑画法 在创建一个三维图形时,不要考虑二维平面图像。 投影变换的要素 视点(投影中心),投影平面 投影线,投影方向 投影变换的类型 透视投影: 投影中心和投影面之间的距离是有限的 平行投影: 投影中心和投影平面之间的距离是无限的 根据投影方向与投影平面之间的关系,平行投影分为正投影与斜投影 来源: https://www.cnblogs.com/wkfvawl/p/11786125.html

计算机图形学――光照模型

匿名 (未验证) 提交于 2019-12-03 00:33:02
1.三维图形处理 第一步:消隐解决物体深度的显示及确定物体之内的相互关系 第二部:在解决了消隐问题之后,在可见面上明暗光泽的处理 2.简单光照模型 当光照射在某一物体的表面时,它将被吸收、反射(漫反射 镜面反射)或透射。 3.Gouraud明暗处理 亮度线性插值 这种处理方法会造成(马赫带效应)表面上出现过亮或过暗的条纹 4.Phong明暗处理 法线线性插值 5.透明 6.阴影处理 本影 半影 自身阴影 投射阴影 7.纹理 8.运用光照模型的光线跟踪算法 文章来源: 计算机图形学――光照模型

Unity shader学习笔记(一)―― 渲染流程

匿名 (未验证) 提交于 2019-12-03 00:03:02
文章目录 渲染流水线 OpenGL 和 DirectX GPU做的事情 总结 渲染流水线 为了渲染一个模型,我们需要知道这个模型的每个顶点信息,有可能还需要知道由几个顶点构成的每个片元的颜色,这个颜色可能是直接指定的顶点颜色然后做的插值,也可能是用一张纹理“贴”上去,然后还要经过顶点变换,裁剪,等等操作,最后才渲染到屏幕上。为了加快这些步骤的执行,我们希望能够将这些步骤拆分成具体的几步,参考CPU指令流水线的思想,用流水线的思想加快执行。 在这些步骤中,可以分成两个部分。一部分在CPU上执行,一部分在GPU上执行。一开始模型的信息都存储在硬盘上,然后CPU要将其读取到内存中,之后设置一些渲染的状态(比如使用哪张纹理,顶点变换规则,颜色计算规则等等),然后将渲染状态和模型的顶点信息发送到显存,再发送一个指向该渲染状态的渲染命令 Draw Call ,通知GPU读取该渲染状态和模型顶点信息,开启第二部分的步骤绘制模型。而在第二部分中,又可以拆分出来两部分。总共三部分的步骤,分别如下: 应用阶段 几何阶段 光栅化阶段 其中应用阶段在CPU上执行,几何阶段和光栅化阶段在GPU上执行。这三个部分里面的十几个步骤(下文提及)最终构成了整个渲染流水线的元素。 注意上文提到的渲染命令,CPU有可能会发送多个,这些命令都会发送到一个命令缓存中,再由GPU一一读取。 OpenGL 和 DirectX

贝塞尔曲线

匿名 (未验证) 提交于 2019-12-02 23:38:02
滴滴三面问了这个, 贝塞尔曲线: 在计算机图形学中广泛应用,用来描述矢量曲线或线段 二阶 三阶 注意: 每个线段之间从开始到结尾的移动时间都是相同,按比例的 前端涉及到的地方: 1.用Canvas可以画贝塞尔曲线 2.css动画中的动画属性 animation-timing-function transition-timing-function 负责控制动画快慢的,预定义了五个贝塞尔曲线对应值 Cubic-bezier() 更多资料: https://cubic-bezier.com/

计算机图形学——窗口到视口的变换

元气小坏坏 提交于 2019-12-02 12:23:22
一、窗口和视口 世界坐标系中要显示的区域(通常在观察坐标系内定义)称为 窗口 。 窗口映射到显示器(设备)上的区域称为 视口 (或称视区) 。 窗口定义显示什么;视口定义在何处显示 世界坐标系中的一个窗口可以定义对应于多个视口 如何将窗口内的图形在视口中显示出来呢? 必须经过将窗口到视口的变换处理,这种变换就是观察变换(Viewing Transforma)。 二、观察变换 1、变焦距效果 当窗口变小时,由于视口大小不变,就可以放大图形对象的某一部分,从而观察到在较大的窗口时未显示出的细节。 而当窗口变大,视口不变时,视口内显示的内容不断变小。 类似于照相机的变焦处理。 来源: https://www.cnblogs.com/wkfvawl/p/11745248.html