`
wangangie3
  • 浏览: 41581 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

实时三维动画内核分析

阅读更多

好吧,今天,让未来带领大家进入“真三维的 Flash 世界”——其实只是很简单的“三维”了。
  先看看这个:
  三维动画可能对大多数人来说都是可望而不可及的吧?是不是总觉得自己不可能制作出真正的三维的东西来呢?错!当你了解了三维的基础知识以后,这些想法就不存在了!而且您会很快就掌握它的制作方法!不相信?举个例子,我一直没有研究过三维基础知识,当我找到一本书以后,马上就编写出我的第一个真三维的动画,仅仅半小时!好了,有信心了吧?开始!
  1)在平面上画线
  在 Flash 中,所谓“画”线,其实就是将一个线型的 MovieClip 改变角度和长度,并且把它放在正确的位置上。
  我现在来说明怎样“画”一条线段。
  首先,看我们的 MovieClip,它是这个样子的:

  下面,我们该开始“画”的过程了。从 (x1,y1) 到 (x2,y2)。
  首先,看下图,我们可以复习一下上学时学到的东西,了解一下怎样求两点之间的距离。

  是了,两点之间的距离应该是dx= x2 - x1;
dy= y2 - y1;
line_length = Math.sqrt(dx*dx+dy*dy);
  然后,再看看怎样求旋转的角度。我们从三角函数的知识知道:正切 tan(ANGLE)=dy:dx,那么,好,我们已经知道了 dx 和 dy,就可以得出 tan(ANGLE) 的值,然后用 Flash 5 提供的反正切函数 atan 就可以计算出 ANGLE。
  不过,要注意的是,取得的 ANGLE 是以弧度计算的,我们还需要把它转换成角度。为什么要转换成角度呢?因为我们要旋转 MovieClip,而这个旋转的角度不是弧度,而是标准的角度。取得角度以后,如果是钝角,还要做一下运算。具体程序如下: angle = Math.atan(dy/dx);
angle = angle*180/Math.PI;
if (dx
  取得长度、角度以后,就可以“画”线了,我们先把线的顶端设置到 (x1,y1),然后通过改变长度和角度使得线的尾部到达 (x2,y2)。setProperty ("line", _x, x1);
setProperty ("line", _y, y1);
setProperty ("line", _rotation, angle);
setProperty ("line", _xscale, line_length);
  好了,“画”线这个最基本的环节我们完成了!
  2)空间上的点和线
  平面上的点我们会用 (x,y) 来表示,而当这个概念延伸到三维上以后,空间上的点就应该定义为 (x,y,z) ,其中,xy 的意义和传统上是一样的,而这个z则是代表垂直于平面上的“深度”,因此,在空间上的点 (10,10,100) 会表现得比 (10,10,10) 更“深”一些。
  那么,怎样来在二维平面上来表现空间上的点的位置呢?这里有一个经典的算法:x=(x/(z+d))*d;
y=(y/(z+d))*d;
本文转自:http://www.5uflash.com/flashjiaocheng/Flashdonghuajiaocheng/1116.html
分享到:
评论

相关推荐

    Dev-Cpp 6.9.3(基于opengl三维动画引擎的C++ 编译环境)

    2.基于opengl三维动画引擎,实现三维图形、动画的绘制(类似于logo语言)。3.支持代码的数据库管理。4.支持pascal语言转C++语言。5.支持语音识别。6.支持3D打印文件的导入。7.支持多线程编程。8.封装控制台用的游戏...

    基于OpenGL的工业机器人设计三维实体专用软件开发

    根据文献[1]提出的理论和算法,开发一种用于工业机器人本体设计的专用软件Robot-...主要介绍该软件的基本界面开发、建立工业机器人手臂和关节的三维模型、机器人的组装方法、以及机器人模型的基本运动的动画实现。

    具有三维空间效果的flash图库相册源码.rar

    具有三维空间效果的flash图库相册源码,内核是一个图片展示,不过功能更丰富些,可对照片进行分组显示,具有3D旋转特效,应用到了Flash的AS脚本编程技术,XML文件读写技术等,相册的最终效果请参见截图所示。

    AE插件-E3D三维模型英文版 Element 3D v2.2.3 (2184) Windows

    E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。具有real time rendering(实时...

    AE插件-E3D三维模型 Element 3D v2.2.3 (2192) Win支持多帧渲染

    E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。具有实时渲染的特性,即在制作...

    MARC开发模式实例

    它综合了MSC.Marc/MENTAT通用分析软件求解器和前后处理器的精髓,以及全自动二维四边形网格和三维六面体网格自适应和重划分技术,实现对具有高度组合的非线性体成型过程的全自动数值模拟。其图形界面采用工艺工程师...

    晴窗中文大侠6.0安装包下载

    晴窗中文大侠基本支持所有CG专业软件,几乎囊括了目前中国市面上所有常用的关于平面设计、三维动画、影视编辑等软件。是个人使用和学习图形图像英文软件不可多得的好帮手。 晴窗中文大侠的翻译技术是使用界面动态...

    Autodesk All Products KeyGen 2007-2018

    最先进的生成三维角色动画的工具包,包括许多实时工具使您胜任最具挑战性,极为繁重的动画项目。 Autodesk Productstream 通过组织、管理、自动化关键设计和发布的管理流程来加速发展周期,最优化企业在设计数据上的...

    3dsmax与PS复杂建筑渲染技术训练视频教程

    3D Studio Max,常简称为3ds Max或MAX,是Autodesk公司开发的基于PC系统的三维动画渲染和制作软件。其前身是基于DOS操作系统的3D Studio系列软件,最新版本是2013。在Windows NT出现以前,工业级的CG制作被SGI图形...

    AE插件 E3D Element 2.2.3 for Mac

    E3D是AE中强大的三维模型插件。支持3D对象在AE中直接渲染的引擎,该插件采用OpenGL程序接口,支持显卡直接参与OpenGL运算,是AfterEffects中为数不多的支持完全3D渲染特性的插件之一。 具有real time rendering...

    晴窗中文大侠 ChineseHome V6.0.13.137 (集成开发版)加强版

    晴窗中文大侠基本支持所有CG专业软件,几乎囊括了目前中国市面上所有常用的关于平面设计、三维动画、影视编辑等软件。是个人使用和学习图形图像英文软件不可多得的好帮手。 晴窗中文大侠的翻译技术是使用界面动态...

    计算机辅助设计3dsmax试题.doc

    15、用车削命令生成旋转物体时,可以使顶盖和底盖平整的参数选项是焊接内核 16、在复合物体中,可用于多个二维平面物体和一个三维几何体之间进行相加、相减运 算的物体命令是图形合并 17、用于将一个物体复制多个,...

    Symbian系统

    2005年二月,英国著名手机软件制造商Symbian推出一款新的手机操作系统软件OSv9.0,它支持更高像素数码相机与三维游戏动画。该操作系统软件对运行环境要求较高,目前运行在由英国芯片开发商ARM提供的快速处理器芯片...

    Mac OS X Snow Leopard 10A432雪豹 BT种子

    Quartz Extreme 使用OpenGL的把他们表示为三维内容中的材质贴图来更快速地绘制屏幕上的显示内容。允许利用显卡的3D硬体加速功能来更快速地合成影像。 3.本文是自己实践安装教程,参考了...

    Android 3D游戏开发技术宝典-OpenGL ES 2.0 (吴亚峰) 源代码

    8.7.1 三维旋转曲面的生成 270 8.7.2 贝塞尔曲线 270 8.7.3 bezier曲线生成工具 272 8.7.4 印度古典建筑场景的开发 274 8.8 本章小结 276 第9章 3d模型加载 277 9.1 obj模型文件概览 277 9.1.1...

    千博企业网站管理系统标准版 v2013 Build0206.rar

    同时,千博企业建站系统灵活的、可伸缩的产品架构、强健的系统内核、严谨的安全策略、灵活的内置模型、高效信息处理能力、便利的操作管理特性、专业严密的安全性等诸多特性,可以最大化满足各类企业网站展示、共享的...

    千博律师/学校/医院网站管理系统 v2012 Build1021.rar

    同时,千博企业建站系统(律师/学校/医院网站系统)灵活的、可伸缩的产品架构、强健的系统内核、严谨的安全策略、灵活的内置模型、高效信息处理能力、便利的操作管理特性、专业严密的安全性等诸多特性,可以最大化满足...

    Android程序设计基础

    这一部分介绍外部通信、基于位置的服务、内置SQLite数据库和三维图形。  本书最后提供了一个附录,其中列出了Android与Java SE(Java Standard Edition,Java标准版)之间的不同之处。 . 在线资源  本书网站...

    网管教程 从入门到精通软件篇.txt

    IVD:超过20/20微观数据维数或变量等级文件 IVP:超过20/20的用户子集配置文件 IVT:超过20/20表或集合数据文件 IVX:超过20/20微数据目录文件 IW:Idlewild屏幕保护程序 IWC:Install Watch文档 J J62:...

    千博学校网站系统-Asp

    12、完全开放的接口,提供二次开发空间,并可方便接入第三方统计、在线客服等模块。 13、最佳安全性:以网站开发者角度出发,配以千博学校网站系统产品的实际开发范例,从黑客主流攻击手段入手,向网站开发者展示的...

Global site tag (gtag.js) - Google Analytics