Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include <cmath>
- #include <stdio.h>
- #include <stdlib.h>
- #include <iostream>
- #include <fstream>
- using namespace std;
- #define xmax 20
- #define ymax 40
- void zeros(double bol[][ymax], int len )
- {
- for(int i=0;i<xmax;i++)
- {
- for(int j=0;j<ymax;j++)
- {
- bol[i][j]=0;
- }
- }
- }
- void ones(double bol[][ymax], int len )
- {
- for(int i=0;i<xmax;i++)
- {
- for(int j=0;j<ymax;j++)
- {
- bol[i][j]=1;
- }
- }
- }
- void print_bol(double bol[][ymax], int len )
- {
- for(int i=0;i<xmax;i++)
- {
- for(int j=0;j<ymax;j++)
- {
- printf("%f \t",bol[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- printf("\n");
- }
- void print_bol_as_int(double bol[][ymax], int len)
- {
- for(int i=0;i<xmax;i++)
- {
- for(int j=0;j<ymax;j++)
- {
- printf("%d ",(int)bol[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- printf("\n");
- }
- void find_neighbour(double bol[][ymax], int len, double nx, double ny, double r)
- {
- for(int i = 0; i < xmax; i++)
- {
- for(int j = 0; j < ymax; j++)
- {
- if( (i != 0 && i != xmax-1 ) && (j != 0 && j != ymax-1) && !(pow((i-nx),2)+pow((j-ny),2) < pow(r,2)))
- if(bol[i-1][j+1] == 1 || bol[i][j+1] == 1 || bol[i+1][j+1] == 1 ||
- bol[i-1][j] == 1 || bol[i+1][j] == 1 ||
- bol[i-1][j-1] == 1 ||bol[i][j-1] == 1 || bol[i+1][j-1] == 1)
- bol[i][j] = 6;
- }
- }
- }
- int calc_amount_neigh(double bol[][ymax], int len)
- {
- int suma = 0;
- for(int i = 0; i < xmax; i++)
- {
- for(int j = 0; j < ymax; j++)
- {
- if(bol[i][j] == 6)
- suma = suma + 1;
- }
- }
- return suma;
- }
- double return_X0(int ii, int jj, double ny, double nx, double r) // funkcja zwracajaca wspolrzedna X - punktu na przecieciu w. kierunkowego z okregiem
- {
- //Y = -X + a
- double i = (double)ii;
- double j = (double)jj;
- double A = j + i;
- double A_ny = 0;
- A_ny = A + ny*(-1); // zmienna przechowywujaca wartosc po podstawieniu Y do wzoru(x - nx) + ( y - ny ) -> ( -x + i+j-ny)
- double a = 2; // wspolczynnik przy x^2
- double b = (-2) * nx + (-2) * A_ny; // suma ostateczna wspolczynnikow przy x
- double c = pow(A_ny,2) - (r*r) + (nx*nx); // wyraz wolny
- double delta = b*b - 4*a*c;
- double x1 = -1;
- double x2 = -1;
- //double X = -1;
- double return_X = -1;
- if(delta > 0)
- {
- x1 = (b*(-1) - sqrt(delta) ) / (2*a);
- x2 = (b*(-1) + sqrt(delta) ) / (2*a);
- if(abs(x1 - i) < abs(x2 - i))
- return_X = x1;
- else
- return_X = x2;
- }
- else if(delta == 0)
- {
- return_X = (-1)*b / 2*a;
- }
- else if(delta < 0)
- cout <<"";
- else
- printf("Nieznane zachowanie");
- return return_X; // zwrocenie wspolrzednej X
- }
- double return_X1(int ii, int jj, double ny, double nx, double r)
- {
- //Y = j
- double i = (double)ii;
- double j = (double)jj;
- double a = 1;
- double b = nx * (-2);
- double c = pow((j-ny),2) + pow(nx,2) - r*r;
- double delta = b*b - 4*a*c;
- double x1 = -1;
- double x2 = -1;
- double return_X = -1;
- if(delta > 0)
- {
- x1 = (b*(-1) - sqrt(delta) ) / (2*a);
- x2 = (b*(-1) + sqrt(delta) ) / (2*a);
- if(abs(x1 - i) < abs(x2 - i))
- return_X = x1;
- else
- return_X = x2;
- }
- else if(delta == 0)
- {
- return_X = (-1)*b / 2*a;
- }
- else if(delta < 0)
- cout <<"";
- else
- printf("Nieznane zachowanie");
- return return_X; // zwrocenie wspolrzednej X
- }
- double return_X2(int ii, int jj, double ny, double nx, double r) // funkcja zwracajaca wspolrzedna X - punktu na przecieciu w. kierunkowego z okregiem
- {
- //Y = X + a;
- double i = (double)ii;
- double j = (double)jj;
- double A = j - i;
- double A_ny = 0;
- A_ny = A + ny*(-1); // zmienna przechowywujaca wartosc po podstawieniu Y do wzoru(x - nx) + ( y - ny ) -> ( -x + i+j-ny)
- double a = 2; // wspolczynnik przy x^2
- double b = nx*(-2) + 2* A_ny; // suma ostateczna wspolczynnikow przy x
- double c = pow(A_ny,2) - (r*r) + (nx*nx); // wyraz wolny
- double delta = b*b - 4*a*c;
- double x1 = -1;
- double x2 = -1;
- double return_X = -1;
- if(delta > 0)
- {
- x1 = (b*(-1) - sqrt(delta) ) / (2*a);
- x2 = (b*(-1) + sqrt(delta) ) / (2*a);
- if(abs(x1 - i) < abs(x2 - i))
- return_X = x1;
- else
- return_X = x2;
- }
- else if(delta == 0)
- {
- return_X = (-1)*b / 2*a;
- }
- else if(delta < 0)
- cout << "";
- else
- printf("Nieznane zachowanie");
- return return_X; // zwrocenie wspolrzednej X
- }
- double return_X3(int i, int j, double ny, double nx, double r)
- {
- double ii = (double)i;
- return ii;
- }
- double countY0(double XXX, int i, int j)
- {
- double YYY = -1;
- double ii = (double)i;
- double jj = (double)j;
- YYY = XXX*(-1) + jj + ii;
- return YYY;
- }
- double countY1(double XXX, int i, int j)
- {
- double jj = (double)j;
- return jj;
- }
- double countY2(double XXX, int i, int j)
- {
- double YYY = -1;
- double ii = (double)i;
- double jj = (double)j;
- YYY = XXX + jj - ii;
- return YYY;
- }
- double countY3(int i, int j, double ny, double nx,double r)
- {
- double a = 1;
- double b = ny * (-2);
- double c = pow(i-nx,2) + pow((ny),2) - r*r;
- double delta = b*b - 4*a*c;
- double y1 = -1;
- double y2 = -1;
- double return_Y = -1;
- if(delta > 0)
- {
- y1 = (b*(-1) - sqrt(delta) ) / (2*a);
- y2 = (b*(-1) + sqrt(delta) ) / (2*a);
- if(abs(y1 - j) < abs(y2 - j))
- return_Y = y1;
- else
- return_Y = y2;
- }
- else if(delta == 0)
- {
- return_Y = (-1)*b / 2*a;
- }
- else if(delta < 0)
- cout <<"";
- else
- printf("Nieznane zachowanie");
- return return_Y; // zwrocenie wspolrzednej Y
- }
- double calculate_distance(double xxx, double yyy, int i, int j)
- {
- double ii = (double)i;
- double jj = (double)j;
- double distance = -1;
- distance = sqrt( pow(xxx-ii,2) + pow(yyy-jj,2) );
- if(xxx == -1)
- distance = -1;
- if(yyy == -1)
- distance = -1;
- return distance;
- }
- int return_quarter(int i, int j, double r)
- {
- int quarter = -1;
- int R = (int)r;
- // 0 7 6
- // 1 8 5
- // 2 3 4
- if(i > xmax/2 -1 && j > ymax/2 -1)
- quarter = 1;
- if(i > xmax/2 -1 && j < ymax/2 -1)
- quarter = 2;
- if(i < xmax/2 -1 && j < ymax/2 -1)
- quarter = 3;
- if(i < xmax/2 -1 && j > ymax/2 -1)
- quarter = 4;
- if(i == xmax/2 - 1 && j >= ymax/2 + R )
- quarter = 5; ///dany punkt znajduje sie na osi X miedzy cwiartkami 1 i 4
- if(i >= xmax/2 + R && j == ymax/2 - 1)
- quarter = 6; ///dany punkt znajduje sie na osi Y miedzy cwiartkami 1 i 2
- if(i == xmax/2 - 1 && j <= ymax/2 - R)
- quarter = 7; ///dany punkt znajduje sie na osi X miedzy cwiartkami 2 i 3
- if(i <= xmax/2 - R && j == ymax/2 - 1)
- quarter = 8; ///dany punkt znajduje sie na osi Y miedzy cwiartkami 3 i 4
- if(i == xmax/2 -1 && j == ymax/2 - 1)
- quarter = 100;
- return quarter;
- }
- int main()
- {
- // D2Q9 model
- // Rozmiar siatki
- double bol[xmax][ymax]; // cala siatka
- zeros(bol, xmax);
- double r = 8;
- double nx = xmax*0.5; // środek kuli x
- double ny = ymax*0.5; //środek kuli y
- cout << xmax/2 << "," << ymax/2 <<endl;
- ofstream plik("D:\pliczek.txt");
- if(plik.is_open())
- cout <<" Plik dziala"<< endl;
- else
- cout << "Plik nie dziala" << endl;
- int counter = 0;
- for(int i=0;i<xmax;i++)
- {
- for(int j=0; j<ymax; j++)
- {
- if(pow((i-nx),2)+pow((j-ny),2) < pow(r,2)) {
- bol[i][j] = pow((i-nx),2)+pow((j-ny),2) < pow(r,2);
- counter++;
- }
- }
- }
- print_bol_as_int(bol, xmax);
- find_neighbour(bol, xmax, nx, ny, r); // liczba 6 oznacza ze komorka jest przecieta przez sfere
- print_bol_as_int(bol, xmax);
- double DISTANCE[xmax][ymax][8];
- for(int i = 0; i < xmax; i++)
- {
- for(int j = 0; j < ymax; j++)
- {
- for(int k = 0; k < 8; k++)
- {
- DISTANCE[i][j][k] = -1;
- }
- }
- }
- double XXX = -1;
- double YYY = -1;
- plik << " 0 7 6 " << endl << " 1 8 5 " << endl << " 2 3 4 " << endl;
- plik << "x - skladowa punktu w przestrzeni siatki" <<endl <<"y - skladowa punktu w przestrzeni siatki" << endl
- << "xO - skladowa punktu na przecieciu okregu z vektorem" << endl << "yO - skladowa punktu na przecieciu okregu z vektorem"<<endl
- << "D - odleglosc (x,y) od (xO,yO) - punktu w przestrzeni od punkty przeciecia z vektorem " << endl << endl << endl;
- for(int i = 0; i < xmax; i++)
- {
- int quarter = -1;
- for(int j = 0; j < ymax; j++)
- {
- if(bol[i][j] == 1)
- continue;
- // 0 7 6
- // 1 8 5
- // 2 3 4
- // if(bol[i][j] == 6 )
- // {
- double iii= i + 0.5;
- double jjj= j + 0.5;
- cout << iii << " WUUUUUUT ?" << endl;
- cout << jjj << " WUUUUUUT 2?" << endl;
- quarter = return_quarter(iii,jjj,r);
- if(quarter == 2)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][4] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][4] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][4] << "quarter = " << quarter <<"-> vector=" << 4 <<endl;
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][5] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][5] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][5] << "quarter = " << quarter <<"-> vector=" << 5 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- if(YYY < jjj)
- {
- DISTANCE[i][j][2] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][2] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][2] << "quarter = " << quarter <<"-> vector=" << 2 <<endl;
- }
- else
- {
- DISTANCE[i][j][6] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][6] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][6] << "quarter = " << quarter <<"-> vector=" << 6 <<endl;
- }
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][3] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][3] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][3] << "quarter = " << quarter <<"-> vector=" << 3 <<endl;
- }
- else if(quarter == 4)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][0] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][0] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][0] << "quarter = " << quarter <<"-> vector=" << 0 <<endl;
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][7] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][7] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][7] << "quarter = " << quarter <<"-> vector=" << 7 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- if(YYY > jjj)
- {
- DISTANCE[i][j][6] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][6] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][6] << "quarter = " << quarter <<"-> vector=" << 6 <<endl;
- }
- else
- {
- DISTANCE[i][j][2] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][2] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][2] << "quarter = " << quarter <<"-> vector=" << 2 <<endl;
- }
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][1] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][1] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][1] << "quarter = " << quarter <<"-> vector=" << 1 <<endl;
- }
- else if(quarter == 1)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- if(YYY < jjj)
- {
- DISTANCE[i][j][0] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][0] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][0] << "quarter = " << quarter <<"-> vector=" << 0 <<endl;
- }
- else
- {
- DISTANCE[i][j][4] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][4] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][4] << "quarter = " << quarter <<"-> vector=" << 4 <<endl;
- }
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][3] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][3] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][3] << "quarter = " << quarter <<"-> vector=" << 3 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][2] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][2] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][2] << "quarter = " << quarter <<"-> vector=" << 2 <<endl;
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][1] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][1] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][1] << "quarter = " << quarter <<"-> vector=" << 1 <<endl;
- }
- else if(quarter == 3)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- if(YYY < jjj)
- {
- DISTANCE[i][j][0] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][0] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][0] << "quarter = " << quarter <<"-> vector=" << 0 <<endl;
- }
- else
- {
- DISTANCE[i][j][4] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][4] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][4] << "quarter = " << quarter <<"-> vector=" << 4 <<endl;
- }
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][5] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][5] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][5] << "quarter = " << quarter <<"-> vector=" << 5 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][6] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][6] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][6] << "quarter = " << quarter <<"-> vector=" << 6 <<endl;
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][7] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][7] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][7] << "quarter = " << quarter <<"-> vector=" << 7 <<endl;
- }
- else if(quarter == 5)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][0] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][0] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][0] << "quarter = " << quarter <<"-> vector=" << 0 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][2] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][2] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][2] << "quarter = " << quarter <<"-> vector=" << 2 <<endl;
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][1] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][1] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][1] << "quarter = " << quarter <<"-> vector=" << 1 <<endl;
- }
- else if(quarter == 6)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][4] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][4] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][4] << "quarter = " << quarter <<"-> vector=" << 4 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][2] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][2] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][2] << "quarter = " << quarter <<"-> vector=" << 2 <<endl;
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][1] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][1] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][1] << "quarter = " << quarter <<"-> vector=" << 1 <<endl;
- }
- else if(quarter == 7)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][4] = calculate_distance(XXX,YYY,i,j);
- if(DISTANCE[i][j][4] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][4] << "quarter = " << quarter <<"-> vector=" << 4 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][6] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][6] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][6] << "quarter = " << quarter <<"-> vector=" << 6 <<endl;
- XXX = return_X3(iii,jjj,ny,nx,r);
- YYY = countY3(iii,jjj,ny,nx,r);
- DISTANCE[i][j][5] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][5] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][5] << "quarter = " << quarter <<"-> vector=" << 5 <<endl;
- }
- else if(quarter == 8)
- {
- XXX = return_X0(iii,jjj,ny,nx,r);
- YYY = countY0(XXX,iii,jjj);
- plik << "====== START =======" << endl;
- DISTANCE[i][j][0] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][0] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][0] << "quarter = " << quarter <<"-> vector=" << 0 <<endl;
- XXX = return_X2(iii,jjj,ny,nx,r);
- YYY = countY2(XXX,iii,jjj);
- DISTANCE[i][j][6] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][6] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][6] << "quarter = " << quarter <<"-> vector=" << 6 <<endl;
- XXX = return_X1(iii,jjj,ny,nx,r);
- YYY = countY1(XXX,iii,jjj);
- DISTANCE[i][j][7] = calculate_distance(XXX,YYY,iii,jjj);
- if(DISTANCE[i][j][7] != -1)
- plik <<"x="<< iii << "\t " <<"y="<< jjj << "\t" <<"xO="<< XXX << "\t " <<"yO="<< YYY << "\t" <<"D="<< DISTANCE[i][j][7] << "quarter = " << quarter <<"-> vector=" << 7 <<endl;
- }
- else if(quarter == 100)
- {
- cout << "Middle of circle" << endl;
- }
- else
- {
- plik << "Cos nie dziala i = " << iii << " j=" << jjj << " quarter = " << quarter << endl;
- }
- //}
- }
- }
- printf("Press Any Key to Continue\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement