计算机图形学-GAMES101-11

news2024/11/15 20:30:49

显式几何的表示方法

Point Cloud

  • 使用一系列点表示物体的表面。
  • 理论上可以表达空间中任何物体。
  • 如物体扫描会得到空间中一系列点,但在建模时我们要提取出大量多边形的面。
  • 点云对密度要求很高,因此不常使用。在这里插入图片描述

Polygon Mesh

  • 使用三角形表示物体。
  • 涉及三角形之间的连接关系。
    在这里插入图片描述
     obj模型文件格式:
    在这里插入图片描述
     v表示按顺序排列的顶点位置数据,在上图中是一个立方体的8个顶点数据。一个立方体具有六个面,使用vn定义法线,在上图中vn不止六个是因为建模软件产生的数据冗余。使用vt表示不同面上顶点的纹理坐标,6个面4个顶点最多有24个vt数据。最后的f表示连接关系,每一行代表一个三角形,用三个顶点的数据表示,每个顶点的数据格式是:顶点序号/顶点纹理坐标序号/顶点法线序号。

Bezier Curve

 用一系列控制点定义一条曲线,控制点定义曲线需要满足的性质:
在这里插入图片描述
 离散时间t,计算曲线上的点。
在这里插入图片描述
 递归算法即可求解:
在这里插入图片描述
 插值计算过程:
在这里插入图片描述
emsp;计算过程:
在这里插入图片描述
 N+1个控制点,组合为多项式。
在这里插入图片描述
 使用三维空间中的点,即可插值出三维空间中的曲线。
在这里插入图片描述
 曲线的性质:
在这里插入图片描述
 形成的曲线一定在控制点形状的凸包内
在这里插入图片描述

Piecewise Bezier Curves

 当控制点太多时,想要调整一条曲线很复杂:
在这里插入图片描述
 为什么要使用那么多控制点呢?使用多条曲线拼接一条长曲线不就行了?
在这里插入图片描述
 使用每四个点(起点-终点-两个弯曲控制点)形成一个曲线:
在这里插入图片描述
 如上图所示,我们使用黑色的起点-终点和两个蓝色的弯曲控制点来表示一条曲线。要注意的是,我们想要连接起来的曲线连续。因为我们知道Bezaer曲线在起点和终点处的切线方向分别都等于它们和对应控制点的连线,因此我们需要使得前一条曲线的终点和对应控制点的连线经过后一条曲线起点的控制点,当然这里说的两条曲线分别的终点和起点其实是一个点,我们要求这三点共线,并且中间拿个点应该是两个控制点的终点,这样才能保证切线的大小相同。最终我们保证了多条曲线在变换方向和大小上的连续。
 以上保证了曲线的C1连续,工业上使用C2连续。
在这里插入图片描述

样条曲线:

在这里插入图片描述
 B样条:
在这里插入图片描述

Bezier Surfaces

在这里插入图片描述

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

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

相关文章

备份树莓派SD卡 — 保姆级教学

在我们树莓派项目开发的过程中,经常遇到以下问题: 1.自己辛辛苦苦开发出来的项目,害怕内存卡损坏,系统被破坏掉,想做一个备份。 2.自己的树莓派内存卡内存不够了,想将原来卡上的内容放在新的大容量内存卡…

Arm微架构分析系列3——Arm的X计划

1. 引言 前文介绍了Arm公司近几年在移动处理器市场推出的Cortex-A系列处理器。Cortex-A系列处理器每年迭代,性能和能效不断提升,是一款非常成功的产品。但是,Arm并不满足于Cortex-A系列每年的架构小幅度升级,又推出了X计划&#x…

esp32CAM环境安装教程---串口驱动安装

前言 (1)本人安装好arduino 的ESP32环境之后, 发现一直下载不进去程序。一直说Cannot configure port, something went wrong. Original message: PermissionError。 (2)查阅了很多资料,用了各种办法&#…

怎么消除文法的左递归性

除文法的左递归性可以采用以下方法: 直接左递归转换为间接左递归消除间接左递归 举例说明: 直接左递归转换为间接左递归 原文法:A → Aα | β 转换后的文法:A → βA A → αA | ε 例如:S → Sabc | ε 转换后…

4. QT中的事件函数 --- 鼠标事件、键盘事件、定时器事件、绘图事件

1. 说明 在QT的控件或者窗口当中,如果对于当前鼠标或者键盘的功能需要自己定义,可以重写父类当中对应虚函数,主要包括以下几个: //键盘按键按下 virtual void keyPressEvent(QKeyEvent *event); //键盘按键抬起 virtual void ke…

11.1网络编程

多线程 一、基础知识概念相关API二、任务创建一个简单的本地客户端迭代服务器select系统调用并发服务器数据报三、总结四、问题一、基础知识 概念 网络编程中客户端和服务器指的是进程,而不是常提到的机器或者主机。注意三个概念:请求、响应、事务。 网络编程中客户端-服务器…

面向对象的三大特性之继承(C++)

文章目录 继承的概念和定义概念定义定义格式继承关系和访问限定符继承基类成员访问方式的变化 基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员菱形继承与虚拟继承菱形继承虚拟继承 继承的总结与反思继承和组合 继承的概念和定义 概念 继…

微信小程序 nodejs+vue+uniapp付费自习室图书馆教室座位系统-

系统分为用户和管理员角色 管理员的主要功能有: 1.管理员输入账户登陆后台 2.个人中心:管理员修改密码和账户信息 3.用户管理:对注册的用户信息进行添加,删除,修改,查询 4.自习室管理:对系统的自…

由浅入深Netty协议设计与解析

目录 1 为什么需要协议?2 redis 协议举例3 http 协议举例4 自定义协议要素4.1 编解码器4.2 什么时候可以加 Sharable 1 为什么需要协议? TCP/IP 中消息传输基于流的方式,没有边界。 协议的目的就是划定消息的边界,制定通信双方要…

每日学术速递5.18

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Make-A-Protagonist: Generic Video Editing with An Ensemble of Experts 标题:Make-A-Protagonist:与专家合奏的通用视频编辑 作者:Yuyang Z…

云端一体助力体验升级和业务创新

随着音视频和AI技术的发展,在满足用户基础体验和需求情况下,更极致的用户体验和更丰富的互动玩法,成为各个平台打造核心竞争力的关键。LiveVideoStackCon 2022 北京站邀请到火山引擎视频云华南区业务负责人——张培垒,基于节跳动音…

虚幻引擎4利用粒子系统实现物体轨迹描绘

虚幻引擎4利用粒子系统实现物体轨迹描绘 目录 虚幻引擎4利用粒子系统实现物体轨迹描绘前言粒子系统利用粒子系统实现物体轨迹描绘创建粒子系统将粒子系统的产生位置绑定到运动物体上 小结 前言 由于在物体运动时,想要观察其总的运动轨迹,以便对其控制做…

Java实现天气预报功能

如果要实现类似百度天气、手机App这样的天气预报功能该如何实现?首先想到的是百度... 背景: 最近公司做了一个项目,天气预报的功能也做上去了,不仅有实时天气、未来7天预报的功能、还有气象预警的功能。 天气包括基本天气、白天夜…

【K8s】什么是helm?helm的常用指令

文章目录 一、Helm介绍1、背景2、介绍3、核心概念4、chart的基本结构5、helm官网 二、部署Helm1、安装helm客户端2、安装Tiller 三、常用指令1、仓库相关 helm repo2、chart相关3、release相关 四、入门案例1、构建第一个chart2、将chart包发布到Repository3、在 Kubernetes 中…

Nacos之服务注册中心

1.Nacos之服务提供者注册 官方文档 1.1.前期工作 1.1.1.新建Module - api-commons POM <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSc…

区块链商业模式

1. 引言 web2 vs web3&#xff1a; 基于区块链的商业模式有&#xff1a; 1&#xff09;Token Economy-Utility Token商业模式2&#xff09;Blockchain As A Service&#xff08;Baas&#xff09;商业模式3&#xff09;Blockchain-Based Software Products商业模式4&#xf…

【C++修炼之路】30.可变参数模板包装器

每一个不曾起舞的日子都是对生命的辜负 C11之可变参数模板&&包装器 前言一.可变参数模板的首次登场二.参数包展开2.1 递归函数方式展开参数包2.2 逗号表达式展开参数包 三.容器的emplace方法四.包装器4.1 什么是function4.2 function包装器的作用4.3 function的实际用途…

使用Redis实现短信验证码登录功能

一、概述 目前微信小程序或网站的登录方式大部分采取了微信扫码或短信验证码等方式&#xff0c;为什么短信验证码登录方式会受到互联网公司的青睐&#xff0c;因为其确实有许多好处&#xff1a; 方便快捷&#xff1a;用户无需记忆复杂的用户名和密码&#xff0c;只需通过短信…

Python共享文件 - Python快速搭建HTTP web服务实现文件共享并公网远程访问

文章目录 1. 前言2. 视频教程3. 本地文件服务器搭建3.1 python的安装和设置3.2 cpolar的安装和注册 4. 本地文件服务器的发布4.1 Cpolar云端设置4.2 Cpolar本地设置 5. 公网访问测试6. 结语 转载自内网穿透工具的文章&#xff1a;Python一行代码实现文件共享【内网穿透公网访问…

全域兴趣电商:国货品牌的新策略、新玩法

【潮汐商业评论/原创】 消费的方向标已经变了。 在消费市场的滚滚浪潮里&#xff0c;国人的“衣食住行”在全面的“国货化”&#xff0c;一个个有颜值有实力的国货品牌如雨后春笋般出现在寻常百姓家&#xff0c;如今在这片肥沃的土壤上正结出适合国人使用的果实。 01 国货二…