Canvas - это круто! - страница 93

 
Nikolai Semko #:

Андрей, а Вам просто получить картинку надо или получить картинку именно на MQL5?
Я конечно могу легко визуализировать это, но есть ведь более продвинутые средства для визуализации. 
Вот например ваша формула как выглядит на данном ресурсе:
https://www.desmos.com/3d/887356da26

ой, я там в формуле ошибся
вот правильная формула:
https://www.desmos.com/3d/b06327c043

 
Andrey Dik #:
я не уверен как это сделать, но формула поверхности такая:

на MQL5 картинка похожая

другой масштаб:


частоту и размер точек можно менять в input параметрах 

у меня не лагает даже при размере матрицы точек 500x500 (250 000 точек) 

Лично мое мнение, что построение поверхностей с помощью точек, а не линий и треугольников имеет свои преимущества. Такие как прозрачность и более высокая производительность. Так же можно строить облака, а не поверхности. 

Файлы:
iCanvas_CB.mqh  71 kb
SurfaceDik.mq5  14 kb
 

можно рисовать тепловой картой в зависимости от какой-либо координаты.


Файлы:
SurfaceDik.mq5  15 kb
 
Andrey Dik #:

Вопрос вот в чем, мне нужно рисовать точки на поверхности при оптимизации тестовой функции, не соображу как это сделать.

Должно получится что-то типа такого:

что касается самого вопроса о возможности рисовать на поверхности, то тоже нет проблем.
Добавляем 5 строк кода и готово:


Файлы:
SurfaceDik.mq5  15 kb
 
Потрясающе! Спасибо за помощь с примерами!
 
Nikolai Semko #:

что касается самого вопроса о возможности рисовать на поверхности, то тоже нет проблем.
Добавляем 5 строк кода и готово:

"Рисовать" - имел ввиду другое, программно строить точки на поверхности, точки должны будут "бегать" на поверхности.

Но, эта возможность реально рисовать руками - тоже замечательная возможность.

 
Andrey Dik #:

"Рисовать" - имел ввиду другое, программно строить точки на поверхности, точки должны будут "бегать" на поверхности.

Было бы интересно посмотреть пути сходимости на 3D.

 
fxsaber #:

Было бы интересно посмотреть пути сходимости на 3D.

Да, для этого.
 
fxsaber #:

Было бы интересно посмотреть пути сходимости на 3D.

Да, Броуновское движение завораживает ;)
 
Andrey Dik #:

"Рисовать" - имел ввиду другое, программно строить точки на поверхности, точки должны будут "бегать" на поверхности.

Но, эта возможность реально рисовать руками - тоже замечательная возможность.

Можно по тому же принципу, когда существует bool массив того же размера. Или, если бегающих точек не слишком много, создать массив(размером, равным количеству бегающих точек) индексов основного массива 3d точек, индекс которого равен y*side_size+x
Причина обращения: