| 
| 
 | Вопрос # 435/ вопрос открыт / | 
 |  Здравствуйте! Много раз видел в векторных редакторах такую вещь: если накидать на канву много линий и выделить их все, то появиться область Rect, которую можно растягивать и сужать и т.п. Вопрос, что происходить с линиями, в момент когда тянещь за сторону выделенной области(Rect)?? 
|  |   Вопрос задал: SMaks (статус: 1-ый класс)Вопрос отправлен: 26 марта 2007, 01:55
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович Здравствуйте, SMaks!Просто определяются координаты прямоугольника, описанного вокруг выделенных объектов. Когда меняются размеры прямоугольника выделения оригинальные координаты точек домножаются на коэффициент изменения прямоугольника выделения (оригинальные / новые, по ширине и высоте). Аналогично и с поворотом.
 
|  | Ответ отправил: Матвеев Игорь Владимирович (статус: Студент)Время отправки: 26 марта 2007, 05:48
 Оценка за ответ: 4
 Комментарий к оценке: Допустим я получил этот прямоугольник, и взяв за левый край, уменьшаю его(с Rect0 до Rect1), то как должны измениться координаты точек внутри области? |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 28 марта 2007, 14:24; участников в обсуждении: 2. 
|   | Матвеев Игорь Владимирович (статус: Студент), 27 марта 2007, 06:35 [#1]:Не понимаю, почему это вызывает у Вас трудности. Посмотрите (файл удалён).
 |  
|   | SMaks (статус: 1-ый класс), 28 марта 2007, 14:24 [#2]:Матвеев Игорь Владимирович: Спасибо, разобрался. Оказывается надо было сначала перевести точку в координаты, относительно области: Point.X := Rect1.Left + round((Point.X-Rect0.Left) * ((Rect1.Right-Rect1.Left)/(Rect0.Right-Rect0.Left)));
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |