Skip to content

diagonal weighting in OLTW Dixon #33

@sildater

Description

@sildater

new_acc[i - 1, update_y0 + j - 1] * 0.98,

new_acc[update_x0 + i - 1, j - 1] * 0.98,

These lines in OLTW Dixon have a factor of 0.98 multiplied onto the previous path when moving in diagonal direction. Weighting directions can be very useful for OLTW and I do it too in parangonar, but there might be an issue here because the weights get multiplied onto the previous path instead of the incoming local distance, which means the factor is recursively applied and if the accumulated cost reaches 50 times a typical local distance, the diagonal will be chosen more often than justified. Here's a visualization of what happens, the input and reference are the same, one is just stretched threefold and the lowest distance is one. The tracker follows correctly for a while and once its accumulated cost reaches the threshold defined by the 0.98 factor, it goes diagonally. Let me know if you want the code to reproduce this.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions