Nov 20
又做了个典型的练习,对PV的研究又进了一步。
Papervision3D
有个挺重要的代码片段
private function rollMe(vx:Number, vy:Number, vz:Number):void{
var pos:Number3D = new Number3D(_sphere.x, _sphere.y, _sphere.z);//球中心坐标
var dif:Number3D = new Number3D(-vx, -vy, -vz);//
var dist:Number = Math.sqrt(dif.x*dif.x+dif.z*dif.z);//计算并返回指定数字的平方根
var rotAxis:Number3D = Number3D.cross(dif, new Number3D(0, 1, 0));
rotAxis.normalize();
var rotation:Quaternion = Quaternion.createFromAxisAngle(rotAxis.x, rotAxis.y, rotAxis.z, dist/radius);
rotation.normalize();
_sphere.transform.calculateMultiply3x3(rotation.matrix, _sphere.transform);
}
2008-11-23 21:55:11 回复该留言
哈哈,这个好玩,想起了,上学时,玩的那个甩小孩的东东,还有那个婴儿的笑声
2008-11-24 12:47:37 回复该留言
研究中~~
2009-4-11 17:13:56 回复该留言
transform 四元数
运动好像都要靠他们来取得坐标
2009-12-1 17:24:49 回复该留言
想请教一下,如何实现让这个球在一个平面上的滚动,其实就是鼠标从二维屏幕坐标系转换到pv3D的三维坐标系上。virtualMouse是如何使用的?如果能把源码发过来,万分感谢
2009-12-2 0:29:22 回复该留言
这里有2D 3D 坐标转换的方法
http://www.imemment.com/post/73.html