games101 HomeWork1 games101 HomeWork 1 说起来我自己写games101的作业也是曲曲折折,虚拟机很卡就拿VS配环境,Windows不会配环境,就装Linux,现在装上了Linux,却因为没有经验把Windows格式化了(我是真的沙比),好在还是开始做了,也挺顺利的,所以再来记录一下作业。 这里是作业框架的下载作业框架下载 导航 导航 基础部分 这里需要完成两个函数,一个是模型变换矩阵,一个是透视 2023-07-23 CG > games101
计算机图形学笔记三——橡皮筋技术和椭圆扫描算法 上一篇:圆形、圆弧段的绘制算法 下一篇:暂无 橡皮筋技术 橡皮筋技术就是可以使得用户进行可视化编辑,也就是在编辑的时候,图像能够进行实时的变化。这是一种非常实用的技术,接下来和大家讲解一下这个技术。 我们有鼠标点击回调函数,还有鼠标移动回调函数。我们需要的是在鼠标点击过后,移动鼠标能够预览我们绘制的图像。比如这是有无橡皮筋技术的对比: 有橡皮筋技术 随着鼠标的移动,我们的最后一个顶点会跟 2023-04-23 CG
计算机图形学笔记一——绘制直线的算法 绘制直线的算法 下一篇->圆形的绘制 数值微分法 数值微分法(digital differential analyzer DDA)使用直线的增量方程来计算直线的下一个迭代点像素的方法。直线的微分方程: $$ \frac{dy}{dx}=\frac{\Delta y}{\Delta x}=\frac{y_1-y_0}{x_1-x_0}=k $$ 得到迭代公式: $$ x_{i+1}=x_i+ 2023-04-21 CG
基于Glut的俄罗斯方块开发 # 基于Glut的俄罗斯方块 概述 作为大一下期的一个C++程序设计的作业,原本李卫明老师是打算让我们用MFC实现一个俄罗斯方块的,但是我不想学习MFC,所以使用了glut来实现它。所有的代码由自己一个人完成,Game类的维护由李卫明老师的教程优化而来。李卫明老师课程传送门: 1.建立框架 2.添加功能模块 3.消息响应和界面绘制 其中,我借鉴了李老师俄罗斯方块的存储方式(4*4的二维数组来存储 2023-04-09 CG
Games101笔记 P11~? 贝塞尔曲线(Bezier Curve-General Algebraic Formula) 三个点的贝塞尔曲线迭代公式: \[b^1_0(t)=(1-t)b_0+tb_1 \] \[b_1^1(t)=(1-t)b_1+tb_2 \] \[b_0^2(t)=(1-t)b_0^1+tb_!^1 \] 展开得到 \[b^2_0(t)=(1-t)^2b_0+(1-t)tb_1+t^2b_2 \] n个控 2023-04-04 CG > games101
快速读入模板 12345678910111213141516171819202122232425262728293031323334353637#define New intinline New read()//快速读入{ New X = 0, w = 0; char ch = 0; while (!isdigit(ch)) { w |= ch == '-'; ch 2023-03-18
c语言文件读写 C语言文件读写 算法 1.fseek()函数 此函数用于移动文件指针到指定位置。例如,要将文件指针移动到文件的第5个字节处,您可以使用以下代码: 1fseek(fp, 5, SEEK_SET); // 将文件指针移动到第5个字节 其中,第二个参数是移动的字节数,第三个参数指定移动的起始位置。 2.ftell()函数 此函数用于获取文件指针的当前位置。例如: 12long pos;pos = ft 2023-02-16
康托展开 康托展开 名词解释: 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 -–康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。 原理介绍 \(X = a_{n}(n-1)!+a_{n-1}(n-2)!+… +a_{1} \times 0!\) 其中,\(a_i\) 为整数,并且\(0\leq a_{i}<i,1\leq i\leq n\) 。 表 2023-02-03
P1088 [NOIP2004 普及组] 火星人 [NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。 火星人用一种非常简单的方式来表示数字――掰手指。火星人只 2023-02-03