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

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

Как осуществить поворот? [Delphi, Windows]


Alexey-neo ©   (2002-05-13 21:36:00) 

Всеуважаемый программерские "мастаки" подскажите мне какой нить алгоритм для поворото какого либо объекта, предположим курсора мыши (как ставить я знаю), при этом мне известная формула функции, но я не знаю как её использовать!


senquin   (2002-05-27 13:08:00) [1]

Поворот картинки вокруг произвольной оси. Картинка в bmp файле или где-нибудь ещё.

procedure TForm1.Button1Click(Sender: TObject);
var bm, bm1: TBitMap;
X, Y: Integer;
R, a: Single;
Xo, Yo: Integer;
s, c: Extended;
begin
bm:=TBitMap.Create;
bm.LoadFromFile("Image-01.BMP");
xo:=bm.Width div 2;
yo:=bm.Height div 2;
bm1:=TBitMap.Create;
bm1.Width:=bm.Width;
bm1.Height:=bm.Height;
a := 0;
repeat
for Y:=0 to bm.Height-1 do begin
for X:=0 to bm.Width-1 do begin
R:=Sqrt(Sqr(X-Xo)+Sqr(Y-Yo));
SinCos(A+ArcTan2((Y-Yo),(X-Xo)),S,C);
bm1.Canvas.Pixels[X,Y]:=bm.Canvas.Pixels[Round(Xo+R*C),Round(Yo+R*S)];
end;
//Application.ProcessMessages;
end;
Form1.Canvas.Draw(0,0,bm1);
A:=A+0.005;
Application.ProcessMessages;
until Form1.Tag <> 0;
bm.Destroy;
bm1.Destroy;
end;


Desdechado   (2002-05-17 19:25:00) [2]

под NT SetWorldTransform

а вообще почитай учебники по линейной алгебре или машинной графике


zve   (2002-05-16 14:59:00) [3]

Тебе в OpenGL или просто алгоритм на паскале?


Подросток   (2002-05-15 01:46:00) [4]

Не слишком ли крутой вопрос для пятилетнего парня? ;-))


Наверх

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