存档在 ‘Excel资讯’ 分类中.

革命性的3D引擎——Microsoft Excel

转摘自cnbeta,留存于此,便于查阅和参考。
出色的电脑游戏都会使用不同的图形引擎处理子系统—我们常说的3D引擎.例如Soure引擎(国内译名”起源”引擎,Half Life 2所使用),Unreal引擎(国内译名”虚幻”引擎,虚幻竞技场实用).IdTech4引擎(for:DOOM4),Cry2引擎(for:孤岛危 机),Clever’s Paradox引擎,这些都是在玩家间及游戏业界非常出名的图形引擎.下面您将了解到的是一个全新的3D图形引擎:Microsoft Excel
为我们所熟知的Excel是个全方位的办公工具软件,但它也有不为人所熟知的另一面,那就是它拥有一些功能特性,使得Excel可以作为一个优质的3D绘图引擎被使用。
通过这篇文章,我会展示Excel的算术运算,嵌入式渲染子系统(这里有两个不同的渲染子系统)和革命性的方法,理解这些仅需要你做一个思维观念上的重大转变。我希望你能发现Excel有效地和迅速地整合了实用性等众多的特点,多平台的可移植性,和基于独特且超现实的3D引擎特性为依托的高性能。章节中甚至有演示程序和短片, 这些都是由Excel 3D引擎创建的。
警告:非专家请谨慎尝试!
数学运算:
也许证明Excel的数学运算功能,仅需要有一个示范,至少在所有需要演示中这项是最少的。3D物体的操纵的核心函数(例如:四则运算,三角函数,矩阵代数)是Excel的本质所在—但它们是值得研究的,因为他们无与伦比的布局特点和良好的简约性,目前在整个流行的3D引擎领域,Excel犹如高塔般 耸立。(作者有点夸张,因为网上的演示虽然值得称赞,但远没有到达作者夸耀的地步)
合理的布局
很可能不会有游戏引擎能够解决整个三维算法问题,仅仅在半个屏幕大小的空间上。上半部分图1包含的空间位移,旋转的X ,Y ,Z轴和透视投影等等。这些都可以在演示程序看到,多边形的透视,Z缓冲(是在为物件进行着色时,执行“隐藏面消除”工作的一项技术,所以隐藏物件背后的部分就不会被显示出来。在3D环境中每个像素中会利用一组数据资料来定义像素在显示时的纵深度,即Z轴座标值。Z缓冲所用的位数越高,则代表该显示卡所提供的物件纵深感也越精确。目前的3D加速卡一般都可支持16位的Z Buffer)和反射的计算,所需的屏幕大小近似.
ugmbbc_183445
图1:3D引擎的实质
黄色标记了用户定义的参数,绿色指出的是引擎的计算数值,数字区域包含了如下一些数据(以下基于本人的计算机图形学知识)
1.透视投影的参数。
2.3D物体的坐标相对坐标(相对于物体的中心)
3.矩阵平移变换和旋转变换
(更多信息可以通过如下链接找到http://en.wikipedia.org/wiki/3D_projection)
4.旋转参数
5.在平移变换和旋转变换后,点的3D绝对坐标。
6.透视图影后,点的2维坐标。
7.点的屏幕坐标
8.物体边缘的终点
9.矩阵的平移旋转变换中的重要公式,这里我们可以更简洁和紧凑,看得非常清楚.
简洁性
Excel的开发环境,不仅允许程序员在编写时可以使用无格式的源码或者语法高亮突出的源代码,而且它也提供了其所有众所周知的格式化功能函数给引擎开发 人员:一些字体可以同时使用(不同的大小和类型);单元格和彩色文本;允许添加可弹出的提示;甚至是声音 (例如: “sit down”),也可以在整个电影需要的地方插入。
渲染方式
开发人员可以选择在2个渲染子系统间选择:
1.Excel自身的单元格图形(以下简称ECG)
2. 基于Office套件的图形抽象层(以下简称OGAL)
Excel自身的单元格绘图
启动Excel后,立刻忘记以往的习惯,我们可以看到充斥着单元格的EXCEL表格在屏幕上,以及包含我们所需数据的单元格,文本和公式。在这个屏幕上尝试着认为这个表格就是普通引擎的屏幕,而单元格就是一个个像素。
在此基础上不寻常的办法:
工作表=引擎的可视屏幕
单元格=像素点
毫无疑问,这是一个令人惊叹的模拟近似,接下来的问题就是如何将这些散装矩形形状的单元格可被视为像素?但我们会看到,这些矩形只是展现一个独特的功能的细胞图形,事实上,在适当的时候,和一般的小,老式的方块像素一样,在需要的时刻这些细胞图形的用法与以前并无二致。
抛开你对新事物的反感情绪,并看看ECG特性:
像素是可以调整大小的,因此如果有人想像过去那样.继续使用小的,老式的方块像素来开发,就像在传统的三维引擎中那样,也许能使他/她觉得这样可以开发更容易些(请见图2和3)。
ugmbbc_183548
图2:Excel中的默认像素实例
ugmbbc_183625
图3:调整大小(色调)的像素,趋于传统
应该指出的是,这种革新是该系统的一个有机组成部分,允许所使用的像素,在每行每列的大小不同,可以看出在图4 。
ugmbbc_183632
图4:像素在每行设置不同的大小
这个特殊的大小调整的最好例子,就是Excel的默认设置,在默认设置下常规像素变成了矩形形状,这是很容易让我们混淆,将他们作为数据输入区来看待。
大多数用户甚至不会意识到,这些都是像素,仅仅见他们作为数据区域来看.
ugmbbc_183639
图5:没有网格线的渲染
ugmbbc_183645
图6:带有网格线的渲染
·如果需要,可以使用占据极小像素点大小的网格线。在行和列有不同的大小的情况下,这是一个非常有用的功能。您可以通过图5和图6看到网格线功能.
·象素的颜色可以设置24位存贮模式(即2的24次方种颜色)。
·255×65535屏幕分辨率,所带来的好处是,可以使用近16.7百万像素的分辨率,这在其它3D引擎中是未发现的。
·惊人的1:256的长宽比,使得我们可以设置隐藏/隐藏功能,以获得4:4, 16:9或其他任意比率。
·可以拥有255屏幕在一个工程中,所以不止是一般的2个,将会有更多的画面缓冲器可以一起使用。
·内置在变焦功能,利用函数可以放大或缩小像素。
可以这样说, ECG超越了其时间和包含了很多独特和无可比拟的特点是不容易在其他的三维引擎找到的:可变大小的像素,任意变长宽比, 16.7百万像素的分辨率,可切换的像素大小的网格线。
如图所示(图7),可以看的到这引擎的实际表现(在渲染网格线的情况下) 。您可以开始演示下载我们的例子中的Excel引擎文件(Excel的询问时, 启用宏),迫切的Alt +按F8键和运行ecg_demo 。
ugmbbc_183651
图7:运算中的引擎(ECG渲染子系统)
缺点是ECG的速度不够快和缺乏一些常见的引擎功能(例如,绘制线,材质贴图等) ,必须由开发员自行开发。
基于Office套件的图形抽象层
若是没有对ECG的先进功能的需要,像是可调整大小像素和可变长宽比率,那么 Excel的其他绘制子系统-整体中剥离的图形抽象层—是另一个选择。
OGAL提供的附加功能(多边形绘图,填充等),体现出更高的性能和兼容性与其他应用程序的的MS Office套件。如果需要将3D的应用程序进行移植,此兼容性能是非常有用的.
这是一个奇特的渲染过程,渲染是表现在工作表单之外的一个单独的层,所以子系统可以在不修改现有的内容的工作状态下运行。
此特性使得有可能运行OGAL和ECG并驾齐驱,或显示的背景和他们的计算结果就在同一个屏幕上-这有助于调试过程。截图运行OGAL子系统在下面可以看到(图8)。
在工作表单前面的独渲染层是很便于观察的:虽然旋转立方体的画面是由这一层提供,但3D的计算的部分由引擎负责,可以在背景中看到。
ugmbbc_183702
图8:运行中的引擎(使用的基于OFFICE组件的抽象图像渲染层)
一个典型OGAL子系统表现的例子就是可见的多边形:而借鉴于目前的3D引擎的基本处理对象是三角形,OGAL也支持其他多边形(如四边形,五边形等)。
这里不需要一个单独的背景缓冲区,因为OGAL将会处理好一切。颜色可以设置由24位存贮方式,而子系统为的透明度提供了额外的Alpha通道。示范档案可在我的例子中Excel文件引擎找到-对于如何避免实时时间,在录像中都有演示:
警告:你非常-非常确定你是个专家!否则慎用!
思维的转变
连续性从本质上影响我们在实际编程中的语句表达。它出现在你编程事业的每一个角落:每天数以千计的程序代码,一步步创建可执行文件(就像定义在make程序的描述文件那样),调试运行一条条命令。
数以千计不同的程序和几十亿的源代码行,都是被连续性思维方式所创造。连续性贯穿我们目前的编程模式,使许多程序员不会怀疑其存在的合理性,并被它的局限性所制约,这是理所当然的事。
注意:请不要低估习惯的力量!也许您有一个QWERTY键盘(指我们所用的标准键盘),其实那是一个有意排列使你不舒服的布局!

标签: 没有标签

《Excel VBA实战技巧精粹》终于登场了

经过近一年的苦熬,《Excel VBA实战技巧精粹》终于登场了,这是EH《精粹》系列的主要图书之一。
EHVBAjc04
这是我第一次正式参与编写关于计算机类的图书,也想尽力给大家带来最好的东西,希望大家能够多提提宝贵意见。此外,大家有什么问题,也可以在本站留言或者给我发邮件(xhdsxfjy@163.com),我会尽力回复。
内容简介:
  本书内容侧重于Excel VBA使用技巧,旨在帮助Excel VBA的初学者和有一定Excel VBA应用基础、希望进阶的读者。全书精选了279个技巧、近300个典型实例,并辅以深入浅出地剖析,力求让更多希望深入掌握Excel VBA技巧的读者取得更大的提高。本书分为八篇,第一篇主要介绍Excel VBA基础知识,第二篇介绍常用的Excel对象的应用技巧,第三篇介绍VBA内置函数、工作表函数、自定义函数和Excel加载宏的应用技巧,第四篇主要介绍Excel VBA开发过程中交互式设计的使用技巧,第五篇介绍如何使用VBA操作文件对话框、搜索文件、操作文件和文件夹等技巧,第六篇以一个名为“学生管理”的数据库为例介绍了ADO的应用,第七篇介绍如何使用Excel VBA访问Internet及进行相关操作、读写XML文档、操控其他的Office应用程序等高级编程技巧,第八篇介绍Excel VBA代码调试和错误处理的技巧,以及一些有效的代码优化技术。
详情请跟踪:http://club.excelhome.net/display.asp?tid=3&uid=13913&B=125&t=333501

标签: , , ,

Open XML Format SDK 1.0 发布

Technorati 标签: ,,

据cnBata消息:Open XML Format SDK 1.0 发布

使用这个API,程序员们就可以通过自己的程序直接生成Word和,PowerPoint,Excel 2007版本的文件,这是OpenXML编程的基础.
今天Open XML Format SDK 1.0正式发布了,Office相关的程序员们不可以错过.

标签: 没有标签

EH《Excel高效办公》系列隆重上市

Technorati 标签: ,

打造核心竞争力的职场宝典《Excel高效办公》系列,现已上市。这套丛书是EH继《Excel实战技巧精粹》和《Excel应用大全》之后推出的又一力作,共7本,分别为:

管理专家把脉,Excel高手开方,与职业技能对接,与用户体验对话!

showimgEHBookZc

  • 由资深专家编写

    丛书的编写者都是相关行业的资深专家,他们同时也是Excel Home上万众瞩目的“明星”、备受尊敬的“大侠”。他们往往能一针见血地指出你工作中最常见的疑难点,然后帮你分析面对这些困难应该使用何种思路来寻求答案,最后贡献出自己从业多年所得来的宝贵专业知识与经验,并且通过来源于实际工作中的真实案例向大家展示利用Excel进行高效办公的绝招。

  • 与职业技能对接
  • 丛书完全按照职业工作内容进行谋篇布局,以Excel在某个职业工作中的具体应用为主线。通过介绍典型应用案例,在细致地讲解工作内容和工作思路的同时,将Excel各项常用功能(包括基本操作、函数、图表、数据分析和VBA)的使用方法进行无缝的融合。
    本书力图让读者在掌握具体工作方法的同时也相应地提高Excel技术水平,并能够举一反三,将示例的用法进行“消化”、“吸收”后用于解决自己工作中的问题。

  • 与本书读者对象
  • 本书主要面向职场人士,特别是职场新人和亟需加强自身职业技能的进阶者。同时,也适合希望提高现有实际操作能力的职场人士和大中专院校的学生阅读。

    高超的Excel技术配合行业经验来共同应用,才有可能把Excel发挥到极致!

    此外,还配置有视频讲解系列:

    >>>视频分享: Excel高效办公之职场对话教程   长达200多分钟的实际应用案例讲解!

    >>>视频分享: 循序渐进学Excel   新手入门必学的经典教程!

    标签: 没有标签

    Microsoft Excel历史一览

    好不容易找到的资料,Microsoft Excel历史版本一览,让您领略Excel的足迹。
    Microsoft Excel 1.01, Macintosh edition, French
    Excel 1.01
    Microsoft Excel 1.5, Macintosh edition
    Excel 1.5
    Microsoft Excel 2.1, promotional edition
    Excel 2.1
    Microsoft Excel 2.2, OS/2 edition
    Excel 2.2
    Microsoft Excel 2.2a, Macintosh edition, French
    Excel 2.2a
    Microsoft Excel 3.0, OS/2 edition
    Excel 3.0
    Microsoft Excel 4.0, Macintosh edition, German
    Excel 4.0
    Microsoft Excel 4.0, version 4.0a, part of Office 4.0 package
    Excel 4.0a
    Microsoft Excel 5.0
    Excel 5.0
    Excel 5.0a
    从6.0开始,Excel放弃以数字作为版本号的方式,开始使用年份定义版本。
    Microsoft Excel 95
    Excel 95
    Microsoft Excel 97
    Excel 97
    Microsoft Excel 98, Macintosh edition
    Excel 98
    Microsoft Excel 2000, Polish
    Excel 2000
    Microsoft Excel 2001, Macintosh edition
    Excel 2001
    Microsoft Excel XP
    Excel xp
    Microsoft Excel v. X, Macintosh edition
    Excel vx
    Microsoft Excel 2003
    Excel 2003
    Microsoft Excel 2004, Macintosh edition
    Excel 2004
    Microsoft Excel 2007, beta 2
    Excel 2007 beta2
    Microsoft Excel 2007
    Excel 2007

    标签: 没有标签