Geometry 将行拆分为多行

Geometry 将行拆分为多行,geometry,line,Geometry,Line,我有一条单行线。对于这条线,我有起点和终点。现在我想把这条线分成多条线或多个点。怎么做 这条线如下所示 有什么想法吗?Python解决方案: def split(start, end, segments): x_delta = (end[0] - start[0]) / float(segments) y_delta = (end[1] - start[1]) / float(segments) points = [] for i in range(1, seg

我有一条单行线。对于这条线,我有起点和终点。现在我想把这条线分成多条线或多个点。怎么做

这条线如下所示

有什么想法吗?

Python解决方案:

def split(start, end, segments):
    x_delta = (end[0] - start[0]) / float(segments)
    y_delta = (end[1] - start[1]) / float(segments)
    points = []
    for i in range(1, segments):
        points.append([start[0] + i * x_delta, start[1] + i * y_delta])
    return [start] + points + [end]

print split([-10, 20], [20, 75], 5)
输出:

[[-10, 20], [-4.0, 31.0], [2.0, 42.0], [8.0, 53.0], [14.0, 64.0], [20, 75]]

我不明白这怎么会是一个编程问题。你能提供一些你在这里使用的技术的细节吗?Prolly procedurale art。你能用java发布这个答案吗?我使用的是java代码,我对java很生疏,现在还没有把我的机器设置成java代码。你知道如何用Java编程吗?Python是一种高级、易读的语言。花几分钟时间尝试理解这段代码,然后尝试将其翻译成Java。提示:取两点的x值之差,然后将该值除以所需的线段数。这个商就是你的“x_δ”。要获得每个中间点的x值,请将“x_delta”添加到上一个点。对y.Thanx做同样的解释。这是普遍的解决办法吗?这意味着它可以在任何起点和点工作?是的,它会。只需确保在计算三角洲时,执行“结束点-开始点”,否则中间点将朝相反方向移动。根据您的应用程序,您可能需要处理“段”小于2的情况。如果它是1,那么你就不是在分线。如果它是0,那么,有一条线段为0的直线是没有意义的。