C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Не обессудьте, Canvas vs OpenGL
.piero
  Отправлено: 07.06.2004, 20:43


Дежурный стрелочник

Группа: Участник
Сообщений: 62



вобщем надо нарисовать линию под углом, который задаётся юзверем, при этом необходимо чтобы начало этой линии было в средине круга, а конец — на крае... Использовать можно только Канву, препод говорит, что, мол, до OGL не дорос sad.gif

З.Ы. типа подготовка к написанию аналоговых часов....

Отредактировано .piero — 11/06/2004, 23:10
klen
Отправлено: 07.06.2004, 22:14


Машинист паровоза

Группа: Участник
Сообщений: 239



Я не совсем понял задачу но вот вариант реализации секундомера без OpenGL

int Second = 0 ;

CODE

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TRect Rect (0,0,Width,Height);
Canvas->FillRect ( Rect );
double Angel = ((Second++) % 60) * 2*3.14 / 60;
Canvas -> MoveTo ( Width / 2 , Height/2 );
Canvas -> LineTo ( Width / 2 — (int)Width / 2 * cos (Angel) , Height/2 — Height/2 * sin(Angel) );
}


Угол сам задаш

PS. Если надо супер быстро — OpenGL или GDI ручками

Отредактировано klen — 07/06/2004, 23:21

Вернуться в Вопросы программирования в C++Builder