摘要: 这一章我先不写有关DX的东西,我先从最基本的窗口创建讲起,然后再慢慢讲解使用DX的一些内容. 我写这个指南的主要目的是为了学习。我希望自己可以通过写这个指南更快地学会DirectX。同时,我也希望为其他想学习的同伴提供一些学习资料。在编程方面,我并不是很强的人,再加上人总是会犯错的,如果我这些文字给贻笑大方的话,我接受大家对我提出有建设性的批评,如果你有更好的想法要和我交流,可以联系我:fowenler@126.com下面正式开始吧,先讲窗口类,创建窗口,销毁窗口,窗口消息处理函数.窗口类WNDCLASSstruct WNDCLASS {UINT style;WNDPROC lpfnWndP. 阅读全文
posted @ 2013-12-06 16:19 stardasha 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 首先假定任意旋转轴穿过原点,如果不穿过,通过平移就可以搞定。记单位向量n为旋转轴(单位向量方便)。旋转角度使用θ表示。首先假定旋转矩阵为R(n,θ); v表示旋转前的向量,v’表示v绕轴n旋转θ角度后的向量,那么我们知道有vR(n,θ) =v’;下面就来考虑如果求R。思路:转化,将问题转化到2D坐标系下进行解决。即我们在垂直于n的2D平面内解决。步骤:首先我们将向量v进行分解:vll和vT;分别平行于n和垂直于n。则根据向量分解我们可知vll+ vT= v;这样分解之后再考虑这个问题就相对简单了,因为对于平行于n的部分,旋转对其不会产生影响,所以只需要考虑垂直部分就ok了。即将垂直部分旋转到v 阅读全文
posted @ 2013-12-06 16:12 stardasha 阅读(2450) 评论(0) 推荐(0) 编辑
摘要: 最近做camera 的 AI,需要对四元数,欧拉角等要有一定的了解,把前面学习的整理了一下:1。四元数的优势: 三维空间的旋转完全可以由4元数来胜任。传统意义上需要3×3矩阵来进行向量的旋转(4x4矩阵的第四列表示平移)。所以四元数更节省空间,运算速度更快。既然四元数能方便的表示3D旋转,那么对他们进行插值就能产生平滑的旋转效果。劣势可能是比较抽象,不大好理解。而且据说顶点变换还是矩阵效率更高(涉及到平移)。2。四元数的物理意义:Q( x, y, z, w)来表示向量 绕轴 A(ax, ay,az) 旋转alpha则: x = sin(alpha/2)*ax;y = sin(alph 阅读全文
posted @ 2013-12-06 15:57 stardasha 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 一、GDALPython工具本文主要介绍的是GDAL工具集中的Python脚本命令,需要的环境必须是有Python环境和GDAL的Python版本。这是必须的,否则这些工具都不能用。对于已经安装ArcGIS的同学来说,Python都已经安装好了,可以直接下载GDAL的Python版本,然后就可以使用下面这些工具。1.rgb2pct.py转换24位RGB图为8位图用法:rgb2pct.py[-ncolors|-pctpalette_file][-offormat]source_filedest_file参数说明:该工具会自动根据指定的RGB图像计算最合适的假彩色颜色表。然后对结果影像使用该颜色表 阅读全文
posted @ 2013-10-26 12:08 stardasha 阅读(1206) 评论(0) 推荐(0) 编辑
摘要: 一、GDAL工具通用命令下面的工具主要参考的GDAL官方网站中提供的帮助文档说明,此外还有我的一些经验,GDAL官方具体地址为:http://gdal.org/gdal_utilities.html。在所有的GDAL工具集中都会支持下面的通用命令行参数,其形式一般是以两个减号(--)开始,下面详细介绍:1.–version输出GDAL的版本信息,即版本号。2.--formats输出GDAL支持的所有图像格式说明。包括只读和读写。格式支持描述如下:“ro”是只读驱动;“rw”是读写驱动(比如支持CreateCopy方法);“rw+”是读写和更新驱动(比如支持Create方法),支持所有的读写更新 阅读全文
posted @ 2013-10-26 12:03 stardasha 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 一、Swig编译1、Swig介绍SWIG全称是Simplified Wrapper and Interface Generator,官方网站:http://www.swig.org/。SWIG是个帮助使用C或者C++编写的软件能与其它各种高级编程语言进行嵌入联接的开发工具。SWIG能应用于各种不同类型的语言包括常用脚本编译语言例如Perl, PHP, Python, Tcl, Ruby and PHP。支持语言列表中也包括非脚本编译语言,例如C#, Common Lisp (CLISP, Allegro CL, CFFI, UFFI), Java, Modula-3, OCAML以及R,甚至是 阅读全文
posted @ 2013-10-26 12:02 stardasha 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 一、简单的编译1、使用VisualStudio IDE编译首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln 。这些文件是VisualStudio的工程文件,后面的数字对应的VS的版本号,71表示的VS2003,80表示VS2005,90表示VS2008,还有10表示VS2010等。根据自己电脑安装的VS版本,打开对应的文件,如下图所示(使用VS2008SP1版本,打开makegdal90.sln文件):图3 VS2008打开编译GDAL1.8.1然后在左侧 阅读全文
posted @ 2013-10-26 12:01 stardasha 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 介绍 球面纹理映射就是将一个平面纹理映射到球面上。见下图。实现球面纹理映射有两种方法,一种是使用顶点的法向量来生成纹理坐标,另一个是使用顶点的位置向量来生成纹理坐标。使用顶点的法向量生成纹理坐标 分析问题的本质是根据球面上每个点的法向量坐标生成对应的纹理坐标,请看下图,下图中外部的方框表示二维纹理坐标,其范围是(u,v)min = (0,0), (u,v)max = (1,1),中间的圆形表示球面法向量坐标,其x,y分量的范围是(... 阅读全文
posted @ 2013-10-26 11:59 stardasha 阅读(1415) 评论(0) 推荐(0) 编辑
摘要: 前言:一直在使用和研究GDAL的相关东西,发现网上对GDAL的内容倒是不少,但是很少有系统的介绍说明,以及内部的一些结构说明,基于这些原因,将本人的一些粗浅的理解放在此处,形成一个系列,暂时名为《GDAL源码剖析》(名称有点大言不惭,欢迎大家口水吐之,板砖拍之),供大家交流参考,有什么错误之处,望大家不吝指正,本系列对于GDAL的使用均是在Windows平台下,对于Linux平台下的不在此系列讨论范围之内。此外,转载本博客内容,请注明出处,强烈鄙视转载后不注明出处的“类剽窃”行为。一、GDAL简介 GDAL官方网站http://www.gdal.org/,本文章中的基本内容都是参照官网中的信息 阅读全文
posted @ 2013-10-26 11:55 stardasha 阅读(538) 评论(0) 推荐(0) 编辑