Реализовать загибание страницы на Android?

Я бороздил сеть в поисках приятного эффекта для перелистывания страниц на Android, и мне просто не показалось, что Будь один. Так как я изучаю платформу, мне показалось, что это неплохо.

Мне удалось найти здесь страницу: http://wdnuon.blogspot.com/2010/05/implementing -ibooks-page-curling-using.html

- (void)deform
{
  Vertex2f  vi;   // Current input vertex
  Vertex3f  v1;   // First stage of the deformation
  Vertex3f *vo;   // Pointer to the finished vertex
CGFloat R, r, beta;
  for (ushort ii = 0; ii < numVertices_; ii++)
  {
    // Get the current input vertex.
    vi    = inputMesh_[ii];                       
    // Radius of the circle circumscribed by vertex (vi.x, vi.y) around A on the x-y plane
    R     = sqrt(vi.x * vi.x + pow(vi.y - A, 2)); 
    // Now get the radius of the cone cross section intersected by our vertex in 3D space.
    r     = R * sin(theta);                       
    // Angle subtended by arc |ST| on the cone cross section.
    beta  = asin(vi.x / R) / sin(theta);       

// *** MAGIC!!! ***
v1.x  = r * sin(beta);
v1.y  = R + A - r * (1 - cos(beta)) * sin(theta); 
v1.z  = r * (1 - cos(beta)) * cos(theta);
// Apply a basic rotation transform around the y axis to rotate the curled page.


 // These two steps could be combined through simple substitution, but are left
    // separate to keep the math simple for debugging and illustrative purposes.
    vo    = &outputMesh_[ii];
    vo->x = (v1.x * cos(rho) - v1.z * sin(rho));
    vo->y =  v1.y;
    vo->z = (v1.x * sin(rho) + v1.z * cos(rho));
  }  
}

, в котором приведен пример (выше) кода для iPhone, но я понятия не имею, как я буду реализовывать это на Android. Не мог бы кто-нибудь из богов математики помочь мне, пожалуйста, с тем, как я буду реализовывать это в Android Java.

Возможно ли использование собственных API-интерфейсов рисования, должен ли я использовать openGL? Могу я как-нибудь имитировать это поведение?

Любая помощь будет признательна. Спасибо.

**************** РЕДАКТИРОВАТЬ ***************************** ****************

Я нашел пример Bitmap Mesh в демонстрациях Android API: http://developer.android.com/resources/samples/ApiDemos/ src / com / example / android / apis / graphics / BitmapMesh.html

Может быть, кто-нибудь может помочь мне с уравнением, чтобы просто диагностически сложить верхний правый угол внутрь по всей странице, чтобы создать аналогичный эффект, который я позже могу применить тени чтобы сделать его глубже?

40
задан Neal L 17 February 2011 в 19:49
поделиться