gpt4 book ai didi

java - 如何将一条线分成多条线段?

转载 作者:行者123 更新时间:2023-12-02 09:43:43 25 4
gpt4 key购买 nike

我正在尝试将一条线分成多个段。因此,我在下面创建了一个函数来尝试获取两点之间的子点。虽然还不太有效,但也差不多了。理想情况下,我想像这样使用它:

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

这是下面的粗略代码 - 非常欢迎任何提示或指示。

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);
}

最佳答案

尝试用以下内容替换您的计算:

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);

我将这些值转换为 double 以使计算更加准确。您可能需要考虑将值保留为双倍,因为这将使您在线段上获得更好的准确性。

关于java - 如何将一条线分成多条线段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5186627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com