Построить траекторию Броуновского движения. Броуновскую кривую можно представить указываем точку из которой начинается построение фрактала присваиваем dx и dy числа от 0 до 3 задаем границы экрана если фрактал выходит за границы экрана изменяется направление в результате получаем Броуновскую кривую void main() { #include <stdio.h> #include <stdlib.h> #include <graphics.h> #include <conio.h> int main () { int GD, GM, X, Y, dX, dY, I; int gdriver = DETECT, gmode, errorcode; /* initialize graphics mode */ initgraph(&gdriver, &gmode, "C:\\BORLANDC\\BGI"); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* return with error code */ } X=639 / 2; Y=470 / 2; moveto(X,Y); do { dX=random(3)-1; dY=random(3)-1; if (X+dX < 0) X=X-dX; else X=X+dX; if (X+dX > 640) X=X-dX; X=X+dX; if (Y+dY < 0) Y=Y-dY; Y=Y+dY; if (Y+dY > 480) Y=Y-dY; else Y =Y+dY; setcolor(YELLOW); lineto(X,Y); for (I=1; I<100; I++) putpixel(random(640),random(480),BLACK); } while ( !kbhit() ); closegraph(); return 0; } }
Ключевые слова:
Brown
|
|||||||