自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 计算机图形与OpenGL学习七(三维几何变换3.三位旋转的四元数方法及程序实例)

三位旋转的四元数方法在上一节,我们知道了四元数是什么,一个四元数如何作用于一个向量,实现向量的旋转,接下来我们再进行简单的学习,如果理解困难,请出门左转传送至:四元数是什么?四元数有什么用?四元数由一个标量部s和一个向量部v组成,可以看作一个有序对:也可以把四元数看作高阶复数(区别于二维复数),带有一个实部(标量部分)和三个复部(向量v的元素)。绕经过原点的任意轴旋转,可以通过建立有下列标量部和向...

2018-04-26 14:28:05 1346

翻译 附加:四元数是什么?四元数有什么用?

Understanding Quaternions 中文翻译原文地址:http://www.3dgep.com/understanding-quaternions/在计算机图形学中,我们使用转换矩阵来表示空间中的一个位置以及朝向。一个转换矩阵还可以表示对一个目标的缩放(scale)或错切(shear)等。 我们可以把转换矩阵想象成一个空间,当你用这个矩阵乘以向量、点(甚至矩阵)后, 你就把向量、点...

2018-04-24 17:02:37 6367

原创 计算机图形与OpenGL学习七(三维几何变换2.一般三维旋转)

一般三维旋转对于绕与坐标轴不一致的轴进行旋转的变换矩阵,可以利用平移与坐标轴旋转的复合而得到。首先将指定旋转轴经移动和旋转变换到坐标轴之一,然后对该坐标轴应用适当的旋转矩阵。最后将旋转轴变回到原来位置。在某些特殊情况下,例如将对象绕平行于某坐标轴的轴旋转、可以通过下列变换顺序来得到所需的旋转矩阵:         i.           平移对象使其旋转轴与平行于该轴的一个坐标轴重合;     ...

2018-04-24 16:22:56 3435

原创 计算机图形与OpenGL学习七(三维几何变换1.三维平移与三维坐标轴旋转)

三维几何平移与三维坐标轴旋转三维集合变换的方法是在二维方法的基础上扩充了z坐标而得到。多数情况下,该扩充比较直接,但有一些情况,比如旋转,该扩充就不那么明显。一个三维位置在齐次坐标中表示为4元列向量。因此,每一次几何变换操作表示为一个从左边去乘坐标向量的4x4矩阵。 1.   三维平移其矩阵变换形式为:类似二维坐标变化的实现,我们可以构造一个平移矩阵,如果不懂,请转到矩阵表示和齐次坐标:void ...

2018-04-22 22:37:41 4735

原创 Python爬虫(2.网络爬虫的实现原理及技术)

网络爬虫的实现原理及技术1.   网络爬虫实现原理以两种爬虫为例,讲解网络爬虫的实现原理。1)       通用网络爬虫图1 通用网络爬虫实现原理及过程见图1,通用网络爬虫的实现原理及过程可以简要概括为:         i.           获取初始URL。初始的URL地址可以由用户人为指定,也可以由用户指定的某个或某几个初始爬去网页决定。        ii.           根据初始...

2018-04-20 15:32:48 3306

原创 Python爬虫(1.爬虫的基本概念)

爬虫的基本概念1.   网络爬虫的组成网络爬虫由控制结点、爬虫结点、资源库构成,如图1 所示:图1 网络爬虫的控制节点和爬虫节点结构的关系可以看到,网络爬虫中可以有多个控制节点,每个控制节点下可以有多个爬虫节点,控制节点之间可以互相通信,同时,控制节点和其下的各爬虫节点之间也可以进行互相通信,属于同一个控制节点下的各爬虫节点间,亦可以互相通信。控制节点,也叫做爬虫的中央控制器,主要负责根据URL地...

2018-04-20 15:29:43 6100

原创 计算机图形与OpenGL学习六(二维观察4.Cohen-Sutherland线段裁剪算法)

 Cohen-Sutherland线段裁剪算法二维线段裁剪相关基础概念请转到链接:计算机图形与OpenGL学习六(二维观察3.二维点与二维线段的裁剪)Cohen-Sutherland线段裁剪算法,通过初始测试来减少交点计算,从而减少线段裁剪算法所用的时间。每条线段的端点都赋以称为区域码的四位二进制码,每一位用来标识端点相对于相应裁剪矩形边界的里面还是外面。我们可以按任意顺序引用窗口边界,图1给出了...

2018-04-17 20:19:58 2153

原创 计算机图形与OpenGL学习六(二维观察3.二维点与二维线段的裁剪)

    二维点与二维线段的裁剪一般情况下,任何用来消除指定区域内或区域外的图形部分的过程称为裁剪算法,简称裁剪。尽管裁减可以使用任何形状,但通常使用正则矩形。裁剪最多应用于观察流水线,目的是为了从场景中提取制定部分显示在输出设备上。在二维观察函数中的裁剪算法用来识别出裁剪窗口中的图形部分。任何位于裁剪窗口外的内容都从将要送到输出设备上显示的场景中消除 1.   二维点裁剪假设裁剪窗口是一个在标准位...

2018-04-17 20:00:44 616

原创 计算机图形与OpenGL学习六(二维观察2.OpenGL二维观察函数)

OpenGL二维观察函数本节概念性内容较多,为便于理解与记忆,可以查看之前文章的实例中的函数操作1.   OpenGL投影模式在选择OpenGL裁剪窗口和视口之前,必须建立合适的模式以便构建从世界坐标系到屏幕坐标系变换的矩阵,在OpenGL中,必须将裁剪窗口的参数作为投影变换的一部分来设置。因此,必须先选择投影模式。我们可以使用在几何变换中设定建模观察模式的函数来设置。glMatrixMode (...

2018-04-17 15:56:56 995

原创 计算机图形与OpenGL学习六(二维观察1.二维观察流水线、裁剪窗口、规范化和视口变换)

二维观察1.   二维观察流水线1.1概念:1)      裁剪窗口(ClippingWindow):二维场景中要显示的窗口,所有在此区域之外的场景均要裁去。         又称为世界窗口或观察窗口,简称窗口         在世界坐标系(又称用户坐标系)内定义2)      视口(Viewport):指显示设备上用来显示图形区域,又称视区,在设备(屏幕)坐标系内定义3)       裁剪(Cl...

2018-04-15 19:41:27 2779

原创 计算机图形与OpenGL学习五(二维几何变换3.二维坐标变换)

二维坐标系间的变换1.   二维坐标系间的变换下节的二维观察中,会涉及到从观察坐标系到世界坐标系的变换,因此我们介绍从一个笛卡尔坐标系xy,变换到另一个笛卡尔坐标系(x’,y’)的思想。其中x’y’坐标系用xy坐标的一点(xo,yo)作为原点,并有一个指定的方向角θ。变换步骤:1)      将x’y’系统的坐标原点平移到xy系统的原点(0,0);2)      将x’轴旋转到x 轴上。  坐标原...

2018-04-15 16:53:38 1445 1

原创 计算机图形与OpenGL学习五(二维几何变换2.矩阵表示和齐次坐标)

矩阵表示和齐次坐标本节矩阵变换公式较多,为方便,设置为图片格式,但实例代码可复制,这样不影响学习,如果需要word版,请私聊。为方便阅读,图片水印加到了最右下角,但是个人劳动成果,未经过同意,请勿转载【实例】对象为三角形,平移量(tx,ty)=(0,100);缩放量(sx,xy)=(0.5,0.5);旋转角theta=pi/2;缩放固定点fixedPt、旋转基点pivPt为三角形中心点。#incl...

2018-04-13 19:04:05 1610

原创 计算机图形与OpenGL学习五(二维几何变换1.平移、旋转、缩放)

二维几何变换(平移、旋转、缩放)本章涉及数学变换比较多,代码是次要的,数学理论可自己推导一下。【二维平移】通过将二维量加到一个点的坐标上来生成一个新的坐标位置,可以实现一次平移。将平移距离加到原始坐标上获得一个新的坐标,实现一个二维位置的平移。为平移向量,使用列向量来表示各点坐标的话:实例:对一个四边形进行平移,平移量自己输入,结果图平移量为(200,200),代码:#include<GL/...

2018-04-12 16:31:48 13633 1

原创 计算机图形与OpenGL学习四(2.画圆算法)

圆生成算法公式太多,转为图片格式【代码】#include<GL/glut.h>#include<math.h>#include<Windows.h>#include<iostream>#include<stdlib.h>using namespace std;GLsizei winWidth = 500, winHeight ...

2018-04-11 18:16:15 744 3

原创 计算机图形与OpenGL学习四(1.画线算法)

画线算法要在光栅监视器上显示一条线段,图形系统必须先将两端点投影到整数屏幕坐标,并确定离两端点间的直线路径最近的像素位置。接下来将颜色值装入帧缓存相应的像素坐标处。这一过程将一条线段数字化为一组离散的整数位置,图形学画线算法就是研究如何高效处理这个过程。 【DDA算法】DDA算法又叫数值微分法,基于以下的数值推导过程: 算法步骤:①输入线段两个端点的像素位置。端点间水平和垂直差值赋给dx和dy。②...

2018-04-07 20:20:19 794

原创 计算机图形与OpenGL学习三(图元的属性2:点线的属性)

2.点、线的属性2.1点属性函数点的颜色由显示颜色的当前颜色控制。点的大小由下面的函数控制glPointSize(size);   size:浮点数值,该值舍入到一个整数。点大小为1.0时显示一个像素,点大小为2.0时显示2x2的像素阵列。默认值是1.0 2.2线的属性【线宽与线宽函数】 线宽的选择的实现取决于输出设备的能力,视频显示器上的粗线可以用相邻的平行线进行显示。 可以用glLinewid...

2018-04-04 16:21:07 525

空空如也

空空如也

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

TA关注的人

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