Артемий,
не могли бы вы немного уточнить вопрос?
Может быть, вы имели в виду неопределенность при вычислении АРКтангенса?
Если так, то во многих языках программирования есть функция atan2(y,x) вычисления арктангенса по двум катетам. Она прекрасно справляется с "неопределенностью", т.е. находит угол в нужном квадранте.
Если же такой функции нет, а есть только atan(theta), то можно написать atan2(y,x) самому:
// Учтем, что theta = y/x.
double atan2(double y, double x) {
if (x > 0) {
theta = arctan(y/x);
}
if (x < 0) {
theta = arctan(y/x) - 180;
}
if (x == 0) {
if y > 0 {
theta = 90;
}
if (y < 0) {
theta = -90;
}
if (y == 0) {
theta = NAN;
}
}
return theta;
}