重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
只是第二点和第三点的坐标而已,肯定有算法。具体看你要实现什么业务。
连城网站建设公司成都创新互联,连城网站设计制作,有大型网站制作公司丰富经验。已为连城上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的连城做网站的公司定做!
可以使用Graphics2D类中的方法QuadCurve2D(二次贝塞尔样条曲线,贝塞尔曲线由两个端点以及一个或两个控制点指定。贝塞尔曲线创建了适合于大多数表示的曲线。)
CubicCurve2D(三次贝塞尔样条曲线)
GeneralPath(由直线、二次样条曲线、三次样条曲线所构成)
public void test() {
CvPoint controlPoint[] = new CvPoint[4];
controlPoint[0] = new CvPoint(50, 60); //起点
controlPoint[1] = new CvPoint(130, 200); //控制点
controlPoint[2] = new CvPoint(300, 360); //控制点
controlPoint[3] = new CvPoint(400, 600); //终点
int n = controlPoint.length - 1; //
int i, r;
float u;
bezierPoint.clear();
// u的步长决定了曲线点的精度
for (u = 0; u = 1; u += 0.01) {
CvPoint p[] = new CvPoint[n + 1];
for (i = 0; i = n; i++) {
p[i] = new CvPoint(controlPoint[i].x, controlPoint[i].y);
}
for (r = 1; r = n; r++) {
for (i = 0; i = n - r; i++) {
p[i].x = (1 - u) * p[i].x + u * p[i + 1].x;
p[i].y = (1 - u) * p[i].y + u * p[i + 1].y;
}
}
bezierPoint.add(p[0]);
}
for (CvPoint point : bezierPoint) {
System.out.println(point.x + "," + point.y);
}
}