计算机图形系统相关的输入设备,计算机图形学题目及答案

2023-11-08

- 5 -

 20、边标志填充算法是用什么作为标志?如何实施填充的? 边标志填充算法利用边界色作为标志来进行填充。

当扫描线从左到右扫描时碰到边界色,立刻改变标志的状态,再根据标志的状态决定某象素点是否填充。

 21、将扫描线种子填充算法由实面积填充改为图案填充,则要改变哪些代码? 改动代码为:

(1) 原程序的画点函数putpixel()改为图案填充函数maskpixel(); (2) 加上maskpixel()函数代码;

(3) 原程序中所有对象素值的判断语句除了对前景色的判断外再加上对背景色backgroundcolor的判断。

 22、我国西文字符采用什么编码?中文字符又采用什么编码? 西文字符采用ASCII码;

中文字符采用中华人民共和国国家标准信息交换编码,代号为“GB2312-80”。 23、在计算机内部西文字符和中文字符的机内码分别用几个字节表示,如何编码? 西文字符的机内码用一个字节表示,最高位置0;西文字符的机内码就是ASCII码。 中文字符的机内码用两个字节: 第一字节 = A0+区码的十六进制表示 第二字节 = A0+位码的十六进制表示

24、点阵字符是如何存储的?

点阵字符是由位图表示,保存字符就是保存位图。即点阵字符就是按行或按列进行存储的。  25、矢量字符是如何存储的?

矢量字符保存的是字符的笔画信息而不是整个位图,每一笔画的信息又由其两端点坐标和端点间是否连线的标志组成。

26、矢量字符的优点是什么?

矢量字符存储的是笔画信息,所以存储容量小;另外变换时,是对笔画的两端点进行坐标变换,因此变换速度快,变换效果好,当进行放大变换时,不会出现点阵字符那样的锯齿状。

第三章 二维图形的裁剪

- 6 -

1、什么叫裁剪?

裁剪就是将指定窗口作为图形边界,将窗口内的图形保留,而窗口外的图形则被舍弃的过程。  2、某点(x,y)在窗口内的充分必要条件是什么?

如果裁剪窗口的左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax),某点(x,y)在窗口内的充分必要条件是: xmin≤x≤xmax ymin≤y≤ymax

如果上面四个不等式中任何一个不满足,则(x,y)点位于窗口之外。 3、当线段P1P2穿过某边界L时,交点P见图中所示,请推出直线求交公式。

根据直线两点式方程:

整理后得通用交点公式:

与左边界的求交公式:

与右边界的求交公式:

- 7 -

4、已知窗口左下角坐标(50,50),右上角坐标(400,400),直线的端点坐标P1(40,100)和P2(500,420),试用Cohen-Sutherland直线编码裁剪算法,结合编码图示,求出P1和P2所在区域的分区代码C1和C2。 C1为0001; C2为1010。

5、当线段与窗口边界有交点时,如果线段的长度为1024,用中点分割算法求交点的次数是多少? 10次。

 6、多边形裁剪和直线裁剪不同的地方在哪里?

(1)多边形裁剪后的结果仍应该是封闭的多边形,而不是一些孤立的线段;

(2)裁剪后的多边形仍应保留原多边形各边的连接顺序并加入一些新顶点(交点、窗口顶点)和删除界外顶点;

(3)一个凹多边形裁剪后,可能分裂为几个多边形。  7、Sutherland-Hodgeman多边形裁剪的裁剪规则是什么?

在用窗口一条边界及其延长线裁剪一个多边形时,该边界及其延长线把平面分成两个部分:一部分包含窗口,称为窗口内侧;另一部分称为窗口外侧。依序考虑多边形各条边的两端点S、P(箭头表示顺序关系,S为前一点,P为当前点)。它们与裁剪线的位置关系只有四种情况: (1)S在外侧,P在内侧。则交点Q、当前点P保存到新多边形中。 (2)S、P均在内侧,则当前点P保存到新多边形中。 (3)S在内侧,P在外侧。则交点Q保存到新多边形中。 (4)S、P均在外侧。则没有点被保存到新多边形中。 8、为什么Sutherland-Hodgman算法叫逐边裁剪算法?

因为该算法对多边形进行裁剪时,每次只对窗口的一条边界及其延长线进行裁剪。 如果窗口有n个边界,该算法就要调用n次。

每次裁剪中,上次裁剪的结果多边形就是下次裁剪时的被裁剪多边形。

9、Weiler-Atherton多边形裁剪算法与Sutherland-Hodgeman算法相比有哪些特点? (1)Sutherland-Hodgeman算法解决了裁剪窗口为凸多边形区域的问题,但一些应用需要涉及任意多边形窗口的裁剪。而Weiler-Atherton多边形裁剪算法可以实现裁剪窗口、被裁剪多边形是任意多边形:凸的、凹的(内角大于180o)、甚至是带有内环的(子区)。 (2)可实现被裁剪多边形相对裁剪窗口的内裁或外裁,即保留窗口内的图形或保留窗口外的图形,因此在三维消隐中可以用来解决物体表面间的相互遮挡关系。 (3)裁剪思想新颖,方法简洁,裁剪一次完成,与裁剪窗口的边数无关。

- 8 -

 10、字符的裁剪有几种策略? (1)基于字符串的裁剪策略。 (2)基于字符的裁剪策略。

(3)基于构成字符的最小元素的裁剪策略。

第四章 交互技术

1、在图形系统中,人是如何与计算机进行交互的?

在图形系统中,用户可以利用鼠标、键盘、数字化仪、扫描仪等输入设备对图形数据进行输入、定位、拖动、拾取、修改和拷贝,来进行各种交互操作。  2、常用的物理输入设备有哪些?

常用的物理输入设备有:键盘、鼠标、跟踪球、操纵杆、数字化仪、光笔、扫描仪、触摸屏等。

3、鼠标是一种用来定位屏幕光标的图形输入设备,你知道它是绝对定位设备还是相对定位设备?

由于鼠标检测到的是相对当前位置的运动方向和距离,因此它是一种相对坐标定位设备。 4、数字化仪用作定位设备时,它是绝对定位设备还是相对定位设备? 数字化仪是绝对坐标定位设备。  5、为什么要引入逻辑输入设备的概念?

图形系统使用逻辑输入设备的概念来减少系统对物理设备的依赖性,提高系统的独立性和灵活性。

6、有哪几种逻辑输入设备?

有六种逻辑输入设备:定位设备、笔划设备、字符串设备、定值设备、选择设备、拾取设备。 7、哪些物理输入设备可以用来作为逻辑定值设备使用?

键盘上的数字键可以用来作为逻辑定值设备,用户按照指定的格式键入数值即可。 通过在图形显示器上显示出标尺、刻度盘、滑杆、按钮等辅助工具,数字化仪、鼠标、操纵杆等定位设备也可以被用来实现逻辑定值设备的功能。  8、在应用程序和输入设备之间,常用的输入方式有哪些?

常用的输入方式是:请求(Request)、采样(Sample)和事件(Event)。 9、在请求方式下,应用程序和输入设备之间是如何工作的?

请求方式下,程序发出从某设备输入数据的请求,接着便等待用户输入数据,得到“允许从该设备输入”的回答后再将数据读入。这完全类似在高级语言中用读(read/scanf)命令从键盘上获得数据。在这种方式中,应用程序和数据输入是交替工作的,如果要求进行数据输入时,用户不进行输入,则整个程序被挂起。所以在要求输入时应对用户显示提示信息。字符或数据输入时往往采用这种方式。

10、常用的交互技术有哪些?

常用的交互技术有:对话框技术、橡皮筋技术、约束技术、网格技术、引力场技术、拖动技术、操作柄技术、菜单技术等。

 11、对话框技术可以解决哪些问题?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机图形系统相关的输入设备,计算机图形学题目及答案 的相关文章

  • 可视化卡片笔记写作?我试了最近才开放的 Heptabase

    2021 年 12 月末 我在微信里面读了 Alan 詹雨安 Heptabase 开发者 的文章 立即对更名不久的 Heptabase 来了兴趣 靠着海玮的邀请 我加入了 Heptabase 的 Discord 做了自我介绍 当然 也加入了
  • js常用hook

    一 Hook 技术原理 Hook是一种钩子技术 在系统没有调用函数之前 钩子程序就先得到控制权 这时候钩子函数既可以加工处理该函数的执行行为 也可以强制结束消息的传递 简单来说就是修改原有的js代码就是hook JS 是一种弱类型语言 同一
  • GB28181平台如何接入无人机实现智能巡检?

    大家都知道 无人机巡检系统 有效解决了传统巡查工作空间和时间局限问题 降低人力工作成本 有效替代人工巡检工作模式 智能巡检系统通过人工智能技术和机械智能技术完美结合 在工业等场景下 应用非常广泛 本文旨在讲如何实现无人机 如大疆无人机 数据
  • Java泛型机制

    Generics 泛型 一个接口或类可能被声明为一个或者多个类型的参数 该类或接口写在尖括号中 提供的实体类需要属于该接口或类 Generic Programming 泛型编程 泛型类可以是编码更安全以及方便阅读 尤其是在集合类中 Java
  • 【隧道篇 / PPTP&L2TP】(5.2) ❀ 01. PPTP & L2TP 连接 ❀ FortiGate 防火墙

    简介 虽然有SSL 但是因为要安装 FortiClient 客户端软件 很多人还是喜欢用PPTP或L2TP 理由很简单 那就是只要是Windows就可以连 不用安装其它软件 PPTP 与 L2TP 协议的联系与区别 PPTP Point t
  • JAVA三种多数据源配置详解(一)

    在大型项目的开发中 我们可能因为微服务 分布式 集群等架构的影响 而需要到不同的数据库中去查询需要对应的数据 这时 单一的数据库配置就无法满足业务需求 下面我会介绍集中不同场景下的多数据源配置 大家可以根据自身情况进行选择和实现 yml文件
  • 纪念古龙诞辰:论古龙的江湖为何没有一“tong”?

    古龙 nbsp 原名熊耀华 1938年6月7日生于香港 武侠小说家 新派武侠小说泰斗 代表作品 多情剑客无情剑 绝代双骄 楚留香传奇 武林外史 等 有人喜欢金庸 也有很多人喜欢古龙 他们之间的同与不同 以及那些至今仍然令我们备受感动的地方
  • vue中a标签下载本地文件-未找到【已解决】

    首先看一下我的情况 如下 目录如图 代码如下 a href public kjxz pptx 课件下载 a 一切看起来很正常 但是结果如下 然后我搜了一下发现原来href路径的问题 原来使用 public kjxz pptx 文件会找不到
  • 漫步IOS--三目运算符、switch、枚举

    1 三目运算符 三目运算符的定义 表达式1 表达式2 表达式3 例如 a gt b 2 5 三木运算符也是有返回值的 返回值等于对应的表达式的返回值 2 switch 在c语言中 switch只支持整型 但是这里的整型包括 整型 字符 布尔
  • 如何将文档上传到 ChatGPT

    OpenAI 一直在为 ChatGPT 添加几个有趣的功能 包括对网页浏览和插件的支持 但是 仍然没有办法本地上传文档并根据其上下文提出问题 当然 有些用户可以在他们的数据上训练 AI 聊天机器人 但并不是每个人都了解如何设置工具和库 因此
  • 华为OD机试 C++ 去除多余空格

    题目 你需要写一个功能 它能处理一段文本 去除其中不必要的空格 但是如果这些空格被一对单引号包围起来 就保留它们不变 同时 你还要调整一些特定词汇的位置 这些词汇的位置会以坐标的方式给出 坐标要基于新的文本 特别注意 关键词的位置一定不是空
  • Unity 入门 Input 类

    1 获得键盘 Input GetKey KeyCode A Input GetKeyDown KeyCode A Input GetKeyUp KeyCode A 2 获得鼠标信息 Input mousePosition 鼠标位置 Inpu
  • 关系型数据库是如何运作的

    一说到关系型数据库 我总感觉缺了点什么 如果你尝试透过 关系型数据库是如何运作的 的关键词句来进行搜索 其搜索结果是少量的而且内容是简短的 难道说是由于它已经太老旧而已经不再流行吗 作为一名开发者 我讨厌使用我不明白的技术 此外 关系型数据
  • s、x、t -learner

  • DICOM之Transfer Syntax

    Transfer Syntax A Transfer Syntax is a set of encoding rules able to unambiguously represent one or more Abstract Syntax
  • ChatGPT在线个人小助手应用搭建

    ChatGPT在线个人小助手应用搭建 在线体验 点我在线体验 因为openAI账户申请后会默认有18美元的账户 openAI每次调用大概会花掉0 01美元 所以为了防止恶意刷api 无意义聊天 页面做了密码限制 如果密码不对 是不会启用op
  • mysql存储引擎层和服务器层,MySQL底层架构原理,工作流程和存储引擎的数据结构讲解...

    数据库 DataBase 是存放用户数据的地方 当用户访问 操作数据库中的数据时 需要数据库管理系统的帮助 数据管理系统的全称是DataBase Management System 简称DBMS 通常情况下我们会把数据库和数据库管理系统笼统
  • 网页端无法复制粘贴的解决方案

    由于瑞格系统无法复制粘贴 写java代码比较难受 所以就找了一些方法来解决网页端无法复制粘贴的问题 1 打开浏览器的设置界面 并打开拓展程序 2 在拓展程序中选择左上角的拓展程序 并打开Chrome网上应用商店 3 在Chrome网上应用商
  • 多线程JUC并发篇常见面试详解

    文章目录 1 JUC 简介 2 线程和进程 3 并非与并行 4 线程的状态 5 wait sleep的区别 6 Lock 锁 重点 1 Lock锁 2 公平非公平 3 ReentrantLock 构造器 4 Lock 锁实现步骤 7 syn

随机推荐

  • 百炼成钢;JavaScript逆向九大专题详解

    JavaScript是一种脚本语言 通常用于在Web浏览器中编写交互式前端应用程序 它是一种解释性语言 可以在客户端 浏览器 和服务器端 Node js 上运行 JavaScript可以用于创建动态网页 Web应用程序 游戏 移动应用程序等
  • unity 获取鼠标键盘

    unity 获取鼠标键盘 在做项目中我们经常会用到鼠标键盘 那么怎么去获取鼠标键盘呢 接下里我带大家了解一下 首先是获取鼠标 大家记住无论是获取鼠标还是获取键盘都要用到unity中的一个小小的组件首先在unity上方的选项卡中选择edit
  • RocketMQ(三) broker启动

    RocketMQ源码版本V5 0 0 可兼容之前的版本 因为整理资料的时候 之前的版本 和V5版本有所出入 核心流程基本还是大同小异的 此前已经总结了NameServer的启动流程源码 现在来了解Broker的启动流程 在RocketMQ启
  • 第一章 基础算法(一)ACwing 快速,归并,二分

    第一章 基础算法 一 一 内容概述 主要思想掌握 深刻的理解 代码模板理解以及背过 掌握思想 模板题目练习 理解 记忆 1 排序 快排 归并排序 2 二分 整数二分 浮点数二分 二 快速排序 快速排序的主要思想是基于分治的 第一步就是是确定
  • gd32F450单片机 ADC+DMA

    接触国产单片机不久 好多配置的东西记不住 写下来分享然后也方便自己以后拿来看看 欢迎大家把踩坑的部分分享一下 本次是ADC配置和DMA采集的配置部分 某些参数错误会导致内存溢出 影响到其他变量或者参数表的值 引脚为PB0和PB1两个 一 相
  • 三款强大的 AI 编程工具,可以轻松替换 Github Copilot

    大家好 提起Github Copilot 相信很多读者朋友们都听说过甚至使用过 作为Github研发的一款先进的编程辅助插件 它可以在我们日常编写代码的过程中 根据代码的上下文内容 注释等信息自动推断生成高质量的代码 很大程度上提升我们的代
  • Linux中一个网络包的发送/接收流程

    如果你对Linux是如何实现 对用户原始的网络包进行协议头封装与解析 为什么会粘包拆包 期间网络包经历了哪些缓冲区 经历了几次拷贝 CPU DMA TCP又是如何实现滑动 拥塞窗口 这几个话题感兴趣的话 不妨看下去吧 1 Linux发送HT
  • linux系统下重启网络服务的两种方法

    linux系统下重启网络服务的两种方法 发布时间 2020 04 02 11 25 25 来源 亿速云 阅读 207 作者 小新 今天小编给大家分享的是linux系统下重启网络服务的两种方法 很多人都不太了解 今天小编为了让大家更加了解li
  • 【android系统】android系统升级流程分析(二)---update升级包分析

    接下来我们将通过几篇文章来分析update zip包在具体Android系统升级的过程 来理解Android系统中Recovery模式服务的工作原理 今天让我先来分析下升级包update zip 一 目录结构 update zip包的目录结
  • Linux 线程创建

    如何创建线程 看来多线程还是有很多好处的 接下来我们来看一下 如何使用线程来干一件大事 假如说 现在我们有 N 个非常大的视频需要下载 一个个下载需要的时间太长了 按照刚才的思路 我们可以拆分成 N 个任务 分给 N 个线程各自去下载 我们
  • unittest笔记+用ddt后找不到用例的坑

    unittest notes what is unittest unittest 是python单元测试框架 类似于JUnit框架 4 important concepts test fixture 测试脚手架 对一个测试用例环境的搭建和销
  • 安卓前台服务的使用(简单)

    首先是 AndroidManifest xml 文件
  • 数据结构:力扣OJ题(每日一练)

    题一 有效的括号 给定一个只包括 的字符串 s 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 每个右括号都有一个对应的相同类型的左括号 示例 2 输入 s 输出 true 思路一 第一步
  • spring如何开启允许循环依赖

    如何解决spring循环依赖 在Spring框架中 allowCircularReferences属性是用于控制Bean之间的循环依赖的 循环依赖是指两个或多个Bean之间相互依赖的情况 其中一个Bean依赖于另一个Bean 同时另一个Be
  • 人工智能用哪个版本linux,Linux各个版本应用在哪些场景?你都了解吗?

    Linux是非常热门的技术 随着应用领域不断拓展 越来越多的人都想要加入Linux行业中 当我们进入行业确定好自己发展路线之后 就是选择一个合适的Linux版本 但是对于很多人都是比较头疼的问题 Linux各个版本应用在哪些场景 为大家介绍
  • Gof23设计模式之命令模式

    1 概述 将一个请求封装为一个对象 使发出请求的责任和执行请求的责任分割开 这样两者之间通过命令对象进行沟通 这样方便将命令对象进行存储 传递 调用 增加与管理 2 结构 命令模式包含以下主要角色 抽象命令类 Command 角色 定义命令
  • 解决导入torchvision(import torchvision)库执行时报错,但是导入torch库(import torchvision)执行却正常的问题。

    参考了网上各种说法 最终采用了torchvision和torch库版本不兼容的说法 完美运行 解决办法如下 1 卸载原torchvision pip uninstall torchvision 2 重新安装低版本的torchvision p
  • C++ Pat甲级1007 Maximum Subsequence Sum (25 分)(dp)

    1007 Maximum Subsequence Sum 25 分 Given a sequence of K integers N 1 N 2 N K A continuous subsequence is defined to be N
  • 什么是Web3 ?它是如何工作的?

    Web3提供了一种潜在的解决方案 可以更容易地在万维网上找到内容的原始来源 我们将讨论Web 3是什么以及它是如何工作的 万维网一直以来都是一个不受限制地创造和分享信息和思想的平台 虽然这让世界感觉更小 但它也有它的缺点 即难以确定内容的原
  • 计算机图形系统相关的输入设备,计算机图形学题目及答案

    5 20 边标志填充算法是用什么作为标志 如何实施填充的 边标志填充算法利用边界色作为标志来进行填充 当扫描线从左到右扫描时碰到边界色 立刻改变标志的状态 再根据标志的状态决定某象素点是否填充 21 将扫描线种子填充算法由实面积填充改为图案