Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.08;
Скачать: CL | DM;

Вниз

простая задачка на геометрию   Найти похожие ветки 

 
nonamez11 ©   (2008-12-22 16:16) [0]

блин тупорылый вопрос но не знаю чо делать(((
надо чтоб по форме летал кружок,и летал по окружности(
я накидал код а он работает не правильно,двигается по окружности но с большими перерывами не плавно((
не знаю в чем проблема.
может кто подскажет?очень надо

procedure TForm7.Timer1Timer(Sender: TObject);

begin
radius:=80;
a:=a+1;
if a>=360 then a:=0;
begin
if (x>0)and(y>=0) then
  begin
   x:=x+round(radius*cos(RadtoDeg(a)));
  y:=y+round(radius*sin(Radtodeg(a)));
  edit1.Text:=inttostr(x)+" "+inttostr(y)+" "+inttostr(a);
  edit2.Text:=floattostr(cos(a));
  end
 else
  begin
   x:=round(ClientWidth/2);
   y:=round(ClientHeight/2);
  end;
 x1:=x+25;
 y1:=y+25;

 Canvas.BrushCopy(MyRect, Bitm, MyRect, clBlack);
 Canvas.Ellipse(x-25,y-25,x1,y1);
 
 MyRect := Rect(x-25,y-25,x1,y1); //

end;
end;


 
Сергей М. ©   (2008-12-22 16:30) [1]


> cos(RadtoDeg(a))


> Sin(Radtodeg(a))


Эти триг.функции требуют параметром угол в радианах, а ты им в градусах пытаешься подсунуть, к тому же в то время как в переменной A у тебя хранится угол в градусах


 
Правильный$Вася   (2008-12-22 16:31) [2]

Application.ProcessMessages


 
nonamez11 ©   (2008-12-22 16:31) [3]

да если изменить не моможет,эт я чо то с калькулятором сравнивал


 
Сергей М. ©   (2008-12-22 16:32) [4]


> Application.ProcessMessages
>


Ни к селу ни к городу оно тут - циклов-то в таймерном обработчике нет


 
Сергей М. ©   (2008-12-22 16:34) [5]


> я чо то с калькулятором сравнивал


Я не знаю,  "чо" ты с "калькулятором сравнивал", но лажа с преобразованием налицо


 
nonamez11 ©   (2008-12-22 16:36) [6]

ну если убрать Radtodeg проблема остается скажем так


 
Сергей М. ©   (2008-12-22 16:38) [7]

Ну если убрать, тогда и число 360 тут ни к селу ни к городу


 
nonamez11 ©   (2008-12-22 16:44) [8]

и что же делать?


 
Сергей М. ©   (2008-12-22 16:49) [9]

Ну очевидно же - если в А у тебя угол в градусах, то его следует преобразовать в радианы для вычисления синуса с косинусом)


 
nonamez11 ©   (2008-12-22 16:58) [10]

Точна!)я был недалек от разгадки)))спасибо)))



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
6-1198423746
maxistent
2007-12-23 18:29
2009.02.08
Как получить свой ИП?


2-1230373858
antonn
2008-12-27 13:30
2009.02.08
создание переменных в cmd


2-1230383918
Te
2008-12-27 16:18
2009.02.08
SQL в delphi


15-1229422288
cosinus
2008-12-16 13:11
2009.02.08
Вопрос про базы данных... Ламерский.


15-1228726178
aston2204
2008-12-08 11:49
2009.02.08
Экспорт данных в 1С и (или) Excel