private void initVertex(float r) {
// TODO Auto-generated method stub
R=r;
ArrayList<Float>alVertix=new ArrayList<Float>();
for(float vAngle=90;vAngle>-90;vAngle-=angleSpan){
for(float hAngle=360;hAngle>0;hAngle-=angleSpan){
float x1=getCoor(0, vAngle, hAngle);
float y1=getCoor(1, vAngle, hAngle);
float z1=getCoor(2, vAngle, hAngle);
float x2=getCoor(0, vAngle-angleSpan, hAngle);
float y2=getCoor(1, vAngle-angleSpan, hAngle);
float z2=getCoor(2, vAngle-angleSpan, hAngle);
float x3=getCoor(0, vAngle-angleSpan, hAngle-angleSpan);
float y3=getCoor(1, vAngle-angleSpan, hAngle-angleSpan);
float z3=getCoor(2, vAngle-angleSpan, hAngle-angleSpan);
float x4=getCoor(0, vAngle, hAngle-angleSpan);
float y4=getCoor(1, vAngle, hAngle-angleSpan);
float z4=getCoor(2, vAngle, hAngle-angleSpan);
alVertix.add(x1);alVertix.add(y1);alVertix.add(z1);
alVertix.add(x2);alVertix.add(y2);alVertix.add(z2);
alVertix.add(x4);alVertix.add(y4);alVertix.add(z4);
//构建第二三角形
alVertix.add(x4);alVertix.add(y4);alVertix.add(z4);
alVertix.add(x2);alVertix.add(y2);alVertix.add(z2);
alVertix.add(x3);alVertix.add(y3);alVertix.add(z3);
}
}
vCount=alVertix.size()/3;
float vertices[]=new float[vCount*3];
for(int i=0;i<alVertix.size();i++){
vertices[i]=alVertix.get(i);
}
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4);
vbb.order(ByteOrder.nativeOrder());
mVertexBuffer = vbb.asFloatBuffer();
mVertexBuffer.put(vertices);
mVertexBuffer.position(0);
}