Estoy usando las clases de geometría .net WPF para graficar formas de onda. He estado usando las transformaciones matriciales para convertir el espacio de coordenadas de la pantalla a mi espacio de coordenadas para la forma de onda. Todo funciona muy bien y es realmente simple hacer un seguimiento de mi ventana y escala, etc. Incluso puedo usar la transformación inversa para calcular la posición del mouse en términos del espacio de coordenadas. Utilizo las clases integradas de Escalado y Traducción y luego una matriz personalizada para hacer el volteo del eje y (no hay una matriz prefabricada para voltear). También quiero poder graficar estas formas de onda en una escala logarítmica (ya sea eje x o eje y o ambos), pero no estoy seguro de si esto es posible con una transformación matricial. ¿Alguien sabe si esto es posible, y si lo es, cuál es la matriz?¿Existe una matriz de transformación que pueda escalar logarítmicamente el eje xy/o?
Respuesta
Las matrices son transformaciones lineales, por lo que pueden escalar, rotar, etc. Pero no se pueden estirar logarítmicamente. Esa es una transformación no lineal.
EDITAR: Pero deberías poder tirar esto tú mismo, sin demasiados problemas. (No requiere conocimiento de lin alg.) Quiero decir, si desea que el eje x esté en una escala logarítmica, tome el registro de las coordenadas x que está graficando. La parte difícil es hacer que la leyenda de la escala funcione en el lado del gráfico, que se reduce a transformar cada valor de escala de x a 10^x (o cualquier base de logaritmo que esté usando)
Entonces la leyenda léase:
1 10 100 1000
en lugar de
1 2 3 4
Bueno, claramente la matriz sería la siguiente:
(log(x)/x 0 ) (x) = (log(x))
( 0 log(y)/y) (y) = (log(y))
Pero eso obviamente no es útil. No puede escribir una matriz constante para hacer una transformación no lineal.
- 1. ggplot2 eje transformación por el factor constante
- 2. ¿Existe una versión de kdevelop que pueda instalar en Windows?
- 3. JavaScript, objeto de transformación en una matriz
- 4. ¿Existe una SqlConnection existente que pueda usar en LinqPad?
- 5. geom_smooth() - y escalar el eje Y, perder datos del suavizado
- 6. ¿Se puede forzar una referencia escalar o de matriz para que sea una matriz en Perl?
- 7. Formas de aplanar una matriz Perl en el contexto escalar
- 8. Error en la transformación de web.config cuando no existe ningún valor para una transformación
- 9. transformación de etiquetas de eje con un multiplicador ggplot2
- 10. ¿Implementación real de la transformación del eje medial?
- 11. ¿Existe una biblioteca js que pueda generar una paleta de colores a partir de una imagen?
- 12. Cálculo de una matriz de transformación 2D a partir de una matriz 2D inicial y resultante
- 13. Convierta la matriz de transformación Affine 2D a la matriz de transformación afín 3D
- 14. ¿Existe alguna función que pueda calcular una puntuación para secuencias alineadas dados los parámetros de alineación?
- 15. Representación de matriz de transformación de radón
- 16. ¿Hay una biblioteca de Ruby que pueda poner una matriz de matrices en una tabla ascii?
- 17. ¿Existe una API de WebGL de la que pueda leer/aprender?
- 18. Cómo hacer que el ancho de trazo sea inmune a la matriz de transformación actual
- 19. ¿Existe un identificador único de computadora que se pueda usar confiablemente incluso en una máquina virtual?
- 20. ¿Existe una biblioteca Python que pueda simular tráfico de red desde diferentes direcciones?
- 21. ¿Existe una base de datos SQL que pueda retrotraerse a tiempo?
- 22. ¿Existe una API o herramienta que pueda automatizar la actualización de software?
- 23. ¿Existe una biblioteca multiplataforma de puertos serie C++ que pueda enumerar puertos?
- 24. ¿Existe una API de Subversion que se pueda usar para programar en .NET
- 25. ¿Existe una lista de valores que pueda usar para objectClass y objectCategory?
- 26. ¿Hay un plugin js que convierta el parámetro de matriz a la propiedad de transformación css3?
- 27. No se puede utilizar un valor escalar como una matriz
- 28. ¿Existe un atributo que pueda agregar a una clase para que se edite como código, no en el diseñador?
- 29. ¿Cómo se serializa una matriz JS para que Asp.net MVC pueda vincularla a una lista C#?
- 30. Buscando un host que pueda manejar Haskell
Mucho esto. –
gracias, sí, pensé que podría ser el caso, ¿tal vez haya una manera de crear mi propia implementación de la clase Transform para hacer cosas no lineales? La clase base abstracta Transform todavía parece usar una matriz, y esta es probablemente una necesidad para hacer las transformaciones compuestas, por lo que quizás tampoco sea posible. Supongo que tendré que hacer un escalado de registro yo mismo. Gorrón. –
Ha pasado demasiado tiempo desde que tomé álgebra lineal –