Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
2-1230097256
alshtam
2008-12-24 08:40
2009.02.08
упала база данных firebird


2-1229774278
kyn66
2008-12-20 14:57
2009.02.08
Подключение к таб. FoxPro через ODBC


2-1229958159
Broflovski
2008-12-22 18:02
2009.02.08
Занят ли файл другим приложением


2-1229947755
LDV
2008-12-22 15:09
2009.02.08
Шрифты


2-1230226466
HoBu4oK
2008-12-25 20:34
2009.02.08
paintbox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский