Форум: "Media";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
ВнизКак осуществить поворот? Найти похожие ветки
← →
Alexey-neo (2002-05-13 21:36) [0]Всеуважаемый программерские "мастаки" подскажите мне какой нить алгоритм для поворото какого либо объекта, предположим курсора мыши (как ставить я знаю), при этом мне известная формула функции, но я не знаю как её использовать!
← →
Подросток (2002-05-15 01:46) [1]Не слишком ли крутой вопрос для пятилетнего парня? ;-))
← →
zve (2002-05-16 14:59) [2]Тебе в OpenGL или просто алгоритм на паскале?
← →
Desdechado (2002-05-17 19:25) [3]под NT SetWorldTransform
а вообще почитай учебники по линейной алгебре или машинной графике
← →
senquin (2002-05-27 13:08) [4]Поворот картинки вокруг произвольной оси. Картинка в 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;
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2002.09.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c