Kev*_*v C 2 java processing geometry
我试图将一条线分成多个部分.因为我在下面创建了一个函数来尝试获得两点之间的子点.它不是很有效,但几乎就在那里.理想情况下,我想使用这样的东西:
subPoint(point1, point2, 5, 10); // this would return the half way point
subPoint(point1, point2, 1, 10); // this would return a point 1 tenth towrds point2
Run Code Online (Sandbox Code Playgroud)
以下是粗略的代码 - 非常欢迎任何提示或指示.
Vector subPoint(Vector startPoint, Vector endPoint, int segment, int totalSegments) {
int division = (int)(totalSegments / segment);
PVector divPoint = new PVector();
int midX=(int)(startPoint.x+((endPoint.x-startPoint.x)/division));
int midY=(int)(startPoint.y+((endPoint.y-startPoint.y)/division));
divPoint.set(midX, midY, 0);
return(divPoint);
}
Run Code Online (Sandbox Code Playgroud)
尝试使用以下内容替换计算:
int midX = (startPoint.x + (int) ((double) (endPoint.x - startPoint.x) / (double) totalSegments) * segment);
int midY = (startPoint.y + (int) ((double) (endPoint.y - startPoint.y) / (double) totalSegments) * segment);
Run Code Online (Sandbox Code Playgroud)
我将值转换为双精度值,以使计算更加准确.您可能需要考虑将值保持为双精度,这样可以在线段上提供更好的准确性.