WHY数学图形显示工具
摘要:软件功能:输入一个二元数学表达式,含有两个参数变量X和Y,显示该数学表达式的三维图形. 很久之前就有写这个软件的想法,却一直没有激情和动力,终于在年假这两天完成了.以此软件纪念我那十几年前的高中生活,那时我虽然不喜欢数学,但立体几何学得还算不错.不知道还有没有人记得我之前发的博客"数学表达式解析工具"见:http://www.cnblogs.com/WhyEngine/p/3513478.html, 当时写那个小工具就是为这个软件做基础工作.程序写的有点着急,比如我本打算按Z的高度设置不同的颜色,底层接口都已经实现,但发现MFC的界面逻辑写起来有些麻烦,就没写下去.数学表达
阅读全文
posted @
2014-01-28 19:18
叶飞影
阅读(1574)
推荐(5) 编辑
Why游戏作品合集
摘要:之前曾经发过一个套WhyEngine游戏作品合集,里面有十几个小游戏和若干个屏保程序和若干个DEMO程序.而这次发的与上次不一样,因为这是我花了两天时间将所有的程序集成到一个工程后的成果.为了能将所有的程序集成到一个工程里,引擎改动了很多,其中间过程挺麻烦的,主要是变动了一些接口.感觉自己的引擎模块化管理还算不错,所以集成起来有点像搭积木.里面共有14个小游戏,9个屏保程序,6个DEMO程序.这些在我之前的BLOG中已经发过,具体的操作说明可以查看我之前的博文.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的.游戏:.
阅读全文
posted @
2014-01-19 19:49
叶飞影
阅读(1429)
推荐(5) 编辑
游戏:双人贪吃蛇
摘要:两个人玩的贪吃蛇游戏,很早之前就有将贪吃蛇改成双人游戏的想法,今天终于抽出时间完成了. 键盘上下左右和WSAD分别控制两条蛇,两只蛇的长度如果相差大于5则长的获胜.当然玩家可以左右手各控制一个,可以用它来练习左手画圆,右手画方,以练成老玩童的左右手互搏术.游戏写完后,没有找到另一个人帮我测试,于是我就左右手同时控制两条蛇的,只是我的水平有限.这是一款3D游戏(也可以说是2.5D),滚动鼠标滚轮可以调节视角.游戏下载地址:http://files.cnblogs.com/WhyEngine/GreedyTwinSnakes.zip
阅读全文
posted @
2014-01-18 16:35
叶飞影
阅读(1026)
推荐(1) 编辑
给定任意字符串,计算一共能组合成多少个单词bing
摘要:CSDN编程挑战里的题目例如有一个字符串"iinbinbing",截取不同位置的字符‘b’、‘i’、‘n’、‘g’组合成单词"bing"。若从1开始计数的话,则‘b’ ‘i’ ‘n’ ‘g’这4个字母出现的位置分别为(4,5,6,10) (4,5,9,10),(4,8,9,10)和(7,8,9,10),故总共可以组合成4个单词”bing“。问题是:现给定任意字符串,只包含小写‘b’ ‘i’ ‘n’ ‘g’这4种字母,请问一共能组合成多少个单词bing?字符串长度不超过10000,由于结果可能比较大,请输出对10^9 + 7取余数之后的结果。这个问题写个四
阅读全文
posted @
2014-01-16 12:30
叶飞影
阅读(1143)
推荐(0) 编辑
找出最长的有效括号内子括号的长度
摘要:CSDN编程挑战里的题目给定只包含括号字符'('和 ')''的字符串,请找出最长的有效括号内子括号的长度。 举几个例子如下: 例如对于"( ()",最长的有效的括号中的子字符串是"()" ,有效双括号数1个,故它的长度为 2。 再比如对于字符串") () () )",其中最长的有效的括号中的子字符串是"() ()",有效双括号数2个,故它的长度为4。 再比如对于"( () () )",它的长度为6。 换言之,便是有效双括号"()"数的两
阅读全文
posted @
2014-01-15 12:36
叶飞影
阅读(1261)
推荐(0) 编辑
计算直方图中面积最大的矩形
摘要:CSDN编程挑战里的题目给定直方图,每一小块的height由N个非负整数所确定,每一小块的width都为1,请找出直方图中面积最大的矩形。如下图所示,直方图中每一块的宽度都是1,每一块给定的高度分别是[2,1,5,6,2,3]: 那么上述直方图中,面积最大的矩形便是下图所示的阴影部分的面积,面积= 10单位。 请完成函数largestRectangleArea,实现寻找直方图中面积最大的矩形的功能,如当给定直方图各小块的高度= [2,1,5,6,2,3] ,返回10。这题挺容易的,可是我提交的程序反馈是有问题,又没给说具体的出错测试用例.而我自己测试的数据都没问题.懒得多想了. 1...
阅读全文
posted @
2014-01-15 12:32
叶飞影
阅读(739)
推荐(0) 编辑
三角形内切圆与外接圆的面积比
摘要:CSDN编程挑战里的题目一个三角形必然存在它的内切圆与外接圆,求他们的面积比。考虑到精度问题,我们输出面积比*1000的整数部分(直接下取整)。输入数据是一个三角形的三个顶点,但这三个顶点在三维空间中,所以输入是9个整数,分别表示三个顶点(x1,y1,z1) (x2,y2,z2) (x3,y3,z3),保证三点不共线,每个整数在-1000,+1000范围内。输出内接圆与外切圆的面积比*1000的整数部分。这题好搞,图形学我是专业的. 1 #include 2 #include 3 #include 4 #include 5 6 // 内切圆半径 7 // 内切圆半径r=2S/(a+b...
阅读全文
posted @
2014-01-15 12:01
叶飞影
阅读(3063)
推荐(0) 编辑
整数求反
摘要:CSDN编程挑战里的题目完成函数reverse,要求实现把给定的一个整数取其相反数的功能,举两个例子如下: x = 123, return 321 x = -123, return -321 这个题容易,一击命中. 1 #include 2 #include 3 #include 4 5 int IntegerReverse(int i) 6 { 7 bool negative = false; 8 if (i = 0; i--)25 {26 rst += numList[i]*n;27 n *= 10;28 }29 30...
阅读全文
posted @
2014-01-15 11:57
叶飞影
阅读(476)
推荐(1) 编辑
24点问题
摘要:CSDN编程挑战里的题目24点游戏是一种使用扑克牌来进行的益智类游戏,游戏内容是:从一副扑克牌中抽去大小王剩下52张,任意抽取4张牌,把牌面上的数(A代表1)运用加、减、乘、除和括号进行运算得出24。每张牌都必须使用一次,但不能重复使用。 有些组合有不同种算法,例如要用2,4,6,12四张牌组合成24点,可以有如下几种组合方法: 2 + 4 + 6 + 12 = 24 4 × 6 ÷ 2 + 12 = 24 12 ÷ 4 × (6 + 2) = 24 当然,也有些组合算不出24,如1、1、1、1 和 6、7、8、8等组合.我的思路是穷举法,将四个数的所有
阅读全文
posted @
2014-01-15 11:53
叶飞影
阅读(4651)
推荐(1) 编辑
二十进制数的加法
摘要:CSDN编程挑战里的题目在二十进制中,我们除了使用数字0-9以外,还使用字母a-j(表示10-19),给定两个二十进制整数,求它们的和。 输入是两个二十进制整数,且都大于0,不超过100位; 输出是它们的和(二十进制),且不包含首0。我们用字符串来表示二十进制整数。可惜我提交了6次才正确,我想要确保有抽奖的可能,需要申请两个帐号,一个做炮灰,另一个一击命中. 1 #include 2 #include 3 #include 4 5 static int GetNum(char c) 6 { 7 if (c >= '0' && c = 'a'
阅读全文
posted @
2014-01-15 11:49
叶飞影
阅读(738)
推荐(0) 编辑
将整数转化为一个任意进制的字符串,将任意进制的字符串转化为一个整数的代码
摘要:// 将整数转化为一个任意进制的字符串 static void int_to_string(int value, char* szDest, int type = 10) { bool negative = false; if (value = 0; i--) { szDest[pos] = szTmp[i]; pos++; } szDest[pos] = 0; } static int GetNum(char c) { if (...
阅读全文
posted @
2014-01-13 13:41
叶飞影
阅读(1635)
推荐(1) 编辑
数学表达式解析工具
摘要:数学表达式解析工具 数学表达式解析就是写程序计算出一套数学表达式的结果.诸如:a+b*c / (d -d)之类的公式.这牵扯到一些编译原理的东西.代码写起来有点麻烦,但只要耐心点总能搞定的.工具使用很简单,输入数学表达式的字符串,可以设置x, y, z三个参数值,按运算按钮或回车键,输出运算结果.下载地址:http://files.cnblogs.com/WhyEngine/MathExpression.7z(1)标准运算符支持+,-,*,/,%,^这6种标准运算符,其中:%为求余运算, a%b 相当于 mod(a, b); ^为求幂运算, a^b 相当于 pow(a, b);(2)括号标..
阅读全文
posted @
2014-01-10 12:05
叶飞影
阅读(4129)
推荐(1) 编辑
小工具:内存占用工具
摘要:之前为了测试游戏需要,写了这个工具.以测试在内存,显存不够的情况下,游戏的运行情况.可以用它分析WINDOWS下的内存申请.现在将工具加原码都发布出来.显存的申请使用的是D3D提供的接口.用户使用时需要关闭D3D的Debug模式,否则显存申请失败时会导致崩溃.当然你也可以改代码,使用try cat...
阅读全文
posted @
2014-01-04 17:30
叶飞影
阅读(2338)
推荐(4) 编辑
我所遭遇过的游戏中间件---SpeedTree
摘要:我所遭遇过的游戏中间件---SpeedTree SpeedTree是一个专门用于渲染植被的中间件,并提供了一套完善的植物编辑工具。在它官方提供的DEMO中,你会看到高度逼真的树木和植物,在风的影响下树影婆娑,十分精美.感觉它的Shader写到了极致,让我有种叹为观止的感觉.SpeedTree有两大特...
阅读全文
posted @
2014-01-03 19:27
叶飞影
阅读(1994)
推荐(0) 编辑
我所遭遇过的游戏中间件---nvDXTLib
摘要:我所遭遇过的游戏中间件---nvDXTLib nvDXTLib是Nvidia提供的一套用于DXT纹理压缩SDK.接口十分简洁,就是提供了几个纹理压缩的函数,其中我使用最多的函数是:1 DXTLIB_API NV_ERROR_CODE nvDXTcompress(2 const unsigned char * srcImage,3 size_t width,4 size_t height,5 size_t byte_pitch,6 nvPixelOrder pixelOrder,7 nvCompressionOptions * options,8 DXTWriteCallback fileWri
阅读全文
posted @
2014-01-03 19:23
叶飞影
阅读(1054)
推荐(1) 编辑
我所遭遇过的游戏中间件---HumanIK
摘要:我所遭遇过的游戏中间件---HumanIK Autodesk HumanIK游戏中间件,为游戏创建更加可信、真实的角色动画。该中间件的全身逆向运动(FBIK)系统支持角色真实地与所在环境及其它角色进行交互。通过动态地将FBIK信息分层置于运行中的现有视频中,创建、修改和重新利用角色动画,以此来节省动画师宝贵的时间。 以上语句拷贝自HumanIK广告手册.所谓IK(反向动力学)就是相反于正常的骨骼动作播放,提供骨架上某几根骨骼的变换状态,让骨架动态的摆出合理的位置.举个具体应用的例子,如果要实现两个高度不定的角色间的握手,不使用IK只能为每两种高度的角色编辑一套动作,这样做工作量和数据量都很大.
阅读全文
posted @
2014-01-03 19:15
叶飞影
阅读(1809)
推荐(0) 编辑