Нарисуйте линию с двумя точками и поместите ее на геометрию - PullRequest
0 голосов
/ 04 июля 2018

У меня есть геометрия плоскости, и я хочу нарисовать линию между двумя точками

https://ibb.co/douynJ

но я хочу сделать так, чтобы он "лежал" на сетке вот так enter image description here

Как найти подходящие треугольники и рассчитать Y для точки линии?

1 Ответ

0 голосов
/ 04 июля 2018

Зависит от того, что вы хотите, чтобы линия делала. Если вы хотите нарисовать кратчайший путь между двумя точками, это очень сложная проблема - Google "Кратчайший путь на сетке".

Если вы хотите, чтобы 2D-линия проецировалась вертикально на сетку, это сделать гораздо проще. Это не то же самое, что кратчайший путь. Подумайте о высокой горе - кратчайший путь между двумя точками на ее основании, вероятно, идет вокруг горы, а не над ней.

Предполагая, что вы просто мутировали точки на геометрии вашей плоскости с вашими данными о высоте, вам нужно будет проследить линию между вашими двумя точками, выяснить, какие 2D треугольники она пересекает, и соответствующим образом разделить линию. Это довольно просто, но для правильной работы потребуется немало кода.

...