Codeblocksba y=a·ch (x/a) láncgörbét kéne úgy kirajzolnom h a mélypontján átmegy a u = a· (t-th t) ; v = a/ (ch t) függvény. Valaki segítség?
Rajzolja meg a láncgörbe nevezetes görbéjét a képernyő
közepére helyezett koordinátarendszerben! Egyenlete:
y=a·ch (x/a) = a/2·(e^x/a+ e^-x/a)
Rajzolja meg ennek a mélypontján átmen
ő evolvensét (traktrix), melynek egyenletrendszere:
u = a·(t-th t)
v = a/(ch t)
(t a paraméter, cha cos hiperbolicus függvény)
és C++ ba
így tudtam megoldani h az egyenletrendszert kirajzolja de a hiperbolicus fvt nemtudom
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
#define PI 3.1415
int main()
{
int gd,gm;
float x,y,t,szog,fok,a,arany;
printf(" 'a' parameter erteke?\n");
scanf("%f",&a);
printf("'t' parameter erteke?\n");
scanf("%f",&szog);
detectgraph(&gd,&gm);
initgraph(&gd,&gm," ");
setcolor(WHITE);
line(getmaxx()/2,20,getmaxx()/2,getmaxy()-20);
line(20,getmaxy()/2,getmaxx()-20,getmaxy()/2);
line(getmaxx()/2,20,getmaxx()/2-5,25);
line(getmaxx()/2,20,getmaxx()/2+5,25);
line(getmaxx()-20,getmaxy()/2,getmaxx()-25,getmaxy()/2+5);
line(getmaxx()-20,getmaxy()/2,getmaxx()-25,getmaxy()/2-5);
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(getmaxx()/2,10,"Hiperbolikus spirál");
outtextxy(getmaxx()/2+20,30,"Y");
outtextxy(getmaxx()-20,getmaxy()/2+20,"X");
outtextxy(getmaxx()-80,40,"x=a*(cos(t)/t)");
outtextxy(getmaxx()-80,60,"y=a*(sin(t)/t)");
for (fok=0;fok<szog;fok+=0.1)
{
t=fok*PI/180;
x=a*(t-tanh(t))+getmaxx()/2;
y=a/(cosh(t))+getmaxy()/2;
putpixel(x,y,GREEN);
}
getch();
closegraph();
return(0 );
}
Miért nem tudod? Ugyan úgy kell:
Végigmész az x-eken, kiszámolod az x-hez tartozó y-okat és kirajzolod az x,y pontot.
De ha a t paraméter hiánya zavart meg téged akkor az y=a·cosh(x/a) függvényt átírhatod ilyen formába is:
x=t
y=a·cosh(t/a)
Beraktam így de így még mindig csak a másik egyneletrendszert rajzolja ki :(
for (fok=0;fok<szog;fok+=1)
{
t=fok*PI/180;
x=t;
y=a*cosh(t/a);
putpixel(x,y,WHITE);
}
for (fok=0;fok<szog;fok+=0.1)
{
t=fok*PI/180;
x=t;
y=a*cosh(t/a);
x=a*(t-tanh(t))+getmaxx()/2;
y=a/(cosh(t))+getmaxy()/2;
putpixel(x,y,WHITE);
}
getch();
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!