Главная страница
    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.46 MB
Время: 0.005 c
6-1198423746
maxistent
2007-12-23 18:29
2009.02.08
Как получить свой ИП?


3-1214292059
MsGuns
2008-06-24 11:20
2009.02.08
MySQL 5.0 - "клон" Interbase ?


3-1214828875
Drowsy
2008-06-30 16:27
2009.02.08
Operation violates CHECK constraint on view or table


2-1230583229
AlexF
2008-12-29 23:40
2009.02.08
ComboBox


15-1228826912
Вопросик
2008-12-09 15:48
2009.02.08
А кип работает у кого-нибудь?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский