收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2573|回复: 6

[AS3] 3D普遍的问题:球体旋转的计算

[复制链接]
发表于 2010-2-24 23:33:03 | 显示全部楼层 |阅读模式
[3D理论] 普遍的问题:球体旋转的问题


我要做的效果其实是:

在球体上点一下,然后让被点的地方运动到面对摄像机(正前方),实在是不会矩阵。3的3d

[[i] 本帖最后由 4belief 于 2010-2-25 11:22 编辑 ]
 楼主| 发表于 2010-2-25 01:01:33 | 显示全部楼层

奇迹啊 一顿乱搞 居然快成功了。。。只有Z的旋转不对了。

http://www.ourbrander.com/demo/360/main.swf

哪位仁兄助我一臂之力呀
  1. private function caculateMatrix3D() {
  2.                         var  velocity:Number3D = new Number3D(_seletedItem.sceneX, _seletedItem.sceneY, _seletedItem.sceneZ)
  3.                         velocity.normalize();
  4.                        
  5.                         var Forword:Number3D = new Number3D(0, 0, 1);
  6.                        
  7.                         var distance:Number = Math.sqrt(velocity.x * velocity.x + velocity.y * velocity.y);


  8.                         var rotationAxis:Number3D = Number3D.cross(velocity, Forword);
  9.                         rotationAxis.normalize();

  10.                         //create a matrix from the axis and the angle
  11.                         var rotationMatrix:Matrix3D = Matrix3D.rotationMatrix(rotationAxis.x, rotationAxis.y, rotationAxis.z, distance/30);

  12.                         //apply the rotation to the ball
  13.                         this.transform.calculateMultiply3x3(rotationMatrix, this.transform);

  14.                 }

  15. private function rendering(e:RendererEvent) {
  16.                          if (_seletedItem!=null) {
  17.                                  caculateMatrix3D();
  18.                          }
  19.                 }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-25 18:57:22 | 显示全部楼层

版主啊 大神们啊

源文件 我放这里了:http://www.ourbrander.com/demo/360/flash.rar
谁能帮我看看?
回复 支持 反对

使用道具 举报

发表于 2010-2-25 19:23:55 | 显示全部楼层
也不懂矩阵。这个不用矩阵也能整出来。

1 p1和p2在球的一个切圆上。p1 o p2 是转动的夹角(或360-夹角)  //如果允许通过调整相机位置来改变球的旋转,可以直接转动相机后转这个角

2 p1 o p2 所在平面与 xy yz xz 3个面的夹角。不管转不转相机,都要计算这3个夹角。  //按这3个夹角很容易把相机或整个球转动后,让p1,p2和一个轴重合。然后如1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-3 13:57:44 | 显示全部楼层

楼上的肯定没自己试过

试过就知道万向锁是啥了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-3 13:58:49 | 显示全部楼层

不过还是要谢谢你

毕竟做个看贴又回帖的人不容易,顶你了
回复 支持 反对

使用道具 举报

发表于 2010-3-5 15:35:10 | 显示全部楼层
恩,我听说过万向锁,但是没实际遇到过。
我这种普通的旋转方法,转N次后估计难转还原的。魔方游戏和拼图版游戏也有类似的算法问题,近期没工夫深入研究。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( ICP05002321 )  

GMT+8, 2019-7-23 12:03 , Processed in 0.124687 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表