http://www.cnblogs.com/jk1001/archive/2010/08/05/1793216.html 手工编译android
http://www.moandroid.com/?p=712 OpenGL创建流程
http://blog.163.com/my_appy@126/blog/static/118323971200953061819702/ 贝塞尔曲线
http://hi.baidu.com/lsjsuper/blog/item/4ca2c2773584ef08b051b9bd.html
void lookAt(float eyex, float eyey, float eyez,float orgx, float orgy, float orgz,float upx, float upy, float upz){//Calculate eye direction vectorfloat vpnx = orgx - eyex;float vpny = orgy - eyey;float vpnz = orgz - eyez;//Normalize itfloat len = sqrt(vpnx * vpnx + vpny * vpny + vpnz * vpnz);vpnx /= len;vpny /= len;vpnz /= len;//Calculate right vectorfloat rvx = vpny * upz - vpnz * upy;float rvy = vpnz * upx - vpnx * upz;float rvz = vpnx * upy - vpny * upx;//Calculate new up vectorfloat nux = rvy * vpnz - rvz * vpny;float nuy = rvz * vpnx - rvx * vpnz;float nuz = rvx * vpny - rvy * vpnx;//Put it all in a pretty Matrixfloat mat[16] = {rvx, nux, -vpnx, 0,rvy, nuy, -vpny, 0,rvz, nuz, -vpnz, 0,0, 0, 0, 1};//Apply the matrix and translate to eyepointglMultMatrixf(mat);glTranslatef(-eyex, -eyey, -eyez);}void display (void) { glClear