Discusión sobre el artículo "¡Visualice esto! La biblioteca gráfica en MQL5 como un análogo de plot en el lenguaje R" - página 5
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Todos los métodos de suavizado dependen en gran medida de la opacidad de las líneas. Alrededor del 50% de opacidad todo se vuelve sin suavizar y tiene artefactos.
Ahora hay artefactos incluso con líneas totalmente opacas.
Estábamos hablando de intentar dibujar un círculo totalmente opaco con bordes suavizados (utilizando el algoritmo de Wu) sin perder suavidad.
Esto requiere métodos especiales de relleno con bordes suavizados.
Ahora hay artefactos incluso con líneas completamente opacas.
Se trataba de intentar dibujar un círculo completamente opaco con bordes suavizados (utilizando el algoritmo de Wu) sin pérdida de suavidad.
Esto requiere métodos especiales de relleno con bordes suavizados.
¿Entiendo que no puedes hacerlo tú mismo?
¿Me doy cuenta de que no puedo hacerlo solo?
¿Por qué no? Inténtalo. )
Incluso puedes resolver el caso que mencionas:
Foro sobre trading, sistemas automatizados de trading y prueba de estrategias de trading
Discusión del artículo "¡Visualízalo! Librería gráfica en MQL5 como análogo de plot de R"
Artyom Trishkin, 2023.07.31 12:39 AM
Todos los métodos de suavizado dependen fuertemente de la opacidad de la línea. Alrededor del 50% de opacidad todo se vuelve no suave y tiene artefactos.
Es decir, la representación en un lienzo totalmente transparente (CCanvas) se puede hacer teniendo en cuenta la capa inferior (gráfico y otros objetos) y será sin artefactos.
Pero parece bastante engorroso. Tampoco está claro cuánto afectará al rendimiento. Me gustaría que los desarrolladores del terminal arreglaran este error.
¿Por qué no? ¡Pruébalo! )
Incluso puedes resolver el caso que mencionas:
Es decir, la renderización en un lienzo totalmente transparente (CCanvas) se puede hacer teniendo en cuenta la capa inferior (gráfico y otros objetos) y estará libre de artefactos.
Pero parece bastante engorroso. Tampoco está claro cuánto afectará al rendimiento. Me gustaría que los desarrolladores del terminal arreglaran este error.
Yo enviaría tal tarea (si no los desarrolladores, pero los miembros del foro) a Nikolai @Nikolai Semko para la solución ;)
Yo enviaría tal tarea (si no a los desarrolladores, sino a los miembros del foro) a Nikolai @Nikolai Semko para que la resolviera ;)
Él trabaja con un solo lienzo.
Y yo no estoy dispuesto a reescribir mi biblioteca de gráficos para hacer que todo funcione en un solo lienzo.
Aunque es interesante, pero sabiendo el tiempo que puede llevar, de momento no me decido a acometer semejante reto. Ahora no tengo tanto tiempo como antes.
Sólo funciona con un lienzo.
Y no estoy dispuesto a reescribir mi biblioteca de gráficos para que todo funcione en un solo lienzo.
Aunque es interesante, pero sabiendo el tiempo que me podría llevar no puedo decidirme a emprender semejante reto por el momento. Ahora no tengo tanto tiempo como antes.
Bueno, es un algoritmo. ¿Qué más da en un lienzo o en varios?
Bueno, es un algoritmo. ¿Qué más da que sea en un lienzo o en varios?
Hemos discutido dos problemas:
1. Si es el que yo planteaba en un principio, entonces una solución algorítmica sería suficiente para algunos casos.
2. Si es el que mencionaste, entonces un par de funciones no servirán aquí. Necesitas un esquema en el que todas las capas se almacenen en arrays. Cada capa debe dibujarse teniendo en cuenta lo que se dibuja en las capas por debajo de ella. Además, todos los métodos de la clase CCanvas deben ser corregidos. El color de cada píxel debe mezclarse con el de debajo, teniendo en cuenta la transparencia. Así no habrá artefactos (huecos, bordes dentados, etc.). Si lo haces bien, puedes implementar la translucidez con desenfoque. Todo esto es bastante fácil de implementar en un solo lienzo. Pero cuando se utilizan varios lienzos, es mucho más difícil de implementar.
Sólo funciona con un lienzo.
Y no estoy dispuesto a reescribir mi biblioteca de gráficos para que todo funcione en un solo lienzo.
Aunque es interesante, pero sabiendo el tiempo que podría llevar no puedo decidirme a emprender semejante reto por el momento. Ahora no tengo tanto tiempo como antes.
Hablamos de dos retos:
1. Si es al que me refería en un principio, para algunos casos bastaría con una solución algorítmica.
2. Si es el que mencionabas, entonces un par de funciones no serán suficientes. Necesitas un esquema en el que todas las capas se almacenen en arrays. Cada capa debe ser dibujada teniendo en cuenta lo que se dibuja en las capas por debajo de ella. Además, todos los métodos de la clase CCanvas deben ser corregidos. El color de cada píxel debe mezclarse con el de debajo, teniendo en cuenta la transparencia. Así no habrá artefactos (huecos, bordes dentados, etc.). Si lo haces bien, puedes implementar la translucidez con desenfoque. Todo esto es bastante fácil de implementar en un solo lienzo. Pero cuando se utilizan varios lienzos, es mucho más difícil de implementar.
Pensaba que sólo me refería al algoritmo de suavizado. Sin tener en cuenta la superposición de lienzos transparentes entre sí. Aunque... Si los superpones, seguramente aparecerán nuevos problemas. Por eso me refería a Nikolay - ya ves, él tiene todas las conexiones neuronales desde hace mucho tiempo, y su cerebro probablemente ya está pensando por sí mismo teniendo en cuenta todos los posibles problemas con el lienzo).
Pensaba que sólo hablaba del algoritmo de alisado. Sin hacer referencia a la superposición de lienzos transparentes unos sobre otros. Aunque... Si los superpones, seguramente aparecerán nuevos problemas. Por eso me refería a Nikolay - ya ves, él tiene todas las conexiones neuronales desde hace mucho tiempo, y su cerebro probablemente ya está pensando por sí mismo teniendo en cuenta todos los posibles problemas con el lienzo).
Artem, en realidad no son tareas triviales que requieren nuevas conexiones neuronales. Por ejemplo, en SVG hay un concepto como viewBox. Ya he visto un montón de vídeos sobre cómo funciona, he leído un montón de documentación, he escrito un montón de código, y aún así a veces me quedo perplejo. Todavía no tengo las conexiones neuronales necesarias, aunque varias veces parecía que lo había descifrado todo.