据本人所知,扔纸团游戏中的纸团运动轨迹 是采用三维数据计算二维数据显示的方法实现的,请问那位大牛知道其中的三维坐标转化二维屏幕坐标的算法是怎么样吗

解决方案 »

  1.   

    用opengl就可以直接实现了吧,不需要再转换。
      

  2.   

     public static void project3DPointToScreen(Point3D paramPoint3D, Point paramPoint)
      {
        int i = paramPoint3D.x;
        int j = paramPoint3D.y;
        int k = paramPoint3D.z;
        float f1 = 1138032640 / 1073741824;
        float f2 = (1138032640 - f1) / 1073741824;
        float f3 = screenWidthDip / 1073741824;
        float f4 = viewingDistance * i / k;
        float f5 = f3 + f4;
        float f6 = 1073741824 * f2;
        float f7 = j - f6;
        int m = viewingDistance;
        float f8 = f7 * m / k;
        float f9 = f1 + f8;
        int n = dipToArdp_X(f5);
        paramPoint.x = n;
        int i1 = dipToArdp_Y(f9);
        paramPoint.y = i1;
      }
    本人反编译的扔纸团的坐标转换方法,但是有些数据被混淆了,就不明白该算法含义了