Выкалывание соединенных линий - PullRequest
0 голосов
/ 21 мая 2010

У меня есть какая-то форма, состоящая из вертикальных, горизонтальных и диагональных линий. У меня есть начало X, Y и окончание X, Y (это мой ввод - только 2 точки, определяющие линию) каждой линии, и я хотел бы сделать всю форму масштабируемой (просто изменяя значение переменной масштабного коэффициента) так что я все еще могу сохранить правильное соединение линий и пропорций. Просто для лучшего понимания того, что я имею в виду: как будто бы у меня были такие же строки в векторном редакторе.

Возможно ли это с помощью алгоритма, и не могли бы вы дать мне другое возможное решение, если такого алгоритма не существует?

Большое спасибо заранее!

1 Ответ

3 голосов
/ 21 мая 2010

Какую точку вы хотите масштабировать? Вы можете масштабировать относительно первой точки, центра или другого произвольного местоположения. Как правило, вы вычитаете смещение (например, первую точку ввода), умножаете на коэффициент масштабирования и затем добавляете обратно смещение.

Более систематический подход в компьютерной графике заключается в использовании матрицы преобразования ... хотя это, вероятно, излишне в вашем случае.

...