public Polygon singleLineNoCapBuffer(LineSegment sl, double distance) {
if (distance <= 0) {
throw new IllegalArgumentException(
"very little distance in singleLineNoCapBuffer");
}
Line l = sl.toLine();
double a = Math.atan(l.getVerticalK());// 角度
double dx = distance * Math.cos(a);
double dy = distance * Math.sin(a);
CPoint p1 = new Coordinate2D(sl.getStartPoint().getX() - dx, sl.getStartPoint()
.getY()