Смекни!
smekni.com

Синтез голографического изображения с помощью компьютера (стр. 4 из 4)

float x;

float y;

float z;

const int numOfPoints=2; //количество источников точек

float object[numOfPoints][3]; //содержит точки объекта

object[0][0] = float(SIZE2); //define the objects

object[0][1] = float(SIZE2);

object[0][2] = float(1000);

object[0][0] = float(SIZE2+50); //определяем объекты

object[0][1] = float(SIZE2+50);

object[0][2] = float(1000);

//************************************************************

//инициализируем hol

for(i=0;i<SIZE;i++)

{ for(j=0;j<SIZE;j++)

hol[i][j] = 0;

}

//************************************************************

//рассчитываем поля

h=0; //инициализация

while ( h < numOfPoints) //циклимся по всем точкам

{

x= object[h][0];

y= object[h][1];

z= object[h][2];

i = 0; //сброс в ноль

while (i<SIZE) //цикл по рядам

{

cout <<i<<" ";

j=0;

while(j<SIZE) //цикл по колонкам

{

hol[i][j] = hol[i][j] +

cos(sqrt(float(

(x-(i))*(x-(i)) //рассчитываем расстояние

+ (y-(j))*(y-(j))

+ (z*z)))); //берём косинус посчитанного поля

j++; //инкремент колонки

}

i++; //инкремент ряда

}

h++; //переходим к следующей точке

}

//************************************************************

//оцифровка матрицы

i=0; //ряд

while(i<SIZE)

{

j=0; //колонка

while (j<SIZE)

{

if (hol[i][j]>0) //устанавливаем в 1 для всех значений >1

hol[i][j] = int(1);

else // 0 – для всех остальных

hol[i][j] = int(0);

j++; //колонка

}

i++; //ряд

}

//*************************************************************

//запись в файл

i=0;

while(i<SIZE)

{

j=0; //колонки

while (j<SIZE)

{

outfile<<hol[i][j]<<" ";

j++;

}

outfile<<endl; //в конце ряда – перевод строки

i++;

}

return 0;

}