Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement flow map smoothing #28

Merged
merged 27 commits into from
Sep 22, 2023
Merged

Implement flow map smoothing #28

merged 27 commits into from
Sep 22, 2023

Conversation

Willem3141
Copy link
Member

@Willem3141 Willem3141 commented Aug 23, 2023

Implements the optimization procedure for flow maps. See #16. This implements all cost functions except for the obstacle cost. It also doesn't yet pick ε dynamically.

Also includes a corresponding demo application.

@Willem3141 Willem3141 mentioned this pull request Aug 24, 2023
51 tasks
The last subdivision node in an edge would have its child node set
incorrectly.
I misunderstood the paper first and implemented it based on the
straight-edge angles, but rather it's supposed to work based on the
spiral angle parameters.

This works quite well but some unstabilities occur.
I redid the derivative computations and changed the derivative functions
in Spiral correspondingly.

Also fix the smoothing cost gradient to also apply to the parent and
child, which was missing before.
Also, document the formulas used for the smoothing cost.
The problem was that the α function was inverted (due to confusion over
which of the two input points is the one further from the origin).

Also renamed "force" to "gradient" to reduce sign confusion.
@Willem3141 Willem3141 marked this pull request as ready for review September 22, 2023 14:25
cartocrow/flow_map/smooth_tree.h Outdated Show resolved Hide resolved
cartocrow/flow_map/smooth_tree.h Outdated Show resolved Hide resolved
cartocrow/flow_map/smooth_tree_painting.cpp Outdated Show resolved Hide resolved
cartocrow/renderer/geometry_widget.cpp Outdated Show resolved Hide resolved
demos/flow_map/optimization_demo/optimization_demo.cpp Outdated Show resolved Hide resolved
demos/flow_map/optimization_demo/optimization_demo.cpp Outdated Show resolved Hide resolved
@Willem3141 Willem3141 merged commit 1f981db into master Sep 22, 2023
2 checks passed
@Willem3141 Willem3141 deleted the flowmap-optimization branch September 22, 2023 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant