ZT暴强的恶搞,微软Excel:革命性的3D游戏引擎?

来源:百度文库 编辑:超级军网 时间:2024/04/29 09:37:53
http://iyeeyan.blog.sohu.com/93878914.html
译者: Moon.Wong

简介:用Excel作为3D游戏引擎来开发三维游戏?这听起有些疯狂,看完这篇文章后,你可能觉得这个想法并非不那么切实际了。此文有些长,第二部分的稍后再翻译,如果哪位读者比较感兴趣,可以将剩下的翻译完。

微软的Excel:革命性的3D游戏引擎?

简介

出色的电脑游戏都使用不同的图形处理子系统:---即所谓的3D图形引擎.Soure引擎(用在Half Life 2上),Unreal引擎(用在”虚幻竞技场”),IdTech4引擎(用在毁灭战士4上),Cry引擎2(用在孤岛危机上),Clever’s Paradox引擎,这些都是在玩家和游戏产业界专家中非常有名的图形引擎。

下面我们就来学习另一种新的3D游戏引擎,它的名字是:微软电子表格

据了解,电子表格时全能的办公工具软件,但是大概很多人不知道电子表格有一连串的特色使得电子表格成为一流的3D图形引擎。

通过此文我将展示电子表格的运算器,渲染子系统(这里有两个不同的渲染子系统),以及颠覆性的实现方法。理解这里的实现方法可能需要思维方式的转变。我也希望你可以发现Excel及其有效整合了实用性,众多的特色,多平台的可移植性(译者:这里有点不明白,Excel可以跨平台使用?原作者有点吹吧?)以及风格超的3d引擎所展现的高水平性能

这一章将包括演示程序和视频 ,这些都是通过Excel的3d引擎制作的。

警告:业余人员请勿尝试,

算数函数

可能Exce的算术函数几乎不需要展示,针对3D类处理的核心函数才是Excel的本质。(如,三角函数的算法规则和矩阵代数),我们也可以验证下与Excel那超过目前所有3D引擎的所展现出来的华丽和精致不对等的紧促和小巧(译者:我不懂Excel图形引擎的内核,但我感觉作者还是有点吹牛皮)

紧凑性

大多数游戏引擎不能在半张屏幕里面解决整个三维空间的算法,图一中的靠上的部分包括了空间转换,围绕X,Y,Z轴的旋转,以及透视投影。这些都可以在演示程序中看到。多边形的可见性,以及Z缓冲(这是将三维物体投影到2维平面上,决定那些点可以在2维面上显示的一种算法。)和反射计算的部分都需要占类似大小的屏幕




figure01.png
图 1,3D引擎的本质

黄色标记了用户可以第一的阐述,绿色代表了引擎的技术值,数字区域包含了如下一些数据

透视投影的参数。
目标的点的坐标(相对于他们的中心)
转换和旋转矩阵(更多信息可以通过如下链接找到http://en.wikipedia.org/wiki/3D_projection))
旋转参数
在转换和旋转后点的三维绝对坐标。
透视图影后的点的2维坐标。
点的屏幕坐标
物体边缘的终点
转换旋转矩阵中要素的公式,这里我们可以发现简洁和紧促清晰可见
优雅性

Excel的开发环境不仅允许编程人员来编写简单或重要语法的源代码,而却它也为引擎开发者提供所有的周所周知的格式化函数。若干种字体可以同时使用。(不同的大小和类型),单元格和文本的颜色,可添加的弹出式提醒,以及----坐下不要激动----可以添加音频甚至整个电影,如果需要的话。

渲染方式

开发者可以在两种渲染子系统之间做出选择。

Excel自身的单元格图形(以下简称ECG)
套件级别的图形抽象层(有高人可做确认吗?我是直接翻译的)
Excel自身单元格的图形

在我们打开Excel后,忘掉我们在屏幕上看到的那些包含单元格的工作表单,以及这些单元格里面包含的数据,文本,和公式,试着吧工作表单看成图形引擎的屏幕,单元格时屏幕的像素,,基于这种独特的想法:

工作表单=引擎的屏幕
单元格=像素
毫无疑问这是一个令人震惊的想法,接下来你们可能要问了如如何将这些方形的块状单元格看成像素呢?我们将可看到这些方形可以被看作是这种很独特的单元格图形的特色,实际上,就如以前以前我们用过的,小的,方块状的像素一样。

先还是把你的不适抛到一边,看一看Exce单元格图形的特色:

像素大小可以改变,如果有人想要时光倒流,使用老式的3d引擎来画那种小的,方块状的像素,现在他现在可以很容易的实现了。(见图2和图3)

figure2.png
图2;Excel单元格默认大小
figure3.png
图3,改变大小和着色后的像素


需要注意的是这个创新是这套系统的随意部分,使得你可以获得在行和列大小一样的像素,正如图四所见


figure5-1.png
图4,每一行的像素宽度都可以设置的不同



这种异常的尺寸调整的最好例子就是Excel的默认设置。这种设置下像素被扭曲成长方形,这使很容易把人弄糊涂,是用户将这些像素看成数据输入区域

大多数用户并没将这些单元格视为像素,只是将它们看成数据输入区域。


figure5.png
图5,不大有方格线的着色渲染


figure6.png
图6,带有方格线的着色渲染

像素的的方格底线如果需要的可以显示出来。如果行列宽度不一样的话,这是一个非常有用的特点。通过图5和图6我们可以看到方格底线的功能。
像素的颜色有2的24次方种。
255×65535的屏幕分辨率可以获得在其他3d引擎中看不到的独特的高大16.7兆像素的分辨率
令人惊奇的1:256的纵横比,可以通过隐藏和取消隐藏来获得4:4,1:9或者其他任意数值的纵横比
255 screens in an application, so not only the usual 2 but more screen buffers can be used together.(此话一直没看懂,那位点拨下。)
.内置可随意放大或缩小像素的函数。
也可以这样说,ECG大大超越了这个时代,他包含了许多都一无二的,与之不相匹配的并且在其他3D引擎中无法实现的特色:可改变的像素,任意变化的纵横比,16.7兆像素的分辨率,可转变的像素大小的方格线。

在下面的图中(图7),在运算中,我们可以看到这个引擎。你可以自己下载我们的实例Excel引擎文件(当Excel提示时,允许宏的运行),按住ALT+F8来运行这个ECG的演示程序。




figure7.png
图7:运算中的引擎(使用的是ECG的渲染系统)

ECG的缺点是速度不够快,以及缺少一些画图函数(如。画直线,材质贴图。等等),开发人员不得不自己编程执行。http://iyeeyan.blog.sohu.com/93878914.html
译者: Moon.Wong

简介:用Excel作为3D游戏引擎来开发三维游戏?这听起有些疯狂,看完这篇文章后,你可能觉得这个想法并非不那么切实际了。此文有些长,第二部分的稍后再翻译,如果哪位读者比较感兴趣,可以将剩下的翻译完。

微软的Excel:革命性的3D游戏引擎?

简介

出色的电脑游戏都使用不同的图形处理子系统:---即所谓的3D图形引擎.Soure引擎(用在Half Life 2上),Unreal引擎(用在”虚幻竞技场”),IdTech4引擎(用在毁灭战士4上),Cry引擎2(用在孤岛危机上),Clever’s Paradox引擎,这些都是在玩家和游戏产业界专家中非常有名的图形引擎。

下面我们就来学习另一种新的3D游戏引擎,它的名字是:微软电子表格

据了解,电子表格时全能的办公工具软件,但是大概很多人不知道电子表格有一连串的特色使得电子表格成为一流的3D图形引擎。

通过此文我将展示电子表格的运算器,渲染子系统(这里有两个不同的渲染子系统),以及颠覆性的实现方法。理解这里的实现方法可能需要思维方式的转变。我也希望你可以发现Excel及其有效整合了实用性,众多的特色,多平台的可移植性(译者:这里有点不明白,Excel可以跨平台使用?原作者有点吹吧?)以及风格超的3d引擎所展现的高水平性能

这一章将包括演示程序和视频 ,这些都是通过Excel的3d引擎制作的。

警告:业余人员请勿尝试,

算数函数

可能Exce的算术函数几乎不需要展示,针对3D类处理的核心函数才是Excel的本质。(如,三角函数的算法规则和矩阵代数),我们也可以验证下与Excel那超过目前所有3D引擎的所展现出来的华丽和精致不对等的紧促和小巧(译者:我不懂Excel图形引擎的内核,但我感觉作者还是有点吹牛皮)

紧凑性

大多数游戏引擎不能在半张屏幕里面解决整个三维空间的算法,图一中的靠上的部分包括了空间转换,围绕X,Y,Z轴的旋转,以及透视投影。这些都可以在演示程序中看到。多边形的可见性,以及Z缓冲(这是将三维物体投影到2维平面上,决定那些点可以在2维面上显示的一种算法。)和反射计算的部分都需要占类似大小的屏幕




figure01.png
图 1,3D引擎的本质

黄色标记了用户可以第一的阐述,绿色代表了引擎的技术值,数字区域包含了如下一些数据

透视投影的参数。
目标的点的坐标(相对于他们的中心)
转换和旋转矩阵(更多信息可以通过如下链接找到http://en.wikipedia.org/wiki/3D_projection))
旋转参数
在转换和旋转后点的三维绝对坐标。
透视图影后的点的2维坐标。
点的屏幕坐标
物体边缘的终点
转换旋转矩阵中要素的公式,这里我们可以发现简洁和紧促清晰可见
优雅性

Excel的开发环境不仅允许编程人员来编写简单或重要语法的源代码,而却它也为引擎开发者提供所有的周所周知的格式化函数。若干种字体可以同时使用。(不同的大小和类型),单元格和文本的颜色,可添加的弹出式提醒,以及----坐下不要激动----可以添加音频甚至整个电影,如果需要的话。

渲染方式

开发者可以在两种渲染子系统之间做出选择。

Excel自身的单元格图形(以下简称ECG)
套件级别的图形抽象层(有高人可做确认吗?我是直接翻译的)
Excel自身单元格的图形

在我们打开Excel后,忘掉我们在屏幕上看到的那些包含单元格的工作表单,以及这些单元格里面包含的数据,文本,和公式,试着吧工作表单看成图形引擎的屏幕,单元格时屏幕的像素,,基于这种独特的想法:

工作表单=引擎的屏幕
单元格=像素
毫无疑问这是一个令人震惊的想法,接下来你们可能要问了如如何将这些方形的块状单元格看成像素呢?我们将可看到这些方形可以被看作是这种很独特的单元格图形的特色,实际上,就如以前以前我们用过的,小的,方块状的像素一样。

先还是把你的不适抛到一边,看一看Exce单元格图形的特色:

像素大小可以改变,如果有人想要时光倒流,使用老式的3d引擎来画那种小的,方块状的像素,现在他现在可以很容易的实现了。(见图2和图3)

figure2.png
图2;Excel单元格默认大小
figure3.png
图3,改变大小和着色后的像素


需要注意的是这个创新是这套系统的随意部分,使得你可以获得在行和列大小一样的像素,正如图四所见


figure5-1.png
图4,每一行的像素宽度都可以设置的不同



这种异常的尺寸调整的最好例子就是Excel的默认设置。这种设置下像素被扭曲成长方形,这使很容易把人弄糊涂,是用户将这些像素看成数据输入区域

大多数用户并没将这些单元格视为像素,只是将它们看成数据输入区域。


figure5.png
图5,不大有方格线的着色渲染


figure6.png
图6,带有方格线的着色渲染

像素的的方格底线如果需要的可以显示出来。如果行列宽度不一样的话,这是一个非常有用的特点。通过图5和图6我们可以看到方格底线的功能。
像素的颜色有2的24次方种。
255×65535的屏幕分辨率可以获得在其他3d引擎中看不到的独特的高大16.7兆像素的分辨率
令人惊奇的1:256的纵横比,可以通过隐藏和取消隐藏来获得4:4,1:9或者其他任意数值的纵横比
255 screens in an application, so not only the usual 2 but more screen buffers can be used together.(此话一直没看懂,那位点拨下。)
.内置可随意放大或缩小像素的函数。
也可以这样说,ECG大大超越了这个时代,他包含了许多都一无二的,与之不相匹配的并且在其他3D引擎中无法实现的特色:可改变的像素,任意变化的纵横比,16.7兆像素的分辨率,可转变的像素大小的方格线。

在下面的图中(图7),在运算中,我们可以看到这个引擎。你可以自己下载我们的实例Excel引擎文件(当Excel提示时,允许宏的运行),按住ALT+F8来运行这个ECG的演示程序。




figure7.png
图7:运算中的引擎(使用的是ECG的渲染系统)

ECG的缺点是速度不够快,以及缺少一些画图函数(如。画直线,材质贴图。等等),开发人员不得不自己编程执行。
9177C5BF92EA06666ECBFE2F20315224.gif...太油菜列...
这其实接近了事情的本质。