Discussão do artigo "Visualize isto! Biblioteca gráfica em linguagem MQL5 como equivalente a plot de R" - página 5
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Todos os métodos de suavização são altamente dependentes da opacidade da linha. Com cerca de 50% de opacidade, tudo se torna sem serrilhado e apresenta artefatos.
Agora, há artefatos mesmo com linhas totalmente opacas.
Estávamos falando sobre a tentativa de desenhar um círculo totalmente opaco com bordas suavizadas (usando o algoritmo de Wu) sem perder a suavidade.
Isso requer métodos especiais de preenchimento com bordas suavizadas.
Agora há artefatos mesmo com linhas completamente opacas.
Tratava-se de tentar desenhar um círculo totalmente opaco com bordas suavizadas (usando o algoritmo de Wu) sem perda de suavidade.
Isso requer métodos especiais de preenchimento com bordas suavizadas.
Entendo que você não pode fazer isso sozinho?
Percebo que não posso fazer isso sozinho?
Por que não? Tente! )
Você pode até resolver o caso que mencionou:
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Discussão do artigo "Visualize it! Biblioteca gráfica em MQL5 como um análogo do plot do R"
Artyom Trishkin, 2023.07.31 12:39 AM
Todos os métodos de suavização dependem muito da opacidade da linha. Com cerca de 50% de transparência, tudo se torna não suave e apresenta artefatos.
Ou seja, desenhar em uma tela totalmente transparente (CCanvas) pode ser feito levando-se em conta a camada inferior (gráfico e outros objetos) e não haverá artefatos.
Mas isso parece um pouco complicado e incômodo. Também não está claro o quanto isso afetará o desempenho. Eu ainda gostaria que os desenvolvedores do terminal corrigissem esse bug.
Por que não? Experimente! )
Você pode até resolver o caso que mencionou:
Ou seja, a renderização em uma tela totalmente transparente (CCanvas) pode ser feita levando-se em conta a camada inferior (gráfico e outros objetos) e não haverá artefatos.
Mas isso parece um pouco complicado e incômodo. Também não está claro o quanto isso afetará o desempenho. Eu ainda gostaria que os desenvolvedores do terminal corrigissem esse bug.
Eu enviaria esse problema (se não para os desenvolvedores, mas para os membros do fórum) para Nikolai @Nikolai Semko para que ele fosse resolvido ;)
Eu enviaria essa tarefa (se não for para os desenvolvedores, mas para os membros do fórum) para Nikolai @Nikolai Semko resolver ;)
Ele trabalha com apenas uma tela.
E eu não estou pronto para reescrever minha biblioteca de gráficos para que tudo funcione em uma tela.
Embora seja interessante, mas sabendo quanto tempo isso pode levar, não posso me decidir a enfrentar esse desafio no momento. Agora não tenho mais tanto tempo quanto antes.
Ele só funciona com uma tela.
E não estou pronto para reescrever minha biblioteca de gráficos para que tudo funcione em uma única tela.
Embora seja interessante, mas sabendo quanto tempo isso pode levar, não posso me decidir a enfrentar esse desafio no momento. Agora não tenho mais tanto tempo quanto antes.
Bem, é um algoritmo. Que diferença faz - em uma tela ou em várias?
Bem, é um algoritmo. Que diferença faz se ele está em uma tela ou em várias?
Discutimos dois problemas:
1. Se este for o problema de que eu estava falando originalmente, então uma solução algorítmica seria suficiente para alguns casos.
2. Se for o que você mencionou, então algumas funções não serão suficientes. Você precisa de um esquema em que todas as camadas sejam armazenadas em matrizes. Cada camada deve ser desenhada levando-se em conta o que foi desenhado nas camadas abaixo dela. Além disso, todos os métodos da classe CCanvas devem ser corrigidos. A cor de cada pixel deve ser mesclada com a do pixel abaixo dele, levando em conta a transparência. Assim, não haverá artefatos (lacunas, bordas irregulares, etc.). Se você fizer isso corretamente, poderá implementar a translucidez com desfoque. Tudo isso é bastante fácil de implementar em uma única tela. Porém, quando várias telas são usadas, a implementação é muito mais difícil.
Ele só funciona com uma tela.
E não estou pronto para reescrever minha biblioteca de gráficos para que tudo funcione em uma única tela.
Embora seja interessante, mas sabendo quanto tempo isso pode levar, não posso me decidir a enfrentar esse desafio no momento. Agora não tenho mais tanto tempo quanto antes.
Discutimos dois desafios:
1. Se for aquele de que eu estava falando originalmente, então, em alguns casos, uma solução algorítmica seria suficiente.
2. Se for a que você mencionou, então algumas funções não serão suficientes. Você precisa de um esquema em que todas as camadas sejam armazenadas em matrizes. Cada camada deve ser desenhada levando em conta o que foi desenhado nas camadas abaixo dela. Além disso, todos os métodos da classe CCanvas devem ser corrigidos. A cor de cada pixel deve ser mesclada com a do pixel abaixo dele, levando em conta a transparência. Assim, não haverá artefatos (lacunas, bordas irregulares, etc.). Se você fizer isso corretamente, poderá implementar a translucidez com desfoque. Tudo isso é bastante fácil de implementar em uma única tela. Porém, quando várias telas são usadas, a implementação é muito mais difícil.
Pensei que estava falando apenas sobre o algoritmo de suavização. Sem levar em conta a sobreposição de telas transparentes umas sobre as outras. Embora... Se você as sobrepuser, certamente surgirão novos problemas. É por isso que me referi a Nikolay - veja bem, ele tem todas as conexões neurais há muito tempo e seu cérebro provavelmente já está pensando sozinho, levando em conta todos os possíveis problemas com a tela).
Pensei que estava falando apenas sobre o algoritmo de suavização. Sem nenhuma referência à sobreposição de telas transparentes umas sobre as outras. Embora... Se você as sobrepuser, certamente surgirão novos problemas. É por isso que me referi a Nikolay - veja, ele tem todas as conexões neurais há muito tempo e seu cérebro provavelmente já está pensando sozinho, levando em conta todos os possíveis problemas com a tela).
Artem, essas tarefas realmente não são triviais e exigem novas conexões neurais. Por exemplo, no SVG existe um conceito chamado viewBox. Já assisti a muitos vídeos sobre como ele funciona, li muita documentação, escrevi muito código e, mesmo assim, às vezes fico perplexo. Ainda não tenho as conexões neurais necessárias, mesmo que várias vezes tenha parecido que eu havia entendido tudo.