
本帖最后由 Richeir 于 2012-7-27 23:13 编辑
*80*我现在喝了点酒,害怕明天把帖子的问题给忘了,所以就趁着酒劲好好写个帖子。
向来不喜欢啥卖萌表情。~30!
来虫洞【现在叫做研究记录】也有2个月了,因为前一段身体的问题以及自己平时工作的问题~63!,没有太多时间来整理板块以及开展活动。
我已经过了20了,也过了中二期了,所以吐槽什么的,已经很少了【虽然头像还是新八叽..!98!
这段时间身体恢复的差别多了,也有时间去管理板块了,所以开始陆续整理板块以及开展一些小活动什么的~*41*
昨天讨论说要开一个Ruby的轮流写教程的活动,我大致想了下,这个还是比较可行的,毕竟大家的力量比我一个人要强很多~*15*
所以,以上...【。。*57*
这也算是我第一次组织活动~`96`
活动主题:大家一起学习Ruby语言`18`【日记君我对不起你...`80`
内容:报名参加教程贴的编写,初定一人一周就写一个帖子,每个人写的帖子是和别人的能够衔接上的【比如我写for循环,其他人接下来就写while循环什么的`38`
参与方法:在这个帖子里面报名写Ruby的教程贴,我会根据人数,然后和各位【僵尸】共同讨论所要写的帖子的主题以及进度。`50`
我保证这次绝不TJ。`69`
PS.Ruby语言的WikiPedia的链接:http://zh.wikipedia.org/wiki/Ruby
一直用c++的准备练一个脚本
犹豫中呢,,python perl ruby lua javascript
现在比较倾向于python,毕竟和工作会有点联系,但是perl有人辅导,但是ruby有论坛活动@@35!!
[查看全文]


RIFF文件格式
1. 简介RIFF全称为资源互换文件格式(ResourcesInterchange FileFormat),RIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构,RIFF文件所包含的数据类型由该文件的扩展名来标识,能以RIFF文件存储的数据包括:音频视频交错格式数据(.AVI) 波形格式数据(.WAV) 位图格式数据(.RDI) MIDI格式数据(.RMI)调色板格式(.PAL)多媒体电影(.RMN)动画光标(.ANI)其它RIFF文件(.BND)
2. CHUNK
chunk是组成RIFF文件的基本单元,它的基本结构如下:
struct chunk{
u32 id; /* 块标志 */
u32 size; /* 块大小 */
u8 dat[size]; /* 块内容 */
};
id 由4个ASCII字符组成,用以识别块中所包含的数据。如:'RIFF','LIST','fmt','data','WAV','AVI'等等,由于这种文件结构最初是由Microsoft和IBM为PC机所定义,RIFF文件是按照little-endian字节顺序写入的。
size(块大小) 是存储在data域中数据的长度,id与size域的大小则不包括在该值内。
dat(块内容) 中所包含的数据是以字(WORD)为单位排列的,如果该数据结构长度是奇数,则在最后添加一个空(NULL)字节。
chunk块中有且仅有两种类型块:'RIFF'和'LIST'类型可以包含其他块,而其它块仅能含有数据。
'RIFF'和'LIST'类型的chunk结构如下
structchunk{
u32 id; /* 块标志 */
u32 size; /* 块大小 */
/*此时的dat = type + restdat */
u32 type ; /* 类型 */
u8 restdat[size] /* dat中除type4个字节后剩余的数据*/
};
可以看出,'RIFF'和'LIST'也是chunk,只是它的dat由两部分组成type和restdat。
type,由4个ASCII字符组成,代表RIFF文件的类型,如'WAV','AVI ';或者'LIST'块的类型,如avi文件中的列表'hdrl','movi'。
restdat,dat中除type4个字节后剩余的数据,包括块内容,包含若干chunk和'LIST'
2.1 FOURCC 一个FOURCC(fourcharacter code)是一个占4个字节的数据,一般表示4个ASCII字符。在RIFF文件格式中,FOURCC非常普遍,structchunk 中的id成员,'LIST','RIFF'的type成员,起始标识等信息都是用FOURCC表示的。FOURCC一般是四个字符,如'abcd'这样的形式,也可以三个字符包含一个空格,如'abc'这样的形式。
编辑本段
2.2 RIFF文件块
RIFF文件块的数据结构如下:
'RIFF' FileSize FileType FileData
'RIFF' 是一个FOURCC,用于标识该文件是一个RIFF格式的文件。FileSize 是一个4字节的数据,给出文件的大小,但仅包括FileType和FileData两部分。FileType是一个FOURCC,用来说明文件类型,如"WAV","AVI"等。FileData部分表示文件的具体内容,可以是LIST也可以是CHUNK.
编辑本段
2.3 LIST
一个LIST数据块的数据结构如下:
'LIST' ListSize ListType ListData
'LIST' 是一个FOURCC,而且是固定的,每个LIST都是以'LIST'为开头。
ListSize 占用4个字节,表示ListType和ListData两部分加在一起的大小。
ListType 是一个FOURCC,是对LIST具体包含的数据内容的标识。
ListData 是该LIST的数据内容区,由CHUNK和子LIST组成,它们的个数和组成次序可以是不确定的。
3. 举例
4. 总结
RIFF文件的FileData部分由若干个'LIST'和chunk组成,而'LIST'的ListData又可以由若干个'LIST'和chunk组成,即'LIST'是可以嵌套的。
'RIFF',FileType,'LIST',ListType,ChunkID都是FOURCC,即使用4字节的ASIIC字符标识类型。
FileSize,ListSize,ChunkSize为little-endian32-bit正整数,表示Type(只有'RIFF','LIST'chunk有Type)+Data一起的大小,注意它是little-endian表示,如:0x00123456,存储地址由低到高,在little-endian系统中的存储表示为0x56341200(字节由低位到高位存储),而在big-endian为0x00123456(字节由高位到低位存储)。32bit整数0x00123456 存储地址低--------->;高little-endian(字节由低位到高位存储)56341200big-endian(字节由高位到低位存储)00123456





非地理概念的坐标系,主要用于图形学研究,参考读物主要为《3d数学基础:图形与游戏开发》
世界坐标系
直接,粗暴的坐标系
物体坐标系 模型坐标系
摄像机坐标系
3D,屏幕坐标系为2D,摄像机坐标系中,摄像机在原点,x轴向右,z轴向前(屏幕内或者摄像机方向),y轴向上
(??左手坐标系,貌似就DX是左手坐标系啊,OpenGL和很多游戏都是右手坐标系)
摄像机坐标系会有投影到2D屏幕的过程
惯性坐标系
(地理学上是【东北天】同惯性导航系统的坐标系)
惯性坐标系的原点和物体坐标系的原点重合,但是惯性坐标系的轴平行于世界坐标系的轴(就是平移嘛)
物体坐标系-》旋转-》惯性坐标系-》平移-》世界坐标系
(书中的画羊的例子还有点意思。场景树,不是么)
轴和物体的运动方向是相对的。
课后作业
下列每个问题中,那个坐标系是最合适的?
1.计算机在我前面还是后面
2.书在我西边还是东边
3.怎样从一个房间移动到另一个房间
4.我能看见我的计算机么?