Форум: "Основная";
Текущий архив: 2016.04.10;
Скачать: [xml.tar.bz2];
ВнизГРАФИК ТРАКТРИСЫ Найти похожие ветки
← →
Ivan (2012-05-17 20:57) [0]вообщем программа не работает.не рисует график трактрисы.Что-то не так. если что исправьте.убираю логарифм работает ,только это не трактриса...
чем быстрее поможете тем лучше.юлагодарю
<procedure TForm1.Button1Click(Sender: TObject);
var xc,yc,w,h,i:integer;
a,t,r,mx,my,x,y:real;
begin
xc:=Width div 2;
yc:=ClientHeight div 2-30;
w:=(xc-10);
h:=(yc-10);
mx:=(w-10)/5;
my:=(h-10)/5;
with Canvas do
begin
Brush.Color:=clWhite;
Pen.Color:=clBlack;
rectangle(5,5,2*w+5,2*h+5);
Pen.Width:=3;
MoveTo(10,yc);
LineTo(2*w,yc);
MoveTo(xc,10);
LineTo(xc,2*h);
textout(2*w-20,yc-20,"X");
textout(xc-20,10,"Y");
textout(xc+10,yc+10,"0");
Pen.Width:=1;
Pen.Style:=psDash;
for i:=1 to 5 do
begin
MoveTo(xc+round(i*mx),10); LineTo(xc+round(i*mx),2*h);
MoveTo(xc-round(i*mx),10); LineTo(xc-round(i*mx),2*h);
textout(xc+round(i*mx),yc+10,Inttostr(i));
textout(xc-round(i*mx),yc+10,Inttostr(-i));
MoveTo(10,yc-round(i*my)); LineTo(2*w,yc-round(i*my));
MoveTo(10,yc+round(i*my)); LineTo(2*w,yc+round(i*my));
textout(xc-30,yc-round(i*my),Inttostr(i));
textout(xc-30,yc+round(i*my),Inttostr(-i));
end;
t:= 0; a:= 60;
while t<=2*pi+1e-8 do
begin { if (cos(phi/2)<>0)and(sin(phi/2)<>0) then
begin
}
x:=a*ln(sin(t/2)/cos(t/2))+cos(t);
y:=a*sin(t);
pixels[xc+round(x*mx),yc-round(y*my)]:=clred;
t:=t+0.001;
end;
end;
end;
end.>
← →
brother © (2012-05-17 21:06) [1]> чем быстрее поможете тем лучше.юлагодарю
давай через месяц?
зы. скоро - толкько кошки родятся...
← →
Ivan (2012-05-17 21:13) [2]НЕ Я СЕРЬЕЗНО.)))))В ЧЕМ ФИШКА А?
← →
Ivan (2012-05-17 21:22) [3]...
begin if (cos(t/2)<>0)and(sin(t/2)<>0) then
begin
...
← →
RWolf © (2012-05-17 21:49) [4]фишка в масштабе.
этот график вылетает далеко за выбранные границы координатной сетки.
← →
MBo © (2012-05-17 21:50) [5]Правильно запиши формулу для X, поставь адекватные пределы по t, и разумное значение a, и всё получится
← →
Ivan (2012-05-18 09:51) [6]Попробовал.через TChart/ снова в чем-то ошибка.не выводит график.Люди добрые, отзовитесь?
<procedure TForm1.Button1Click(Sender: TObject);
const th=0.01;
var
t,a,tmax:real;
begin
a:=strtofloat(edit1.text);
tmax:=strtofloat(edit2.text);
t:=0;
while t<tmax//максимальное время
do
begin
chart1.series[1].AddXY(a*sin(t),a*(cos(t)+ln(Sin(t/2)/Cos(t/2))),"", clBlue);
t:=t+th;
end;
end;
end.>
← →
RWolf © (2012-05-18 09:59) [7]логарифм от нуля чему равен?
← →
Ivan (2012-05-18 10:20) [8]<Правильно запиши формулу для X, поставь адекватные пределы по t, и разумное значение a, и всё получится>
разве формула для x неправильная?
поставил t<pi,при t=1;2;(для остальных значений не удовлетворяет) работает .благодарю за подсказку. А график не симметричен относительно оси ОY/(не дорисовывает в отрицательной полуплоскости).в чём тут причина?
И можете заодно прояснить ситуацию с TChArt/
← →
Ivan (2012-05-18 10:21) [9]<логарифм от нуля чему равен?>
в коде один из вариантов который я написал переменной t.при значении 1 и т.д. тоже не канает
← →
MBo © (2012-05-18 13:33) [10]t= Pi/12...11*Pi/12
a = 5 (для данной шкалы)
x:=a*(ln(tan(t/2))+cos(t));
← →
Ivan (2012-05-18 17:00) [11]<x:=a*(ln(tan(t/2))+cos(t))>
дело втом что делфи выдает ошибку.что типа тангенса нет.
Поэтому я взял x:=a*ln(sin(t/2)/cos(t/2))+cos(t);
Почему график недорисовывает?
← →
Германн © (2012-05-18 17:28) [12]
> дело втом что делфи выдает ошибку.что типа тангенса нет.
uses Math
← →
MBo © (2012-05-18 21:01) [13]дело не в тангенсе, а в неправильной формуле
← →
Германн © (2012-05-19 02:12) [14]
> MBo © (18.05.12 21:01) [13]
Я всего лишь хотел сказать автору, что функция tan в Дельфи есть. Но в отличие от функций sin и cos она не зашита в "magic compile" модуль system.
А в математике я даже и не пытаюсь соревноваться вами "дальневосточниками" :)
← →
Ivan (2012-05-19 11:21) [15]<дело не в тангенсе, а в неправильной формуле>
это ваша формула x:=a*(ln(tan(t/2))+cos(t));
Она тоже на работает.какая же будет формула правильная тогда?
← →
MBo © (2012-05-19 11:54) [16]у меня работает
← →
Ivan (2012-05-19 15:42) [17]график значит рисует?
(скинь текс чтоб посмотреть тогда)
← →
Inovet © (2012-05-19 18:08) [18]> [17] Ivan (19.05.12 15:42)
> (скинь текс чтоб посмотреть тогда)
Вот и подошли к самому главному.
← →
MBo © (2012-05-19 18:19) [19]В [10] посту я описал все изменения, после которых график стал нормальным
← →
Ivan (2012-05-19 20:59) [20]заработала машинка))))
формула правильная. собака была зарыта в параметре и в пределах изменения этого же параметра t
получился график.
благодарю,<MBo> за вашу терпеливость.И вообще в помощи.
<Вот и подошли к самому главному.> //разве нельзя с пониманием отнестись.
Я же не с пустым кодом пришёл на форум.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2016.04.10;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.002 c