Вниз
Скачать: CL | DM;

РАДАР   Найти похожие ветки 

← →
ASMSoft   (2006-01-13 15:11) [0]

Блин, в мат. слабо, подскажите формулу .....
нужно рисовать линию на канве по соб. таймера
начало в X,Y окончание в.... по кругу
тоесть как на радаре, КОНЕЦ линии смещать
на пиксел по кругу. И если алгоритм с
понижением цвета для линии (как на радаре кораблевом)
нарисуете буду очень благодарен!!!!!
Вообщем нужно нарисовать расходящие круги и эта линия
крутится, круги я нарисовал а вот линию......????????


← →
Johnmen ©   (2006-01-13 15:52) [1]

О-о-о!!!
Часики! Олегович не так давно спрашивал!
:)))
Щас ссылку поищу...


← →
Johnmen ©   (2006-01-13 15:54) [2]

Вот
http://sql.ru/forum/actualthread.aspx?tid=248975
:)


← →
Rouse_ ©   (2006-01-13 16:15) [3]

^)))))))))))))


← →
Cash ©   (2006-01-13 16:44) [4]

Ага...., то есть надо нарисовать линию под любым углом
относительно некоторого центра.... хм-м-м-м... тревиальная задача!

У тебя есть X и Y точки центра.
И у тебя есть X и Y точки, которую смещать надо.
И между этими точками потом будет линия, так?
А еще у тебя есть Rotation, угол вращения точки. (если нет, заведи)
Можно узнать смещение dX и dY от точки до центра.
(это я не покажу, потаму как это просто)
Далее, собственно эта задача:

 pX := (dx*cos(DegToRad(Rotation)))+(dy*sin(DegToRad(Rotation)));
 pY := (dx*sin(DegToRad(Rotation)))-(dy*cos(DegToRad(Rotation)));

pX и pY - это новые координаты точки, которую надо смещать.

Для затухания цвета нужно цвет разложить на RGB, сделай это с
помощью записи с вариантами:

TRGBColor = packed record
 case boolean of
   false: (Color: TColor);
   true: (Red,Green,Blue,Contr: byte);
end;

Contr всегда держи в 0, в Color запиши цвет самой яркой линии.
А при отрисовке более старых линий (3 или 4 линии) убавляй составляющие
Red, Green и Blue в процент количеству линий, и обновляй цвет.

Попробуй догадаться, как сделать так, чтоб более старые линии не
перекрывали более новые.

Еще подумай, как без постоянной перерисовки всей области убирать
следы самых старых линий.


← →
ASMSoft   (2006-01-13 17:12) [5]

Cash=> Спасибо!!!!!


← →
antonn ©   (2006-01-13 18:23) [6]

и чей то вас на радары потянуло?..
уже 3 лабораторки с радарами сделал.
Вот, пара штук:
http://an-files.narod.ru/new1.rar
http://an-files.narod.ru/newAngle.rar

рекомендую первый, его скрин:
http://an-files.narod.ru/asfasefsaf.GIF
С затуханием, все как надо:))


← →
maep   (2006-01-13 20:21) [7]

Хе хе... Мы в свое время рульный радар забабазали....
Правда на С++ и ДиректДро:))

Алгоритмы там следующие нужны. Схема такая:
Цикл (У : 1..360 градусов)
{
Рисуем линию из центра под углом У
Меняем цвет  ВСЕГО поля радара, затемняя его на N (это будет скорость затухания).
}

Затухание можно делать не каждый раз, а раз в  несколько итераций. Производительность, знаете ли..

При этом, что характерно ( в отличие от картинки от antonn ©   ) затухать будет нетолько изображение стрелки, но и все изображенияна поле, ведь именно так работает это штуковина:))


← →
antonn ©   (2006-01-13 20:44) [8]

maep   (13.01.06 20:21) [7]
При этом, что характерно ( в отличие от картинки от antonn ©   ) затухать будет нетолько изображение стрелки, но и все изображенияна поле, ведь именно так работает это штуковина:))

если элементы не обновлять, то и они затухнут. Ну как на втором радаре, там вектор на цель затухает.


← →
maep   (2006-01-14 06:49) [9]

antonn © понял;) Просто по картинке (я только артинку смотрел)  можно было сделать вывод, который сделал я.


← →
з. танька   (2006-01-14 11:01) [10]


> antonn ©   (13.01.06 18:23) [6]

дельфины это не рыбы это животные! они тебе этого не простят..


← →
antonn ©   (2006-01-14 11:18) [11]

з. танька   (14.01.06 11:01) [10]
я знаю, что животные, но ничего другого не пришло в голову:)


← →
Fenik ©   (2006-01-15 03:17) [12]

стая дельфинов


← →
Fenik ©   (2006-01-15 03:22) [13]

косяк дельфимастеров :)))))))


← →
antonn ©   (2006-01-15 05:04) [14]

Fenik ©   (15.01.06 3:22) [13]
косяк дельфимастеров :)))))))

:))))) я это чуть не вслух сказал после прерыдущего поста :))))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.031 c
2-1136989982
Silver__Dragon
2006-01-11 17:33
2006.01.29
Тэги у медиа-файлов


5-1121963796
capkoh
2005-07-21 20:36
2006.01.29
Выпадающий список ComboBox


3-1133429587
nstur
2005-12-01 12:33
2006.01.29
Аналоги decode, NVL, CASE


2-1137410503
ломтик
2006-01-16 14:21
2006.01.29
x:= (32434234/77545) mod 5; ERROR!


15-1136666569
Kerk
2006-01-07 23:42
2006.01.29
Инте-ллект независим от созн-ания ?




   Наверх