随笔分类 -  计算机图形学

摘要:目录基本概念插值、逼近样条参数连续性条件几何连续性条件样条描述三次样条插值自然三次样条Hermite插值Bézier 样条曲线曲线公式如何绘制Bezier曲线?Bézier曲线特性三次Bézier曲线参考 基本概念 样条(spline):通过一组指定点集而生成的平滑曲线的柔性带。 样条曲线(spli 阅读全文
posted @ 2023-11-03 21:34 明明1109 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:目录基本概念动画的光栅方法双缓存用光栅操作生成动画动画序列的设计传统动画技术计算机动画语言关键帧系统变形模拟加速度OpenGL动画函数 基本概念 计算机动画(computer animation):场景中任何随时间而发生的视觉变化。 计算机生成的动画,通过几何变换改变对象位置、大小,随时间改变颜色、 阅读全文
posted @ 2023-10-27 22:43 明明1109 阅读(62) 评论(0) 推荐(0) 编辑
摘要:目录基本概念状态变量颜色和灰度RGB颜色分量灰度OpenGL颜色函数OpenGL RGB和RGBA颜色模型OpenGL颜色索引模式OpenGL颜色调和OpenGL颜色数组其他OpenGL颜色函数点的属性OpenGL点属性函数线的属性OpenGL线属性函数其他线效果填充区属性填充模式颜色调和填充区域填 阅读全文
posted @ 2023-10-23 16:35 明明1109 阅读(126) 评论(0) 推荐(0) 编辑
摘要:目录图元概念坐标系统屏幕坐标OpenGL中指定2D坐标系统OpenGL画点函数OpenGL画线填充区图元多边形填充区多边形分类识别凹多边形分割凹多边形将凸多边形分割成三角形集多边形的内-外测试多边形表平面方程前向面与后向面OpenGL多边形填充区函数OpenGL顶点数组像素阵列图元位图图像字符图元O 阅读全文
posted @ 2023-10-23 13:50 明明1109 阅读(129) 评论(0) 推荐(0) 编辑
摘要:目录图形软件分类坐标图形功能软件标准OpenGL简介OpenGL语法相关库头文件GLUT窗口管理一个典型的OpenGL程序OpenGL出错处理 图形软件分类 图形软件有2类:专用软件包、通用编程软件包。 专用软件包:为非程序员设计,在某些应用中能用来生成图形、表格,不必关心图形函数。接口通常是一组菜 阅读全文
posted @ 2023-10-23 09:03 明明1109 阅读(67) 评论(0) 推荐(0) 编辑
摘要:目录方阵的特征值与特征向量特征方程特征子空间小结参考 方阵的特征值与特征向量 特征方程 定义:设\(A=\begin{bmatrix}a_{ij}\end{bmatrix}\)是n阶方阵,若有λ和非零向量x,使得 \[\tag{1} Ax=λx \]成立,则称λ为方阵A的特征值,非零向量x为A的属于 阅读全文
posted @ 2023-10-21 16:37 明明1109 阅读(106) 评论(0) 推荐(0) 编辑
摘要:目录特殊二维变换反射错切小结特殊三维变换三维反射三维错切 平移、旋转、缩放这些属于基本变换,还有一些特殊二维变换如反射、错切。本文讲特殊二维变换。 特殊二维变换 反射 产生对象镜像的变换,称为反射(reflection)。 反射镜像如何得到? 通过将对象绕反射轴旋转180°。反射轴(axis of 阅读全文
posted @ 2023-10-20 22:06 明明1109 阅读(295) 评论(0) 推荐(0) 编辑
摘要:目录三维观察概述三维场景观察投影深度提示三维观察流水线三维观察坐标系参数观察平面法向量N观察向上向量Vuvn观察坐标系世界坐标系=>观察坐标系 该部分分2篇:1)三维观察之基本概念;2)三维观察之投影及变换。 三维观察概述 观察函数通过一组将对象的指定视图投影到显示设备表面上的过程,来处理对象的描述 阅读全文
posted @ 2023-10-17 21:53 明明1109 阅读(229) 评论(0) 推荐(0) 编辑
摘要:目录二维坐标系变换由旋转角进行坐标系转换构造旋转矩阵正交矩阵概念利用正交矩阵构造旋转矩阵三维坐标系变换利用正交矩阵构筑旋转矩阵小结 将对象的描述从一个坐标系转换到另一个,在图形应用非常重要。本文主要从坐标的角度,探讨二维、三维空间下的对象如何从一个坐标系转换到另一个坐标系。 坐标系:除了笛卡尔坐标系 阅读全文
posted @ 2023-10-13 09:06 明明1109 阅读(1655) 评论(0) 推荐(0) 编辑
摘要:目录三维平移点的平移对象的平移三维旋转绕主轴旋转绕任意轴旋转三维缩放相对于原点的缩放相对于任意点的缩放三维复合变换OpenGL矩阵栈 三维几何变换,是在二维基础上扩展z坐标得到。三维位置齐次坐标表示为4元列向量。任意三维变换序列,可合并相应变换矩阵,而得到一个复合变换矩阵来表示。 三维平移 点的平移 阅读全文
posted @ 2023-10-08 15:38 明明1109 阅读(300) 评论(0) 推荐(0) 编辑
摘要:四元数定义 四元数(quaternion)是一个复数,带1个实部+3个虚部: \[\tag{1} q=s+ia+jb+kc \]其中,虚数项系数a、b、c为实数;参数s也是实数,称为标量部分(scalar part)。参数i、j、k为虚数单位,有如下特性: \[\tag{2} \begin{alig 阅读全文
posted @ 2023-10-07 18:33 明明1109 阅读(572) 评论(0) 推荐(0) 编辑
摘要:目录裁剪算法Cohen-Sutherland线段裁剪算法基本思想具体步骤计算分析程序代码 裁剪算法 计算机内部存储的图形数据量通常较大,而屏幕只显示其中一部分,因此需要确定哪些部分在显示区域内,哪些在显示区域外。这个过程称为裁剪(clipping)。 裁剪是二维观察(三维观察)的重要部分,参见计算机 阅读全文
posted @ 2023-10-01 17:55 明明1109 阅读(1346) 评论(0) 推荐(1) 编辑
摘要:目录二维观察流水线裁剪窗口观察坐标系裁剪窗口规范化和视口变换裁剪窗口->规范化视口OpenGL二维观察函数OpenGL投影模式GLU裁剪窗口函数OpenGL视口函数GLUT显示窗口执行app(main loop)背景函数(idle function)查询系统参数裁剪算法点裁剪线段裁剪 二维观察流水线 阅读全文
posted @ 2023-09-12 14:52 明明1109 阅读(159) 评论(0) 推荐(0) 编辑
摘要:目录基本的二维几何变换二维平移二维旋转二维缩放矩阵表示、齐次坐标齐次坐标矩阵表示逆变换复合变换复合二维平移复合二维旋转复合二维缩放通用二维基准点旋转通用二维定向缩放二维刚体变换OpenGL几何变换函数基本OpenGL几何变换OpenGL矩阵操作 基本的二维几何变换 几何变换(geometric tr 阅读全文
posted @ 2023-09-08 17:51 明明1109 阅读(440) 评论(0) 推荐(0) 编辑
摘要:[TOC] # 椭圆特性 * 椭圆定义 椭圆:平面内到定点F1、F2的距离之和等于常数2a(2a>|F1F2|)的动点P的轨迹。 椭圆数学表达式: $$ \tag{1} |PF1|+|PF2|=2a $$ F1、F2称为椭圆的2个**焦点**,两焦点之间距离2c(|F1F2|=2c)称为**焦距** 阅读全文
posted @ 2023-09-06 09:50 明明1109 阅读(580) 评论(0) 推荐(0) 编辑
摘要:[TOC] # 问题背景 如何在屏幕上绘制一个圆? 可以先看看圆的特性,根据其特性决定如何绘制。。 * 圆的特性 圆定义:所有距离中心位置(xc, yc)为给定值r的点集。 圆的方程: $$ (x-x_c)^2+(y-y_c)^2=r^2 \tag{1} $$ * 根据圆的方程绘制圆 若沿着x轴从$ 阅读全文
posted @ 2023-09-04 10:48 明明1109 阅读(1789) 评论(0) 推荐(0) 编辑
摘要:[TOC] Bresenham算法是图形学非常经典的光栅线生成算法,可用于显示直线、圆以及其他曲线。这里通过算法画直线过程,了解其工作原理。 # 问题描述 已知线段2端点$(x_0, y_0) (x_e, y_e)$,屏幕上画出该直线段。 由于屏幕是通过像素点显示的,只能通过像素点所在的整数坐标近似 阅读全文
posted @ 2023-08-27 22:17 明明1109 阅读(2104) 评论(0) 推荐(1) 编辑