Я хочу нарисовать линию на холсте. Поэтому я использую два клика от пользователя для определения начальной точки S
и конечной точки E
.Как урезать линию между двумя точками?
ctx.moveTo(sx, sy);
ctx.lineTo(ex, ey);
Я также хочу, чтобы вычитать статическое смещение по обе стороны от линии, например static int offset = 10;
Моя проблема: как я могу знать о направлении (север, восток, юг, запад), к которому я должен добавить или вычесть смещение?
Если линия идет сверху вниз, мне нужно будет применить (0, +10)
в начальной точке S и (0, -10)
в конечной точке. Получение mor сложнее, когда линия проходит по диагонали через координатное пространство.
Возможно, это может быть «простая» математическая проблема, но мне не хватает правильных ключевых слов, чтобы найти какие-либо решения.
посмотреть Math.tan() – Breavyn