本示例是通过sharder实现的平面小行星效果。带触摸控制旋转,其中触摸控制旋转使用旋转矩阵的方式计算。
小行星的sharder是从国外某论坛找到的,没有深入研究实现方式。
附旋转矩阵计算公式:
double alaph_x = x * PI / 180;
double theta_y = y * PI / 180;
double phi_z = z * PI / 180;
double Sx = sin(alaph_x);
double Sy = sin(theta_y);
double Sz = sin(phi_z);
double Cx = cos(alaph_x);
double Cy = cos(theta_y);
double Cz = cos(phi_z);
double Mat[9];
Mat[0]=Cy * Cz;
Mat[1]=Cy * Sz;
Mat[2]=-Sy;
Mat[3]=Sx*Sy*Cz - Cx*Sz;
Mat[4]= Sx*Sy*Sz + Cx*Cz;
Mat[5]=Sx*Cy;
Mat[6]=Cx*Sy*Cz + Sx*Sz;
Mat[7]=Cx*Sy*Sz - Sx*Cz;
Mat[8]=Cy*Cx;
运行环境 android stdio 2.2