void funk1(int x1, int y1, double z1, int x2, int y2, double z2)
{
double x0 = x1,z0 = z1, Yline = 0, Zline = 0, Ynoise = 0;
double delta = (x2-x1)/sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1));
if(x1! = x2)
{
do
{
x0+=delta;
Yline = y1 + (y2-y1)*(x0-x1)/(x2-x1);
Zline = z1 + (z2-z1)*(x0-x1)/(x2-x1);
Ynoise = funk(x0,Zline); //функция шума от координаты х0 и zline
}
while(Yline>Ynoise)
//по выходу из цикла x0 и Zline - искомые координаты
//их тип double, нужно округлить до целого числа
}
else
{
do
{
z0+=delta;
Yline = y1 + (y2-y1)*(z0-z1)/(z2-z1);
Ynoise = funk(x1,z0); //функция шума от x1 и z0 (x = const, т.к. х1=х2 => x не меняется)
}
while(Yline>Ynoise)
//по выходу из цикла x1 и z0 - искомые координаты
//их тип double, нужно округлить до целого числа
}
}