Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: 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 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.053 c
15-1136821617
Kerk
2006-01-09 18:46
2006.01.29
Ошибочно считать свой талант основным капиталом


15-1136303618
tesseract
2006-01-03 18:53
2006.01.29
Цветокоррекция


2-1137320121
SergP
2006-01-15 13:15
2006.01.29
StrToDateTime. Проблема с форматом даты/времени


5-1123669134
stud
2005-08-10 14:18
2006.01.29
кто работал с dxdbgrid


1-1135449800
SEN
2005-12-24 21:43
2006.01.29
Значение текстового поля в Word