Esta medio confuso pero creo que entendi lo que quieres te dejo el codigo a qui espero te sirva.
public void paint(Graphics g){
super.paint(g);
int i;
double x2,y2;
super.paint(g);
puntosx[0]=100+radio;
puntosy[0]=100+radio;
double angrad;
int angant, angcent;
angcent=360/lados;
angant=0;
for (i=1; i<=lados; i++){
g.drawArc(100,100,2*radio,2*radio,angant,angcent);
angrad= (Math.PI * angcent)/180;
x2=(radio+100)-(radio* Math.cos((2*angcent*Math.PI)/360));
y2=(radio+100)-(radio* Math.sin((2*angcent*Math.PI)/360));
g.fillOval(x2, y2,5,5);
angant=angant+angcent;
angcent=angcent+angcent;
if(i==1){
puntosx[1]=x2;
puntosy[1]=y2;
}
if(i>1){
puntosx[2]=x2;
puntosy[2]=y2;
final double L=Math.sqrt( (Math.pow( (puntosx[2]-puntosx[1]), 2.00)+ Math.pow((puntosy[2]-puntosy[1]), 2.00)) );
ap=(1/2)* Math.sqrt((4*Math.pow(radio,2))- Math.pow(L,2));
peri=lados * L;
area=(1/2)* peri * ap;
puntosx[1]=puntosx[2];
puntosy[1]=puntosy[2];
}//Fin del else if
}//Fin del For
}//FIN DEL METODO PAINT