自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (8)
  • 收藏
  • 关注

原创 图形流水线中光栅化原理与实现

图形流水线中光栅化原理与实现光栅化主要解决的问题光栅化原理判断像素在三角形内部or外部顶点属性插值透视校正代码实现光栅化主要解决的问题在传统图形学流水线,技术难点可以分为两大类:可见性(visibility)着色(shading)文章图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵中的坐标系变换和本文介绍的光栅化就是解决 可见性(visibility) 的关键技术。着色(sh...

2020-01-05 17:08:46 1723 2

原创 图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵

图形流水线中坐标变换详解:模型矩阵、视角矩阵、投影矩阵图形流水线中坐标变换过程模型矩阵:模型局部坐标系和世界坐标系之间的桥梁模型局部坐标系存在的意义Model_to_World / World_to_Model视角矩阵:世界坐标系和视角坐标系(摄像机坐标系)直接的桥梁视角坐标系如何构成Camera_to_Wrold / World_to_Camera投影矩阵:3D to 2D正交投影原理:小孔成像...

2019-12-08 23:40:03 2115 3

原创 smallpt: Global Illumination in 99 lines of C++讲解

smallpt: Global Illumination in 99 lines of C++光线追踪的历史正向光线追踪介绍反向光线追踪介绍蒙特卡罗光线追踪算法非透明材质漫反射材质镜面反射材质透明材质反射与折射折射光线方向的计算:斯涅尔定律(反射定律)折射光线与反射光线混合:菲涅耳公式光线追踪的历史正向光线追踪介绍正向光线追踪符合常识:光线从发光物体出发出,“撞击”到被观察物体上,经过一系列...

2019-11-24 22:44:16 1018

原创 Git生成多ras并配置

Git生成多ras并配置问题:解决方案:1、生成多个公钥2、指定当前git项目用那个公钥参考博客:问题:总所周知,在C/users/indere/.ssh/下存放的是用户git公钥。如果我想访问一个git库,就需要库管理者在SSH公钥中添加我的公钥(也就是我本地电脑上/c/Users/indere/.ssh/id_rsa中的内容)。我自己有一个项目,名为TE, SSH公钥添加的即/c/Use...

2019-09-16 16:19:59 453

原创 Marching Cubes初探——Marching Cubes构建体素圆

Marching Cubes初探——Marching Cubes构建体素圆标签(空格分隔): MarchingCubes OpenGLMarching Cubes根据三维规则数据生成等值面,从而构成三维体数据。我们的需求是自己生成三维球的点云数据,并通过Marching Cubes可视化体素球。整个流程可分为三步:点云数据向体数据转换求六面体体素棱边与等值面的交点,构成等值面等值...

2018-12-04 23:23:49 2386 1

原创 C# 链接GDAL Gdal.AllRegister()、Ogr.RegisterAll()异常处理

C# 链接GDAL Gdal.AllRegister()、Ogr.RegisterAll()异常处理标签(空格分隔): 未分类将gdal中cshape文件夹中8个dll拷贝到项目的/bin/debug下,并将 _csharp.dll链接至项目中时,我本人的程序会出现两个错误: “OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常 “OSGeo.OGR.Ogr”...

2018-08-30 19:03:57 4119

原创 Geomentric Intersection:O( (n+k) * log(n))算法 Bentiey & Ottmann Algorithm

Geomentric Intersection:O( (n+k) * log(n))算法 Bentiey & Ottmann Algorithm标签: 计算几何课程:计算几何:Geometric Intersection书籍:计算几何:算法与应用BO算法用于求解线段组中所有的交点。在实现中,我忽略了课程中邓老师所描述的退化情况。实现: POINT_H...

2018-08-02 14:04:15 641 1

原创 Convex Hull:O(n * log(n))算法 Graham Scan

课程:计算几何书籍:计算几何:算法与应用具体思路请自行观看上述的课程。 这里具体讲一下顶点集的排序: 我们通过X轴从大到小排序,然后运用Graham Scan算法可以得出构成上凸包的顶点。 然后逆序顶点顺序,运用Graham Scan算法可以得出构成下凸包的顶点。 结合两者,去掉重复点,即可得到构成整个凸包的顶点。Point.h与之前一样Main.cpp/*...

2018-07-03 11:50:58 461

原创 Convex Hull:O(h*n)算法 Jarvis March

课程:计算几何书籍:计算几何:算法与应用Jarvis March算法也是一种递增式的思路。以极边的一个端点为起点,来查找另一条极边。以此进行下去,最后构成一个环路时(极点的末端等于最初的起始端点)。凸包构造结束。关于以一个极边为起始点的一天极边。可以用ToLeft测试进行比较,就如同O(n^2)中对点集逆时针排序那样。关于如何确定起始点,我们选取字典序最小的点作为起始点(Y值最...

2018-06-23 23:48:46 718

原创 Convex Hull:O(n^2)算法

课程:计算几何书籍:计算几何:算法与应用采用一种增量式(Incremental)的思维。考虑在已有的凸包上,在添加一个新的顶点,应该如何操作。 我们可以从新增的点向凸包引射线,我们能找到新增点与凸包的两个切点:s和t,s和t将凸包分成两段。其中有一段上的凸包顶点是需要更新的,另一段上的凸包顶点是需要保留的。具体的怎么判断请大家自行观看上述计算几何课程代码: Point....

2018-06-23 19:07:14 329

原创 Convex Hull:O(n^3)算法

课程:计算几何书籍:计算几何:算法与应用极边:对凸包有贡献的那些边。从Counter Clockwise来看,所有点都会落在极边的左侧(或者在极边上),而右侧为空。根据该思路,我们只需判断任意两点所构成的边是否为极边,即其他点是否都在同一侧(后者在边上)。判断点在边上的哪一侧,我们仍然使用O(n^4)算法中的ToLeft测试。代码: Patch.h与O(n^4)算法算...

2018-06-22 22:30:23 430

原创 Convex Hull:O(n^4)算法

课程:计算几何书籍:计算几何:算法与应用极点:构成凸包的顶点,它具有这样的性质:经过该点,总能找到一条直线,使得其他所有点都在该直线的同一侧。根据该思路,极点不会处于其他顶点所构成的三角形内部。因此我们只需要所有点进行它是否在其他顶点所组成的三角形内部做判断,即可得出所有的极点。如何判断一个点是否在三角形内:按逆时针方向去看三角形的边,如果一个点在三角形内部,则该点总在三角...

2018-06-22 21:19:24 475

原创 【OpenGL】鼠标点击获取世界坐标

【OpenGL】鼠标点击获取世界坐标标签(空格分隔): OpenGL起因因为最近在做图形学相关毕设,需要时间鼠标交互获取三维坐标(世界坐标系)。于是在网上查了一些博客与资料,放进自己代码中,效果怎么都不对。于是才自己静下心来,好好研究。OpenGL中的坐标系OpenGL总共有5个坐标系,它们分别是:局部空间或称物体空间世界空间观察空间或称视觉空间...

2018-05-10 18:53:28 13561 7

转载 【转载】推导正交投影变换

链接: 推导正交投影变换知识储备: I、投影的分类 II、什么是侧投影、什么时正交投影 III、推导部分与深入探索透视投影变换原理一样,只要上一篇看懂了,这个自己也可以推出来。...

2018-04-24 09:20:18 638

转载 【转载】推导相机变换矩阵

链接:推导相机变换矩阵知识储备: I、线性代数的坐标变换 II、UVN系统 III、对旋转、平移的思考 受益匪浅,继续学习。好记性不如烂笔头,私下弄一个小本子记录一下也是不错的2333。...

2018-04-23 13:26:15 786

转载 【转载】深入探索透视投影变换

透视投影矩阵推导 博主写的很好,使我理解了投影矩阵流程,也让我反思这几个月以来的学习太过心急气躁。

2018-04-22 16:31:58 493

原创 计算几何---ToLeftTest

计算几何—ToLeftTest标签(空格分隔): 计算几何问题场景ToLeftTest用于片段一个点在一个向量的左侧还是右侧(或者在向量所在的直线上)。 《计算几何–算法与应用》第一章中用于确定凸包的边。如图,灰色的线段即为凸包的边,也称为极边。 极边都会有一个性质,那就是:除了极边的两个端点,其余的顶点全部都在极边的左边/右边(或者上)。如何判断其余所有顶点在边的...

2018-04-20 21:50:07 2908

原创 北航计算机考研经验_2018届考研

北航计算机考研经验标签(空格分隔): 考研我报的是计算机专硕,不分方向。初试347分,其中政治72,英语67,数学114,专业课94。2018年专硕复试线290分/学硕310分;我347分排在第60多名(ps:由于非全日制满足校线的才两人,所以专硕划分比较低,同时由于专硕报名人数多,导致后面复试会刷掉很多专硕,以及分数较低的会调剂到非全日制)。首先谈初试,北航计算机无论学硕还是...

2018-03-26 23:22:42 31201 46

原创 OpenGL着色语言,光源(定向、点、聚)

光源标签(空格分隔): OpenGL着色语言1.定向光源 是一种假定离被照亮的对象有无穷远的光。从光源发出的所有光线到达场景时全是平行的。场景中每个顶点可以使用一个单独的光方向矢量。对于phong光照模型:I = Ka * Ia + Kd * Il * cosθ + Ks * Il * Cosn∅ K的下标a,b,s分别代表物体表面反射环境光系数、漫反射系数和反射镜...

2018-03-13 23:38:15 703

原创 北航研究生复试2017上机第三题:二叉树的创建、遍历

题目:输入若干行,每一行的第一个输入为家谱中的某个成员,该行接着输入的信息为每个孩子姓名。 最后一行的输入为要求查找的两个家谱成员的关系。 要求,根据输入的家谱成员的信息,建立二叉树家谱关系图,并输出二位待查找成员在家谱中的关系,包括输出他们最近邻的共同祖先以及在家谱中相差的层次数。#include<stdio.h>#include<stdlib.h>#incl...

2018-03-04 15:16:59 1300

原创 北航研究生复试2017上机第二题:输出未定义变量

题目:输入两个C语言语句,第一句为正常的C语言变量定义语句,符合C语言语法要求,变量间可以有多个空格,包含数组,指针定义等。第二句为变量运算语句,要求输出第二个C语言语句中未定义的变量。 如 int x12,y=1,num_stu=89,a[30],*p; Sum = num+x12*y; 输出 Sum num我这里没有考虑结构体情况,和int x12; float y=1231...

2018-03-04 12:35:07 1216

原创 北航研究生复试2016上机第二题:计算枚举类型的值

题目:给出一个C语言的enum定义语句,输出enum中规定的各项值 例enum bool{true,false} 输出: true0 false1#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10000#define STRSIZE 30typedef struct Node{ char...

2018-03-03 18:17:11 1043

原创 北航研究生复试2015上机第三题:记录单词并按字典顺序输出

题目:输入一段含标点的英文语段(若干行,以Ctrl+Z结束) 统计这段话中出现的所有词语,要求按照字典顺序输出词语,每输出一个词换一行(相同的词语只出现一次)#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#define MAXSIZE 1...

2018-03-03 09:31:07 540

原创 北航研究生复试2014上机第三题:冒号对齐

题目:,排版题。输入若干行字符,表示某电影的演职员表,每行只有一个冒号,冒号前面是职位,冒号后面是姓名,要求把各行冒号对齐,删除多余空格后输出。先输入一个数字,表示排版要求的冒号位置,该位置号保证比各行冒号前的最大字符数还要大。再输入若干行字符,最多50行,每行最多100个字符,除空格、制表符和回车之外都是有效字符,要求每行的冒号处于格式要求的位置,冒号两边与有效单词之间各有一个空格,冒号前面的单...

2018-03-02 16:14:51 698

原创 八皇后问题

/***8皇后问题***/#include<stdio.h>#include<stdlib.h>#define MAXSIZE 8int gEightQueen[MAXSIZE] = {0}; //数组下标代表行数,数组内存储的数据代表列数int gCount = 0; //记录可行的情况数void ...

2018-02-26 19:09:04 254

原创 北航研究生复试2013上机第三题:科学计数表示法

题目:给定一个数(正数,前段和末端不包含多余的0),输出其科学计数法表示结果。如: 0.000002 —> 2e-6 123.456 —-> 1.23456e2 123456 —-> 1.23456e5//给定一个数(正数,前段和末端不包含多余的0),输出其科学计数法表示结果#include<stdio.h>#include<stdlib.h...

2018-02-24 17:59:03 290

原创 北航研究生复试2012上机第三题:统计关键字出现的位置

输入一行C语言代码,查找关键字if,while,for并按照出现顺序输出。输出格式: 关键字:位置 关键字:位置还是字符串匹配的问题,为了方便,程序中本人写成从文件中读取主串,可以按照题目要求,改成控制台输入。#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXS...

2018-02-23 18:15:38 548

原创 北航研究生复试2011上机第三题:显示省略

题目大意:给定一个字符串 其中包含‘-’,如dsafas-zdfaf10,将s-z中省略的字符全部显示出来:dsafastuvwxyzdfaf10,程序只考虑a-z, A-Z, 0-9。且a-S, 0-r之类的不进行扩展。原样输出。#include<stdio.h>#include<stdlib.h>#include<string.h>#define...

2018-02-23 13:07:28 170

原创 北航研究生复试2010上机第三题:数组是否相同

题目两个整数组(无序,可重复) 判断两个整数组是否完全相同(重复元素的重复次数也相同)数组大小不同的直接得出不相同,大小相同的,排序之后再一一比较即可。/**两个整数组(无序,可重复)*判断两个整数组是否完全相同(重复元素的重复次数也相同)*/#include<stdio.h>#include<stdlib.h>bool Equal(in...

2018-02-08 12:58:43 199

原创 北航研究生复试2009上机第三题:字符串查找删除

题目给定文件filein.txt按照要求输出fileout.txt. 输入:无空格的字符串 输出:将filein.txt删除输入的字符串(不区分大小写),输出至fileout.txt。每行中的空格全部提前至行首。1、KMP匹配 2、不区分大小写地比较 3、子串删除 4、写文件要求(空格提前)#include#include#includechar* fi

2018-02-07 14:44:30 283

原创 递归返回特定条件下的所求值

今天写一个简单的递归写懵逼了,用for替代递归还能想到,但是就用递归来返回特定值就不知道怎么写了。 然后看了一下以前的笔记,决定再做一下笔记。题目,比如:返回最后一次递归的值1、首先将特定的条件单独拿出来判断 2、创建返回值的“”窗口“”,将值在出栈中逐步返回int iterate(int x, int n);int main(){ int x,times;

2018-02-06 20:27:31 461

原创 北航研究生复试2008上机第三题:字符串匹配

题目从string.in中读入数据,然后用户输入一个短字符串。要求查找string.in中和短字符串的所有匹配,输出行号、匹配字符串到string.out文件中。匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配。如“aa[123]bb”,就是说aaa1bb、aa2bb、aa3bb都算匹配。主要部分: 1、读写文件 2、KMP匹配或者BF匹配算法 3、不区分大小写的比较

2018-02-06 15:55:29 698

原创 两个多项式相加

题目:求两个多项式相加polynomial.htypedef struct Node{ int coefficient; int exponent;}Node;typedef struct Polynomial{ int numOfNode; Node* n;}Polynomial;main.cpp/*** 两个多项式相加**

2018-02-01 14:45:01 1369

原创 图的深度优先遍历和广度优先遍历

代码是在上一篇博客的基础上实现的。传送门:图的邻接矩阵、邻接表的表示增加的点: 1、结点中增加Tag,用于记录结点的是否已经遍历 2、邻接矩阵的DFS和BFS 3、邻接表的DFS和BFS2.1号:补充,突然发现我的程序,边的权重只能为1位数,如果权重为多位数,只取个位数的值,因此需要进行下面的修改:(邻接矩阵、邻接表都一样) 1) weight初始化为0(以前没有初始化)

2018-01-31 14:09:20 581

原创 图的邻接矩阵、邻接表的表示

关于邻接矩阵、邻接表的具体包含哪些数据我就不说了,鄙人时间有点赶,大家自行百度下哈。程序中图的例子: 2.1号:补充,突然发现我的程序,边的权重只能为1位数,如果权重为多位数,只取个位数的值,因此需要进行下面的修改:(邻接矩阵、邻接表都一样) 1) weight初始化为0(以前没有初始化) 2)从控制台得到:weight = weight * 10 + int(c - ‘0’);

2018-01-30 23:01:09 1749 1

原创 哈夫曼树创建和哈夫曼码生成

直接上代码。 HTree.htypedef struct HTreeNode { char data; int weight; int parent, lchild, rchild;}HTreeNode;main.cpp#include#include#include#include"HTree.h"HTreeNode* InitHTree(int

2018-01-28 16:23:06 850

原创 二叉树:创建,遍历(递归、非递归、层次)

废话不多说,直接堆代码。Tree.htypedef struct TreeNode{ struct TreeNode* lchild; struct TreeNode* rchild; char data;}TreeNode;main.cpp#include#include#include"Tree.h"TreeNode* LCreateTree

2018-01-27 20:10:44 233

原创 《OpelGL编程指南第七版》第九章:纹理贴图(笔记)

《纹理贴图》标签(空格分隔): OpenGL编程指南第七版由于时间关系,这本书后面章节不再更新。 9.1 概述和示例9.1.1 纹理贴图的步骤 9.2 指定纹理void glTextImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height

2018-01-16 15:43:53 314

原创 《OpelGL编程指南第七版》第七章:显示列表(笔记)

《显示列表》标签(空格分隔): OpenGL编程指南第七版在OpenGL中,本章所有技术和功能都被废弃删除 显示列表是一组存储在一起的OpenGL函数,可以在以后执行。 7.1为什么要使用显示列表可以提高性能。当我们在本地机器上运行OpenGL时,可以把经常使用一些函数存储在显示列表中,以提高程序的性能。 显示列表只能包含OpenGL函数,且显示列表中的值不能在以后进

2018-01-13 10:22:31 281

原创 《OpelGL编程指南第七版》第六章:混合、抗锯齿、雾和多边形(笔记)

《混合、抗锯齿、雾和多边形偏移》标签(空格分隔): OpenGL编程指南第七版 6.1 混合 6.1.1 源因子与目标因子 void glBlendFunc(GLenum srcfactor GLenum destfactor); void glBlenndFuncSeparate(GLenum srcRGB, GLenum destRBG, G

2018-01-13 08:55:13 460

rasterization.zip

图形流水线中光栅化原理与C++实现,具体原理请看: https://blog.csdn.net/qq_27161673/article/details/103840506

2020-01-05

北航2006-2017研究生复试上机源码_vc6.0(不带题目,只有代码)

不带题目,只有代码,纯C,没用STL!不带题目,只有代码,纯C,没用STL!不带题目,只有代码,纯C,没用STL

2018-03-04

OPENGL三维场景搭建、漫游、交互_vs2015

OPENGL三维场景搭建、漫游、交互。包括凹凸地形,键盘交互、鼠标交互、树木,火焰等

2017-06-23

OPENGL鼠标拾取与选择

OPENGL鼠标拾取与选择

2017-06-04

OPENGL读取显示obj模型_VS2010

包括显示模型包围盒、将模型放在视点中心、对于没有法向的模型,计算其法向等具体更多实现可以看代码输出

2017-05-12

freeglut.dl X64

对于应用程序无法正常启动(0xc000007b),可能是系统中没有对应X64的freeglut.dll

2017-05-12

processing_计算图像的梯度与切向,并用箭头和流线表示

processing的数据可视化实现,计算图像梯度和图像切向,用箭头及流线可视化数据。

2017-05-09

OPENGL读取obj模型_visual stdio2015

通过opengl实现obj模型的读取、绘制。对于没有给出法向的模型,自动计算其法向、画出模型包围盒、同时将模型移动到视点中心,便于观察

2017-05-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除