Вопрос к сообществу программистов по поводу авторства - страница 2

 
fxsaber:

Если вопрос касался Canvas.mqh, то точно есть без сглаживания.


Да, я видел. Класс!!!

Жаль, что в Canvas.mqh без сглаживания.

А я все же хочу заразить MQL сглаживанием. 

Сглаженный круг, казалось бы простая задача, но столько подводных камней и сложностей, особенно если центр окружности и радиус не целое число. И самое прикольное, не нашел готовых алгоритмов, возможно плохо искал. 
Уже четвертый раз полностью переделываю алгоритм и все равно не доволен.

Вот пока что получилось.

Можно выбрать вариант со сглаживанием, и без сглаживания(FillCircle). Разница весьма очевидна. Не понимаю, правда, почему окружности без сглаживания прыгают. Возможно это баг в функции FillCircle(), т.к. просто пишу:

while(!IsStopped())
     {
      canvas.Erase(0);
      for(int i=0;i<Ncirl;i++)
        {
         double r1=((MaxSizeCircle-30)/2)+30+cos(r2[i]+x/r[i])*((MaxSizeCircle-30)/2);
         double X= Width/2+cos(x2[i]+x/k1[i])*(Width-2*r1)/2;
         double Y=Height/2+cos(y2[i]+x/k2[i])*(Height-2*r1)/2;
         if(typ==сглаженные_окружности) canvas.CircleD(X,Y,r1,col[i]);
         else                           canvas.FillCircle((int)round(X),(int)round(Y),(int)round(r1),col[i]);
        }
      Sleep(pause);
      canvas.Update();
      x+=Step;
     }
Файлы:
 
fxsaber:

В чем смысл поворота?

В чем практический смысл аналоговых часов?
 
Vasiliy Sokolov:
В чем практический смысл аналоговых часов?

По-моему, очевидно, что данный пример создавался fxsaber -ом не для практического применения, а как демонстрация возможностей Canvas. И это может послужить хорошей шпаргалкой для тех, кто захочет расширить возможности своих работ, используя Canvas.

 
Nikolai Semko:

Не понимаю, правда, почему окружности без сглаживания прыгают. Возможно это баг в функции FillCircle()

Понял. Это не баг. Просто в моем варианте плавного "плавания" и трансформации окружностей при округлении r, x и y целочисленный "скачок" у радиуса и координат происходит в разное время. Отсюда и "прыжки" на один пиксель.
 
Vasiliy Sokolov:
В чем практический смысл аналоговых часов?

История с часами. Там и про Маркет и про возможности и про эстетику.

Смотрю время по часам. Можно смотреть это же время в виде секунд, представленных в семеричной системе счисления. Есть разные виды получения одной и той же информации.