Keresés

Hirdetés

Új hozzászólás Aktív témák

  • djdemi

    csendes tag

    sziasztok!

    Kaptam egy beadandó feladatot, nem is tudom hogy kezdjek neki...ha valaki tudna segíteni megköszönném! Egy grafika feladtaról lenne szó...Íme:

    Rajzolja meg és számolja ki egy m tömegű anyagi pont v0 kezdősebességű, φ0
    emelkedési szögű ferde hajítás során befutott röppályát!

    ha valaki tud segíteni ezzel kapcsolatban, írjon
    Előre is köszi
    hali!

  • djdemi

    csendes tag

    A ferdehajításos programot BorlandC környezetben kellene megcsinálni...
    Sziasztok

  • djdemi

    csendes tag

    sikerült a programot megírni, ha valakit érdekel...:)

    #include <graphics.h>
    #include <conio.h>
    #include <math.h>

    double pi =3.141592654;

    double G =9.81;

    int graph_open(void);

    void main(void){

    double v0,v0x,v0y; // *** a hajítás paraméterei
    double alfa;
    double y0;
    double tt,tb,bx,by,tx,ty;
    clrscr();
    printf("Tesztadatok (100 [m/s],30 [fok], 20 [m]");
    printf("\nKérem a kezdősebesség nagyságát! [m/s] >");
    scanf("%lf",&v0);
    printf("\nKérem a hajítás szögét! [fok] >");
    scanf("%lf",&alfa);
    printf("\nKérem a pont kezdőmagasságát! [m] >");
    scanf("%lf",&y0);

    printf("\n\nPress any key to continue:");
    getch();

    v0x=v0*cos(alfa*pi/180);
    v0y=v0*sin(alfa*pi/180);

    // A becsapodás adatai: idő, koordináták
    tb=(v0y + sqrt( v0y*v0y + 2 * G * y0 ) ) /G;
    bx=v0x*tb;
    by=0;

    // A tetopont elérésének adatai: idő, koordináták
    tt=v0y/G;
    tx=v0x*tt;
    ty=(-G/2 * tt*tt + v0y * tt + y0);
    printf("\n\nA becsapódás adatai:\n");
    printf(" Ideje [tb] :%lf s\n",tb);
    printf(" Távolsága [bx] :%lf m\n",bx);
    printf("\n\nA tetőpont elérésének adatai:\n");
    printf(" Ideje [tt] :%lf s\n",tt);
    printf(" Koordinátái [tx,ty]:(%.4lf, %.4lf) m\n",tx,ty);

    printf("\n\nPress any key to continue:");

    getch();
    if ( !(graph_open()) ) {
    int i,j;
    double t,lp;

    if (bx/getmaxx()>ty/getmaxy())
    lp=bx/getmaxx();
    else
    lp=ty/getmaxy();

    // Az idő paramétereként fejezzük ki az x(t) és y(t) koordinátákat:
    for (t=0;t<=tb;t+=tb/getmaxx()) {

    // Pályaadatok:
    i=floor(v0x*t/lp);
    j=floor((-G/2*t*t+v0y*t+y0)/lp);

    // Pályagörbe
    putpixel(i,getmaxy()-j,YELLOW);

    delay(20);
    }

    getch();
    closegraph();
    } else {
    printf("BGI ERROR! >%i \n");
    printf("\n\nPress any key to continue:");
    getch();
    }
    }

    int graph_open(void) {
    int gd=DETECT,gm;
    initgraph(&gd,&gm,"c:\\borlandc\\bgi");
    return(graphresult());
    }

Új hozzászólás Aktív témák