nepjua
30/05/2008, 02:15
Arkadaşlar bi ödev yapmam lazım, ve bir cubugun cember etrafında düzgün dönmesini saglayabilirsem ödevin gerisiin de haledicem insallah, cok arastırdım ugrastım söyle bir kod yazdım
#include <graphics.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
#define eklem circle(320,240,10);
#define pause while(!kbhit())
struct bacak
{
int x;
int y;
}
alt[1999],ust[799];
void bacakdeger1();
void bacakdeger2();
main()
{
int gdrv = DETECT, gmod;
int g1,g2,i;
double a,c,t;
t=5; //aci->derece
c=t*M_PI/180; //hareket miktari (aci->radyan)
a=0; //baslangic'tan yapilan toplam aci
i=0;
initgraph(&gdrv, &gmod, "C:\\TC\\BGI");
bacakdeger1();
pause //bir tusa basilana kadar
{
cleardevice();
eklem
for(i=0;i<=1999;i++)
{
g1=ceil(alt[i].x*cos(c)-alt[i].y*sin(c));
g2=ceil(alt[i].x*sin(c)+alt[i].y*cos(c));
alt[i].x=g1;
alt[i].y=g2;
putpixel(alt[i].x+320,240-alt[i].y,10);
}
a+=t;
delay(100);
}
getch();
closegraph();
return 0;
}
void bacakdeger1()
{
int x;
int y;
int i=0;
for(x=0-10;x<=10;x++)
{
for(y=0-80;y<=0;y++,i++)
{
alt[i].x=x;
alt[i].y=y;
}
}
}
neden ilk bastaki gibi durmuyo noktalar düzgün dönmüyolar dagılıyolar, bunu saglamak icin ne yapmalıyım daha farklı bi fonksiyon mu kullanmalıyım, yardım ederseniz cok sevinirim, sevgilerle...
#include <graphics.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
#define eklem circle(320,240,10);
#define pause while(!kbhit())
struct bacak
{
int x;
int y;
}
alt[1999],ust[799];
void bacakdeger1();
void bacakdeger2();
main()
{
int gdrv = DETECT, gmod;
int g1,g2,i;
double a,c,t;
t=5; //aci->derece
c=t*M_PI/180; //hareket miktari (aci->radyan)
a=0; //baslangic'tan yapilan toplam aci
i=0;
initgraph(&gdrv, &gmod, "C:\\TC\\BGI");
bacakdeger1();
pause //bir tusa basilana kadar
{
cleardevice();
eklem
for(i=0;i<=1999;i++)
{
g1=ceil(alt[i].x*cos(c)-alt[i].y*sin(c));
g2=ceil(alt[i].x*sin(c)+alt[i].y*cos(c));
alt[i].x=g1;
alt[i].y=g2;
putpixel(alt[i].x+320,240-alt[i].y,10);
}
a+=t;
delay(100);
}
getch();
closegraph();
return 0;
}
void bacakdeger1()
{
int x;
int y;
int i=0;
for(x=0-10;x<=10;x++)
{
for(y=0-80;y<=0;y++,i++)
{
alt[i].x=x;
alt[i].y=y;
}
}
}
neden ilk bastaki gibi durmuyo noktalar düzgün dönmüyolar dagılıyolar, bunu saglamak icin ne yapmalıyım daha farklı bi fonksiyon mu kullanmalıyım, yardım ederseniz cok sevinirim, sevgilerle...