protected void drawSphere2D(int cnum, Vector cent, Vector[] pc) {
for(int dim1 = 0; dim1 < pc.length - 1; dim1++) {
for(int dim2 = dim1 + 1; dim2 < pc.length; dim2++) {
for(int i = 1; i <= times; i++) {
SVGPath path = new SVGPath();
Vector direction1 = pc[dim1].times(KAPPA * i);
Vector direction2 = pc[dim2].times(KAPPA * i);
Vector p1 = cent.plusTimes(pc[dim1], i);
Vector p2 = cent.plusTimes(pc[dim2], i);
Vector p3 = cent.minusTimes(pc[dim1], i);
Vector p4 = cent.minusTimes(pc[dim2], i);
path.moveTo(p1);
path.cubicTo(p1.plus(direction2), p2.plus(direction1), p2);
path.cubicTo(p2.minus(direction1), p3.plus(direction2), p3);
path.cubicTo(p3.minus(direction2), p4.minus(direction1), p4);
path.cubicTo(p4.plus(direction1), p1.minus(direction2), p1);
path.close();
Element ellipse = path.makeElement(svgp);
SVGUtil.addCSSClass(ellipse, EMBORDER + cnum);
if(opacStyle == 1) {
CSSClass cls = new CSSClass(null, "temp");
double s = (i >= 1 && i <= sigma.length) ? sigma[i - 1] : 0.0;
cls.setStatement(SVGConstants.CSS_FILL_OPACITY_PROPERTY, s);