p = new Point3(radius * cost1, radius * sint1, lowerMainTop);
q = new Point3(0.0, 0.0, lowerMainTop - pavilionPointDepth);
basis = Basis3.fromUW(p.vectorTo(q), Vector3.NEGATIVE_K);
Plane3 planeMain = Plane3.throughPoint(p, basis);
b.slice(planeMain, true);
q = new Point3(radius * cost0, radius * sint0, lowerMainTop);
r = new Point3(lowerGirdleInner * cost0, lowerGirdleInner * sint0, 0.0);
ray = new Ray3(r, Vector3.NEGATIVE_K);
r = ray.pointAt(planeMain.intersect(ray));