- 浏览: 1089865 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://code.google.com/p/jiglibflash/
Jiglibflash is a as3 open source 3D physics engine with a MIT license (ported from c++ Jiglib).
Supported 3D engines are: Away 3D, Away 3D lite, Five 3D, Sandy 3D and Papervision 3D.
The source and examples can be found in the trunk at the SVN (see source tab). There's a flash 9 and flash 10 version.
There is no documentation yet, but you can find a short tutorial in the Wiki.
You can reach our blog at: www.jiglibflash.com/blog.
原帖地址http://www.antscript.cn/jiglibflash%e8%b6%85%e7%ae%80%e6%98%93%e5%85%a5%e9%97%a8.html
JiglibFlash作为Flash 3D中为数不多的一个物理引擎(开源的好像还有一个WOW,另外就是没开源的日本那个超强的3D+物理引擎)也算为这方面填补了空缺,说到效率,JiglibFlash已经能够应付那些要求不是特别高的应用了。
官方博客:http://www.jiglibflash.com/blog/
google code :http://code.google.com/p/jiglibflash/
使用JiglibFlash其实是很简单,只要了解了它的工作原理,用起来就很容易了,不过想要完全理解它的架构、API、底层原理这些东西,没有一定的数学和物理能力是不行的,不过对于开发者来说,会用就可以了。
它的工作流程形象的大概描述出来是这样的,对于在3D场景的每一个物体,在物理引擎中建立一个外形与之相同(更多时候是相似)的物理模型(不可见的),物理引擎检测计算之后,将结果在3D场景中的物体上反映出来。
大概流程如下:
1.初始化物理引擎
2.创建3D物体
3.在物理引擎中创建物理模型并与相关3D物体形成映射
4.每帧渲染前进行物理检测
其中有一点需要注意:一旦建立映射以后,对物理模型的操作都将自动应用于与其相对应的3D物体上。
下面用一段简单的代码来实现一个小球落到一个倾斜的平面上的物理效果
?[Copy to clipboard]View Code ACTIONSCRIPT3package cn.antscript.JiglibFlash_Tutorials
{
import flash.events.Event;
import jiglib.geometry.JPlane;
import jiglib.geometry.JSphere;
import jiglib.math.JNumber3D;
import jiglib.plugin.papervision3d.Papervision3DPhysics;
import jiglib.plugin.papervision3d.Pv3dMesh;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
/**
* ...
* @author AntScript
* @blog http://www.antscript.cn
*/
public class Main extends BasicView
{
private var _physicsapervision3DPhysics;
private var _ball:Sphere;
private var _pBall:JSphere;
private var _groundlane;
private var _pGround:JPlane;
public function Main()
{
init();
}
private function init():void
{
initPV3D();
initPhysics();
startRendering();
}
//初始化PV3D
private function initPV3D():void
{
//实例化一个球体,放到场景中
_ball = new Sphere(new FlatShadeMaterial(new PointLight3D()),100,20,20);
scene.addChild(_ball);
//实例化一块地面,放到场景中
_ground = new Plane(new WireframeMaterial(0x000000), 2000, 2000, 20, 20);
scene.addChild(_ground);
}
//初始化Jiglib
private function initPhysics():void
{
//初始化物理引擎
_physics = new Papervision3DPhysics(scene, 5);
//创建一个物理球体模型,并与_ball形成映射
_pBall = new JSphere(new Pv3dMesh(_ball), 100);
//设置质量,位置
_pBall.mass = 10;
_pBall.moveTo(new JNumber3D(0, 300, 0));
//加入到物理引擎中
_physics.addBody(_pBall);
//创建一个物理平面模型,并与_ground形成映射
_pGround = new JPlane(new Pv3dMesh(_ground));
//设置地面位置及方向等
_pGround.moveTo(new JNumber3D(0, -200, 0));
_pGround.rotationX = 90;
_pGround.rotationY = -10;
//设置地面不能动
_pGround.movable = false;
//加入到物理引擎
_physics.addBody(_pGround);
}
override protected function onRenderTick(event:Event = null):void
{
//进行物理检测
_physics.step();
super.onRenderTick(event);
}
}
}
点击打开新页面看效果
这只是一个十分简易的教程,要做出一些应用的话还需更加深入的研究,它自带的和官网上网络上都有很多资料代码,周末马上到了,have fun~
jiglib.cof:
JConfig: 配置类
jiglib.collision:
CollDetectBoxBox: 立方体与立方体碰撞检测
CollDetectBoxPlane: 立方体与平面碰撞检测
CollDetectCapsuleBox: 立方体与胶囊体碰撞检测
CollDetectCapsuleCapsule: 胶囊体与胶囊体碰撞检测
CollDetectCapsulePlane: 胶囊体与平面碰撞检测
CollDetectFunctor: 碰撞检测基类
CollDetectInfo: 碰撞检测数据类
CollDetectSphereBox: 球体与立方体碰撞检测
CollDetectSphereCapsule: 球体与胶囊体碰撞检测
CollDetectSpherePlane: 球体与平面碰撞检测
CollDetectSphereSphere: 球体与球体碰撞检测
CollisionInfo: 碰撞结果信息
CollisionSystem: 碰撞管理类
CollPointInfo: 碰撞点信息
jiglib.geometry:
JAABox: 边界盒
JBox: 刚体-立方体
JCapsule: 刚体-胶囊体
JPlane: 刚体-平面
JRay: 射线
JSegment: 线段
JSphere: 刚体-球体
jiglib.math:
JMatrix3D: 4*3矩阵
JNumber3D: 3D数学类
jiglib.physics:
BodyPair: 刚体对
CachedImpulse: 缓存类
HingeJoint: 铰链关节
MaterialProperties: 材质属性
PhysicsController: 物理控制器(关节基类)
PhysicsState: 物理状态
PhysicsSystem: 物体引擎主类
RigidBody: 所有刚体基类
Jiglibflash is a as3 open source 3D physics engine with a MIT license (ported from c++ Jiglib).
Supported 3D engines are: Away 3D, Away 3D lite, Five 3D, Sandy 3D and Papervision 3D.
The source and examples can be found in the trunk at the SVN (see source tab). There's a flash 9 and flash 10 version.
There is no documentation yet, but you can find a short tutorial in the Wiki.
You can reach our blog at: www.jiglibflash.com/blog.
原帖地址http://www.antscript.cn/jiglibflash%e8%b6%85%e7%ae%80%e6%98%93%e5%85%a5%e9%97%a8.html
JiglibFlash作为Flash 3D中为数不多的一个物理引擎(开源的好像还有一个WOW,另外就是没开源的日本那个超强的3D+物理引擎)也算为这方面填补了空缺,说到效率,JiglibFlash已经能够应付那些要求不是特别高的应用了。
官方博客:http://www.jiglibflash.com/blog/
google code :http://code.google.com/p/jiglibflash/
使用JiglibFlash其实是很简单,只要了解了它的工作原理,用起来就很容易了,不过想要完全理解它的架构、API、底层原理这些东西,没有一定的数学和物理能力是不行的,不过对于开发者来说,会用就可以了。
它的工作流程形象的大概描述出来是这样的,对于在3D场景的每一个物体,在物理引擎中建立一个外形与之相同(更多时候是相似)的物理模型(不可见的),物理引擎检测计算之后,将结果在3D场景中的物体上反映出来。
大概流程如下:
1.初始化物理引擎
2.创建3D物体
3.在物理引擎中创建物理模型并与相关3D物体形成映射
4.每帧渲染前进行物理检测
其中有一点需要注意:一旦建立映射以后,对物理模型的操作都将自动应用于与其相对应的3D物体上。
下面用一段简单的代码来实现一个小球落到一个倾斜的平面上的物理效果
?[Copy to clipboard]View Code ACTIONSCRIPT3package cn.antscript.JiglibFlash_Tutorials
{
import flash.events.Event;
import jiglib.geometry.JPlane;
import jiglib.geometry.JSphere;
import jiglib.math.JNumber3D;
import jiglib.plugin.papervision3d.Papervision3DPhysics;
import jiglib.plugin.papervision3d.Pv3dMesh;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.objects.primitives.Sphere;
import org.papervision3d.view.BasicView;
/**
* ...
* @author AntScript
* @blog http://www.antscript.cn
*/
public class Main extends BasicView
{
private var _physicsapervision3DPhysics;
private var _ball:Sphere;
private var _pBall:JSphere;
private var _groundlane;
private var _pGround:JPlane;
public function Main()
{
init();
}
private function init():void
{
initPV3D();
initPhysics();
startRendering();
}
//初始化PV3D
private function initPV3D():void
{
//实例化一个球体,放到场景中
_ball = new Sphere(new FlatShadeMaterial(new PointLight3D()),100,20,20);
scene.addChild(_ball);
//实例化一块地面,放到场景中
_ground = new Plane(new WireframeMaterial(0x000000), 2000, 2000, 20, 20);
scene.addChild(_ground);
}
//初始化Jiglib
private function initPhysics():void
{
//初始化物理引擎
_physics = new Papervision3DPhysics(scene, 5);
//创建一个物理球体模型,并与_ball形成映射
_pBall = new JSphere(new Pv3dMesh(_ball), 100);
//设置质量,位置
_pBall.mass = 10;
_pBall.moveTo(new JNumber3D(0, 300, 0));
//加入到物理引擎中
_physics.addBody(_pBall);
//创建一个物理平面模型,并与_ground形成映射
_pGround = new JPlane(new Pv3dMesh(_ground));
//设置地面位置及方向等
_pGround.moveTo(new JNumber3D(0, -200, 0));
_pGround.rotationX = 90;
_pGround.rotationY = -10;
//设置地面不能动
_pGround.movable = false;
//加入到物理引擎
_physics.addBody(_pGround);
}
override protected function onRenderTick(event:Event = null):void
{
//进行物理检测
_physics.step();
super.onRenderTick(event);
}
}
}
点击打开新页面看效果
这只是一个十分简易的教程,要做出一些应用的话还需更加深入的研究,它自带的和官网上网络上都有很多资料代码,周末马上到了,have fun~
jiglib.cof:
JConfig: 配置类
jiglib.collision:
CollDetectBoxBox: 立方体与立方体碰撞检测
CollDetectBoxPlane: 立方体与平面碰撞检测
CollDetectCapsuleBox: 立方体与胶囊体碰撞检测
CollDetectCapsuleCapsule: 胶囊体与胶囊体碰撞检测
CollDetectCapsulePlane: 胶囊体与平面碰撞检测
CollDetectFunctor: 碰撞检测基类
CollDetectInfo: 碰撞检测数据类
CollDetectSphereBox: 球体与立方体碰撞检测
CollDetectSphereCapsule: 球体与胶囊体碰撞检测
CollDetectSpherePlane: 球体与平面碰撞检测
CollDetectSphereSphere: 球体与球体碰撞检测
CollisionInfo: 碰撞结果信息
CollisionSystem: 碰撞管理类
CollPointInfo: 碰撞点信息
jiglib.geometry:
JAABox: 边界盒
JBox: 刚体-立方体
JCapsule: 刚体-胶囊体
JPlane: 刚体-平面
JRay: 射线
JSegment: 线段
JSphere: 刚体-球体
jiglib.math:
JMatrix3D: 4*3矩阵
JNumber3D: 3D数学类
jiglib.physics:
BodyPair: 刚体对
CachedImpulse: 缓存类
HingeJoint: 铰链关节
MaterialProperties: 材质属性
PhysicsController: 物理控制器(关节基类)
PhysicsState: 物理状态
PhysicsSystem: 物体引擎主类
RigidBody: 所有刚体基类
发表评论
-
AWAY3D 贴图DEMO
2011-05-14 23:16 0AWAY3D 贴图DEMO -
[转] AS3 制作3D位图方法
2011-05-04 00:34 1506http://bbs.9ria.com/viewthread. ... -
[转] MoleHill操作AGAL的Helper类之一
2011-04-29 01:46 1109本帖最后由 sleep2death 于 2011-4-20 1 ... -
和场景里的物体交互要用InteractiveScene3D,examples里有个InteractiveBoxDemo的例子有很好的参考价值
2011-04-28 21:53 0和场景里的物体交互要用InteractiveScene3D,e ... -
[转] 使用Flare3D制作一款 a small game 的3d游戏!
2011-04-25 01:39 2101http://bbs.9ria.com/viewthread. ... -
[转] [Flash/Flex] 支持 Molehill版本的Flare3D 应用示范
2011-04-16 02:30 1266http://bbs.9ria.com/thread-7953 ... -
[转]自制flash3D变换类
2011-04-15 16:09 1023http://hi.baidu.com/boycy/blog/ ... -
[转] [Flash/Flex] native3d flash 3d引擎发布molehill版
2011-04-13 22:46 1110http://bbs.9ria.com/viewth ... -
[转] [Flash/Flex] 轻量级flash3d引擎native3d rev19使用教程
2011-04-10 06:00 1118资讯类型: 原创 来 ... -
[转] 缠绕规则在drawpath中的应用
2011-04-10 05:40 1425使用as3的绘图API绘制填充区域时,经常会涉及到相交区域的颜 ... -
[转]2011RIA天地行主题之3D Flash3D引擎简介
2011-03-31 22:34 1830http://bbs.9ria.com/viewthread. ... -
[转]Flash Player 10' s new 3D effects(三)
2011-03-23 17:34 1617http://sjkgxf7191.iteye.com/blo ... -
[转]Flash Player 10' s new 3D effects(二)
2011-03-23 15:50 1548http://sjkgxf7191.iteye.com/blo ... -
[转]Flash Player 10' s new 3D effects(一)
2011-03-23 14:55 1373http://sjkgxf7191.iteye.com/ ... -
[转]使用Flare3D在FB中搭建第一个Molehill项目
2011-03-22 20:52 1975http://www.adobe.com/cn/devnet/ ... -
[转]M2D的介绍——针对Flash ‘Molehill’ API的GPU加速2D框架
2011-03-22 14:37 1785http://bbs.9ria.com/viewth ... -
[转]使用Away3D引擎的Flash3D推箱子游戏原型 - 最终版本
2011-03-18 22:06 1393http://bbs.9ria.com/viewthread. ... -
3D塔防
2011-03-18 18:29 03D塔防3D塔防 -
[转]Flash ‘Molehill’ API上的GPU加速2D框架-M2D
2011-03-11 02:13 0http://bbs.9ria.com/thread-75 ... -
[转]使用CS4的新增类实现全景图效果
2011-03-08 15:32 1778http://uh.9ria.com/space-12147- ...
相关推荐
ANSYS中空隙材料、多孔介质与随机骨料模型的CAD建模插件及应用研究,ansys空隙材料、孔隙材料、多孔介质模型,随机骨料。 CAD建模插件,可导入ansys workbench ,ansys空隙材料; 孔隙材料; 多孔介质模型; 随机骨料; CAD建模插件; 导入ansys workbench,"ANSYS空隙材料多孔介质模型及随机骨料CAD建模插件"
1、文件内容:perl-Image-Info-1.33-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Image-Info-1.33-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
mysql55-mysql-bench-5.5.37-5.el6.centos.alt.x86_64.rpm
1、文件内容:perl-Module-Implementation-0.06-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Module-Implementation-0.06-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
Video_587150722718831.mp4
1、文件内容:pcs-snmp-0.9.169-3.el7.centos.3.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pcs-snmp-0.9.169-3.el7.centos.3.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
"GL8碰撞仿真CAE有限元模型文件:141份文档,总大小281M",GL8碰撞cae有限元模型 141 wenjian大小281m ,GL8碰撞; cae有限元模型; 大小281m; 141 wenjian,GL8碰撞CAE有限元模型:大型高精度281M文件
MATLAB高级仿真:储能系统在调峰调频中的联合优化模型——深度探索充放电策略与运行协同优势,MATLAB代码:储能参与调峰调频联合优化模型 关键词:储能 调频 调峰 充放电优化 联合运行 参考文档:《Using Battery Storage for Peak Shaving and Frequency Regulation: Joint Optimization for Superlinear Gains》完全复现 仿真平台:MATLAB+CVX 平台 优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品 主要内容:代码主要做的是考虑储能同时参与调峰以及调频的联合调度模型,现有代码往往仅关注储能在调峰方面的能力,而实际上同时参与调峰调频将超线性的提高储能的收益,在建模方面,构建了考虑电池 化成本、充放电功率约束以及用户负荷不确定性的储能优化模型,整体复现结果和文档一致,该代码具有一定的创新性,适合新手学习以及在此基础上进行拓展,代码质量非常高,保姆级的注释以及人性化的模块子程序 ,关键词:储能; 调峰调频; 联合优化模型; 充放电优化; 电池退化成本; 用户负荷
1、文件内容:perl-IO-Compress-2.061-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-IO-Compress-2.061-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:perl-IO-Socket-INET6-2.69-5.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-IO-Socket-INET6-2.69-5.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
电脑调音软件下载是专为汽车音响爱好者和专业人士设计的一款强大工具, 这款软件的主要功能在于帮助用户对车载音频系统进行精确的数字信号处理,以提升音乐播放效果,提供更丰富的听觉体验。
1、文件内容:perl-File-Fetch-0.42-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-File-Fetch-0.42-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
智慧园区管理系统-活动资源
基于电动汽车灵活性的微网多尺度协调调度模型研究与应用,计及电动汽车灵活性的微网多时间尺度协调调度模型 摘要:构建了含有电动汽车参与的微网 电厂多时间尺度协调优化模型,其中包括日前-日内-实时三阶段,日前阶段由于风光出力具有不确定性,结合风光预测值作初步经济调度;日内阶段,风光出力观测的更加准确,通过调节储能、需求响应等单元对调度方案作进一步调整,避免遭受高额的不平衡惩罚;实时阶段,风光出力的预测结果更准确,为了进一步降低微网与上级电网并网功率的波动性,充分利用电动汽车的灵活性,调度电动汽车的充放电以减少功率波动,兼顾调度的安全性与经济性。 本代码为代码,实现效果见下图 ,电动汽车灵活性; 微网多时间尺度; 协调调度模型; 风光出力; 储能调节; 需求响应; 功率波动性,《微网中电动汽车灵活性的多时间尺度协调调度模型》
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
转正汇报(3).pdf
星落最强稳定版pak(1).zip
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。