Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Координаты


Bobby Digital ©   (2004-12-13 04:00:00) 

У меня такая проблема ... мне нужно нарисовать в Paintbox многоугольник (4-25 точек), у этой него координаты меняются в границах 1 до 20 000, но иксы отличаются между собой не более чем на 100, игрики - точно так же, в частном случае координаты имеют вид
X=13322.5515  Y=17019.8642,
так вот как мне вывести это все на canvas если он работает только с целыми, думал разделить например на 1000, и округлить до целых ... но в итоге то получиться, что все значения будут X=133(134),Y=170(171) (см. пример точек выше); а это 1 - 2 точки на канве ... как поступить?


Bobby Digital   (2004-12-13 12:04:00) [1]

не это будет тоже не совсем то ... я придумал как ... я возму выберу самый большой X и самый большой У ... и буду отнимать от него все остальные Х и У соответственно ... т.е.
Х2 = 17700 - 17650=50,
значит Х2 будет равен 50  и как со всеми остальными, в и итоге все Х и У будут раздросаны по canvas не более чем на 100 что собственно и нужно  а самым большим Х и У присвою значения (0,0)

Fedia спасибо за то что ответил


Fedia   (2004-12-13 05:10:00) [2]

Раз у тебя точек максимум 25 и значения отличаются между собой не более чем на 100 то максимальный разброс точек составляет 2500 по Y и по X. Таким образом, если самую левую и верхнюю точку ты будешь рисовать, например, в координатах (10,10), а значения всех остальных точек ты будешь делить на 10 и округлять, то тебе понадобиться canvas с максимальными размерами 260*260 точек, что уже не много и округления будут незначительными. Если же разброс будет меньше, чем 2500 точек, то и делить можно будет на значение, меньшее 10-ти.
Надеюсь, что понятно описал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо