自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 数值表示

1. 浮点数   IEEE 1985年通过浮点表示法标准----- IEEE754标准中的[ IEEE85 ].   1    位  符号位   8    位 指数位           真实指数值 =  指数位对应数值-偏值(127)    23  位 有效数位       真实有效数 =  1 + 有效数位对应数值例子:    0xC1480000 转换为十进制的计算方

2014-01-10 14:58:49 522

原创 CS107 Programming Paradigms (Stanford University) by Jerry Cain (22-27)学习笔记

Lecture22写一个名为power_set的函数, 它将生成包含输入集合所有子集的集合.例:> ( power_set  '(1  2  3) )( () (2) (3) (2 3)  (1) (1 2) (1 3) (1 2 3))    // 注意: 是组合, 不是排列.以上结果可以看成是由两部分组成:cons  '(() (2) (3) (2 3))  '((1) (

2014-01-09 16:38:18 1827

原创 CS107 Programming Paradigms (Stanford University) by Jerry Cain (15-21)学习笔记

Lecture151.  网络编程中采用多线程的必要性(29:00-33:00)    线程在休眠时将会失去对处理器的控制权。设一台计算机中,要分别建立10个网络连接,每申请一个网络连接,要等待时间t,如果依次申请,等一个连接成功再申请建立下一个连接,则共要花费时间10*t。若将建网络连接的任务分配到独立的线程中,则10线程同时发起申请,同时等待,则创建所有连接的总时间将会省很多。

2014-01-09 16:37:28 1106

原创 CS107 Programming Paradigms (Stanford University) by Jerry Cain (8-14)学习笔记

Lecture81.heap与内存管理int * arr = malloc(40*sizeof(int));malloc 在heap中得到的内存块有一个头(4或8字节), 用以记录分配出的内存大小. 所以以上语句实际在内存中开辟的区域大小为164或168字节.当调用 free(arr);  时, 系统会将arr地址减4或8字节, 得到所分配内存大小, 再释放.两种错误的产生:

2014-01-09 16:36:47 1226

原创 CS107 Programming Paradigms (Stanford University) by Jerry Cain (1-7)学习笔记

http://v.163.com/special/opencourse/paradigms.htmlLecture 1CAssemblyC++Concurrent ProgrammingSchemePythonThe real intellectual value in learning all of these language is to r

2014-01-09 16:36:01 1256 1

原创 选球博奕与动态规划(四)

(三)中提供的算法是基于相应递归公式的。它的时间复杂度为:

2013-09-26 12:34:38 668

原创 选球博奕与动态规划(三)

观察图一可发现,各局面在决策树中是反复出现的,而且较复杂的局面可以分解为较简间的局面。

2013-09-26 12:34:09 967

原创 选球博奕与动态规划(一)

讨论一个有趣的选球问题,问题如下:        有24个球,A、B双方轮流选取,每次可选球若干,要求:第一次不能全部取完;各方每次选取的球数不能为零,也不能超过上一次对方选择的球数。问:如果A先取,那么第一次应该选几个才能保证取到最后一个球?        选球的过程可以用决策树来表达,简化问题,先给出6球的决策树如下:

2013-09-26 12:32:44 758

原创 选球博奕与动态规划(二)

为了得到更好的算法,需要先进行以下讨论:      对于本问题来说,所谓的问题有解实际上是说:在初始局面下,假设首轮决策方是A,那么一定存在一个符合题目要求的数字m,当A取球总数等于m时,经过t轮决策(每轮决策A、B都作出了最有利于自己的决策)后,A一定能拿到最后一个球。它又等价于下面这种表达:对于初始局面G的当前选择方而言,在每轮决策均遵守博奕规则2的前提下,必然存在路径P,使得路径P对于当

2013-09-26 12:32:22 718

原创 煎饼堆问题

有一堆煎饼,直径各异,摞成一堆。可用一把铲子插入任意两张饼之间,完成一次对铲子之上所有饼的翻转操作。假设最底部的饼的位置为1,最顶层的饼的位置为n。对第i (1≤i≤n) 张饼及其上的所有饼的一次翻转操作可以记为flip(i)。例如: 8 7 2 4 6 5 6 4 8

2012-10-19 21:30:12 1707

原创 递归问题与递归结构(五)

再讨论几个递归函数的结构汉诺塔问题是计算机中的一个经典问题,为讨论方便先表述如下:        三根立柱分别用A、B、C表示,假设A上套有n个中空圆盘,自顶向下由小到大依次叠放。如果按以下规则移动圆盘,一次只能移动一个,且移动过程中小圆盘只能位于大圆盘之上,问把这n个圆盘全部移到立柱B上需要的多少步?当然还有其它的一些问法,比如要多少时间或者要如何实现等等。但一般对这些问题的解答都是建立

2012-10-09 13:12:24 1130

原创 递归问题与递归结构(四)

全递归(Exhaustive Recursive)、回溯(Backtracking)与搜索        无论是子集(组合)问题还是排列问题,如果要输出其所有可能的递归结果,就称之为全递归,其相当于访问相应递归树的所有叶子结点。有一类建立在递归树上的问题是只要获取所有结果中的一个或几个就可以得到相应解了,这类问题用部分递归(Partial Recursive)就可以求解。它相当于在根据相关条件

2012-10-08 14:54:48 758

原创 递归问题与递归结构(三)

排列(Permutations)问题        一个典型的排列问题,输入一个字符串,比如“abcd”,要求输出这4个字符组成的所有字符串。输入字符串长度若为n,输出字符串个数就为n!。用递归方法求得所有输出结果,可以这样来考虑:        从长度为n的输入字符串中选择任一字符作为第一个输出字符,共有n种选法,每种选法都会导致不同的输出结果(这一点与子集(组合)问题不同,在n选k的组

2012-10-08 12:05:45 617

原创 递归问题与递归结构(二)

子集Subsets(组合)问题        从n个数中任取k个数,问有多少种取法。(其中k ≤ n)        这是典型的组合问题,对这种问题可以直接用现成的数学公式(m=(n-k+1)!/k!)来求得。如果要用递归来构建此问题的算法则可以作如下思考:        设从n个数中取k个数组成数集记为g,则有,|g| = k;如果S表示所有的g的集合则有,S={g}。如果从n个数中

2012-10-07 16:24:29 543

原创 n人决斗问题

问题描述:        n个人围成一圈,按顺序编上号( 1~n ) 。一共进行了n-1场决斗,最后一人胜出。规则如下:每轮只进行一场决斗,决斗人通过抽签选出,每人抽中的机会是均等的;每个人只能和他右边的人决斗;决斗负者被淘汰出圈,空位由他旁边的人补上。已知n个人之间的强弱关系由关系矩阵A来描述,如果 A(i,j)=1 表示第 i 人强于第 j 人 ;如果A(i,j)=0 表示第 i 人弱于第

2012-09-29 23:24:19 675

原创 棋盘空格的移动问题

问题描述:    有一个5x5的方格棋盘,棋盘上放着24颗不同的棋子,分别用英文大写字母A,B, ...,X 来表示,棋盘上还有一个方格空着。游戏的每一步是将空格上、下、左、右中的一颗棋子移入空格,这四种操作分别用1、2、3、4来表示。    如果给出棋盘的初始状态和一定顺序的有限操作序列,就可以得到唯一的目标状态。    现已知棋盘的初态、终态和被打乱后的操作序列( 操作序列长度 L

2012-09-16 21:08:14 1223

原创 《编程原本》学习笔记( 二 )

函数是算法的最小单元,是程序的基础。无论是采用面向对象的编程方法,还是采用面向过程的编程方法,都是如此。如果以函数为核心来解读和学习《编程原本》可能会相对容易些。        在PASCAL语言中把过程(procedure)和函数(function)两个概念分开,其根据是看相关的逻辑块是否有返回值;而C/C++则对函数和过程并没有作概念上的区分,而只是把PASCAL中的过程概念看作是返回值为

2012-08-26 19:10:30 1203

原创 一道有趣的笔试题( 水杯量水问题 )

若干年前,刚进入编程行业不久,得到一家公司的笔试机会.其中一题印象深刻:给两个空量杯,一个5ml,一个3ml,加水后,要通过量杯互倒,得到4ml水,求算法.  之前做过一个人机对战的游戏,接触到决策树.看到这道题时,第一感觉应该也是可以用树形数据结构来解决的.虽然它不属于博弈类的问题。  最初考虑,以量杯作为树的结点,在树中找出一条路径( 分支 ),使得路径终结点的当前水量为4ml,那么问

2012-08-17 16:50:37 9759 1

原创 C++宏定义的一种有趣应用

宏定义, 还可以作为一种对程序对象属性的描述手段来加以使用.例如: 《编程原本》 (机械工业) P13. template     requires(BinaryOperation(Op))Domain(Op)  square(const Domain(Op)& x, Op op){      return op(x, x);}其中" require

2012-08-13 15:06:31 756

原创 OpenGLES与IOS编程

要实现3D引擎的跨平台功能. 必须研究OpenGLES的接口规范. 而OpenGLES 在IOS平台上的使用也有自身的特点.本文将详细比较两者在使用上的异同.一. OpenGL ES对象及接口函数    OpenGL ES中的对象分别用于处理两大类问题:   平台相关的问题和OpenGL渲染相关的问题.    EGLDisplay与EGLSurface用于处理与平台相关的问题.

2012-08-02 16:35:55 14775 1

原创 启动时调整IOS模拟器显示方向的方法

三种设置显示方向的方法1. 方法一:当出现模拟器时, command + 方向键  可以旋转模拟器的方向.2. 方法二:打开xcode的Resource下的xxx-info.plist文件.在编辑器中添加: supported interface orientations 项,其值设为Landscape 还是 Portrait将决定模拟器的显示方向是横向还是纵向

2012-07-03 16:56:37 2434

原创 自建最简单的调试窗口

CDebugInfoManager* CDebugInfoManager::Singleton(){if(0 == m_pInstance){m_pInstance = new CDebugInfoManager;CreateConsole();}return m_pInstance;}void CDebugInfoManager::Create

2012-07-02 16:43:43 473

原创 生成静态库的通用makefile

#Set project namePRJ_NAME = FileSystem.a#set project typePRJ_TYPE = ar rcs#set Debug or ReleaseCompile_Flag = Debug#set output pathOutput := bin#set source folderSRC :=

2012-06-29 11:25:11 647

Real-Time Rendering 3rd/4th 相关论文(新增3篇)

Real-Time Rendering 3rd 中提到的三篇文章 在第四版中应该也被引用. "A_microfacet-based_BRDF_generator" "An Anisotropic Phong Light Reflection Model" "An_inexpensive_BRDF_model_for_Physically-based_rendering"

2020-01-16

Real-Time Rendering 4th Edition 论文集2019-7.rar

《Real-Time Rendering fourth edition》与前两版相比做了较多改进。经典依然是经典。此处上传搜集到的书中引用的两篇论文。是第五章提到的 [860]Karis, Brian, “Real Shading in Unreal Engine 4," 和 [960]Lagarde,S´ebastian,and Charlesde Rousiers,“Moving Frostbite to Physically Based Rendering,”以方便大家的阅读。以后将陆续上传新搜集到相关的论文。

2019-07-03

OpenGL32.dll+OpenGL32.lib(>1.0)

windows 自带的opengl32.dll是1.0版的. 不支持shader. 本资源提供的opengl32.dll和.lib文件是mesa编译后所得的debug版. 支持高级shader编程. 可供windows下学习opengl shader开发使用.

2018-10-26

空空如也

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

TA关注的人

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