[转载]等角(斜45度)游戏与数学

原文链接:http://www.javaeye.com/articles/1225

1984年欧洲的玩家被一款当时发布的游Knight Lore震惊了。这款2d游戏居然相当真实的模拟了3d环境,而当时游戏的发布平台是 ZX Spectrum, 48K的内存。这个技术就是isometric perspective(等角投影) 。后来大菠萝、最终幻想等游戏均采用了这种投影技术。
等角投影是指在一定范围内,投影面上任何点上两个微分线段组成的角度投影前后保持不变的一类投影。任何点上二微分线段组成的角度投影前后保持不变的一类投影。是角度和形状保持正确的投影,也称正形投影。这种投影类型不同于真3D常见的透视投影,并不以物体对摄像头的远近关系而对其缩放,x,y和z轴的投影角度均为120度。但是出于计算机渲染像素图像图形的特性,和开发方便,很多游戏实际上使用的是二等角投影。
由等角坐标变换到屏幕坐标可以参考这个公式:

由屏幕坐标变换到等角坐标:

以下文章摘自http://www.compuphase.com/axometr.htm:
The figure below shows a cube in the isometric projection as defined by ISO 5456-3.The first object from the left in the figure is the cube unadorned; the second object is the same cube with angles and measures annotated around it. The third and fourth graphics are the top and side views of the perspective scene and they give the camera position that fits the perspective view. The camera position is what you would feed into a 3D renderer (or ray tracer) to create the sprites or tiles for the isometric projection.

Computer games with isometric maps are often tile-based. To make tiles match, the game designer must take into account how diagonal lines are plotted in discrete steps (Bresenham and all that). As it turns out, a line at 30 degrees (sine is 0.5) produces steps that are too irregular. A line at an angle where the tangent is 0.5 does have a nice regular pattern: two steps to the right, one step up. Thus, the isometric projection used by most games tilt the x- and z-axes with approximately 27 degrees (the exact angle is "arctangent(0.5)"). By the way, because the tangent of the angle of the rhombus is 0.5, the rhombus is twice as wide as it is high. This is why many sources mention a 1:2 scale for isometric perspectives. (To make the edges of the rhombuses match, the width of the rhombus should be a multiple of four pixels and the height should be one pixel less than ½ width. In other words, the height:width ratio of a rhombus is usually not exactly 1:2, but rather near 1:2.1. This makes no difference for the principles of the isometric perspective.)
Again, the figure below shows what this isometric projection looks like.

Flash游戏采用等角投影的有PlayFish的餐厅(需要FQ):

 

时间: 2024-09-16 23:05:20

[转载]等角(斜45度)游戏与数学的相关文章

斜45度寻路实现函数_javascript技巧

没事写个寻路的,很简单 复制代码 代码如下: function xy45(x1, y1) {//直角坐标转斜45度 var x0 =0; var y0 =0; var s=-Math.PI/4; var o={}; o.x = int((x0+x1*Math.cos(s)+y1*Math.sin(s)))+dx; o.y =-int((y0+x1*Math.sin(s)-y1*Math.cos(s)))/2+dy; return o; } function rot45(x1, y1) {//斜4

被窝里手机要命:外壳温度45度会释放苯和甲醛致癌物

被窝里手机要命:外壳温度45度会释放苯和甲醛致癌物现在,越来越多人喜欢给手机"穿"上一件外壳,既彰显个性,又防止手机外表磨损.不过,央视<是真的吗>节目调查小组的实验让很多人震撼:这些外表或可爱或华贵的手机壳竟然含有致癌物.江苏省肿瘤医院的专家说,甲醛确实是致癌物,有可能引起白血病,在户外或者通风的环境下对身体影响不大,如果在被窝里等狭小的空间内,甲醛会对人体造成损伤.测试1:使用手机1小时 手机壳平均45度节目组从地摊和商场购买了塑料.硅胶及皮革这3种常见材质的手机壳,其

PhotoShop制作照片边角45度折边效果的教程

老式相册里面有一种插入照片的方式是在相册底板上刻出45度角的切口,然后将照片的2-4个角插入固定. 今天我们来用Photoshop模拟这种怀旧的视觉效果. 完成效果图: PS教程绘制步骤: 最终效果 分类: PS入门教程

java如何实现文字生成水印图片文字要45度倾斜满屏

问题描述 java如何实现文字生成水印图片文字要45度倾斜满屏 解决方案 http://www.oschina.net/code/snippet_120166_13511

flex 设置labelRotation倾斜45度 发现字体变小

问题描述 flex设置labelRotation倾斜45度在数据量比较大的情况下X轴字体倾斜后字体会变小,我试过设置字体的样式,但是都没有任何效果,有大虾知道在字体设置倾斜后还能改变字体大小的.困惑了很久了.

微博:45度仰角的未来(三)对电子商务的冲击还不够

中介交易 SEO诊断 淘宝客 云主机 技术大厅 ◎微博能否带流量给电子商务网站 微博很神奇,微博很火爆,微博冲击搜索引擎,门户网站,社交网络和实时通讯.但微博会一样的冲击电子商务吗?答案则是未必.或者说,他对电子商务的影响不会有你所想像的大.这背后的核心问题是:社区对于电子商务的影响力究竟有多大?影响的点在哪里? 我们先看看与微博高度相关的社交网络服务.2011年 4月,艾瑞谘询根据GoldMan 发布对Facebook调查发现, 31%受访者认为搜索引擎对网络购物影响很大, 27%受访者认为网

微博:45度仰角的未来 冲击搜索引擎与门户网站

中介交易 SEO诊断 淘宝客 云主机 技术大厅 ◎我们都仰望着别人 微博(Microblogging )服务在中国遍地开花,这种只要书写 140字就能张贴资讯的小型部落格,在传统入口网站新浪以及依靠即时通讯服务起家的腾讯经过一段时间的发力,各自的微博用户数都已经超过了一亿,比先前的 SNS社交网络还要更火爆. 为什么经营网路媒体的新浪,以及经营社交工具的腾讯能够这么顺利的推动微博发展,除了各自塬先就拥有广大用户群体的优势之外,这样的背景也道出了微博本身的双重特性:媒体特性与社交特性.而一切的关键

通榆县位于吉林省西部,科尔沁草原东陲,恰在北纬45度

通榆县位于吉林省西部,科尔沁草原东陲,恰在北纬45度,处于世界仅存的三大黑土地"东北黑土区"之中,属于世界公认的杂粮杂豆黄金产区. 就是在这样一个偏远的县域,很难想象该县县委书记孙洪君和县长杨晓峰联名写了一封信给全国的消费者,信件名称叫"致淘宝网民的一封公开信",并挂在淘宝聚划算的首页,信件内容比较长,我摘取三点主要内容以做说明. 第一,通榆县将借助电子商务全面实施"原产地直销"计划,通过网购将原产于通榆的优质杂粮杂豆,输送到全国消费者的餐桌上.

台湾研晶光电推出45度光学LED封装应用

台湾研晶光电推出45度硅胶光学镜头H40 LED封装在紫外光(UV,365-410nm).红外光(IR,850-940nm)及植物成长灯(660nm)应用. 研晶推出的45度硅胶光学镜头H40 LED(长x宽x高:4.0mm x 4.0mm x 2.8mm),使用高散热铜基板,可在标准350-700mA电流操作下达到1-3W的功率.为了能使客户更容易设计高质量及低成本的LED在UV(365-410nm).IR(850-940nm).植物成长灯(660nm)及其它工业用途上,窄角45度硅胶光学镜头