【问题标题】:How do I calculate a point on a segmented line given a list of Vector3 and a distance?给定 Vector3 列表和距离,如何计算分段线上的点?
【发布时间】:2016-01-11 22:40:26
【问题描述】:

我正在寻找给定向量列表和距起点的距离的世界 spaaaaaace 中的一个点。我做了一些搜索,似乎无法找到这个问题的答案。我该怎么做?

编辑

A gist of my implementation can be found on github.

【问题讨论】:

    标签: c# algorithm math unity3d


    【解决方案1】:

    给定向量 V[0]、V[1]、...、V[N-1] 的列表,您应该首先计算沿分段线的距离。 D[0] = 0 和 D[i] = D[i-1] + dist(V[i-1],V[i]) 对于 i = 1, 2, ..., N-1。

    现在,当您想要计算沿分段线距离 t 处的点时,您首先进行二分搜索以找到满足 D[i-1]

    【讨论】:

    • 我不能说这确实有效,因为我将不得不稍微改变我的实现以适应这一点,但无论如何你都会得到滴答声。
    • 这确实有效。我遇到了一些麻烦,但我不小心翻转了一个布尔语句。
    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2023-03-08
    相关资源
    最近更新 更多