Здравствуйте, ShimoN, Вы писали:
MS>>abs(X*X + Y*Y — R*R)
MS>>Это будет значение оценочной функции. Далее выполняем три пробных шага — вычисляем для (X+1,Y), (X,Y+1) и (X+1,Y+1) и шагаем в ту сторону, в которой значение оценочной функции минимально.
SN>Хм... Что за оценочная функция??? Что она оценивает??? Я не очень понял эту математику.
Это теорема Пифагора. X,Y — катеты, R — гипотенуза (в преположении, что центр окружности нажодится в начале координат).
SN>Главной проблемой для меня является как раз определение в каком квадранте начинается и в каком заканчивается дуга, а также, зная что рисуется дуга против часовой стрелки, как определить в какие квадранты она вообще пересекает. А зная это, я смогу воспользоваться процедурой наподобии описанной в первом посте для круга но только первую половину рисовать от какой-то точки и вторую.
Для определения квадранта надо определить угол. Если у нас угол задан не значением, а неким вектором (X,Y), то для вычисления значения есть функция atan2(Y,X).
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.