protected double GetAmbientValue(double ypos)
{
double mainDeph = maxY - minY;
if (ypos == double.MinValue)
ypos = minY;
double ydNormalized = (ypos - minY) / mainDeph;
double ydist = 0;
double maxDist = (maxFieldOfView - minFieldOfView);
if (ydNormalized > maxFieldOfView)
{
ydist = ydNormalized - maxFieldOfView;
maxDist = 1 - maxFieldOfView;
//ydNormalized = 0;
//return 0;
}
else
{
if (ydNormalized < minFieldOfView)
{
ydist = minFieldOfView - ydNormalized;
maxDist = minFieldOfView;
//ydNormalized = 0;
//return 0;
}
else
{
ydist = 0; // im field of view
maxDist = 0;
}
}
if (maxDist != 0)
{
ydist = ydist / maxDist;
}
ydNormalized = 1.0 - ydist;
// Test only
if (ydNormalized > 1)
ydNormalized = 1;
if (ydNormalized < 0)
ydNormalized = 0;
ydNormalized = Math.Sqrt(ydNormalized);
ydNormalized = Math.Sqrt(ydNormalized);
ydNormalized = Math.Sqrt(ydNormalized);
ydNormalized = Math.Sqrt(ydNormalized);
// ydNormalized = Math.Sqrt(ydNormalized);
return ydNormalized;
}