Uso le classi di geometria .net WPF per rappresentare le forme d'onda. Ho usato le trasformazioni della matrice per convertire dallo spazio delle coordinate dello schermo al mio spazio di coordinate per la forma d'onda. Tutto funziona alla grande ed è molto semplice tenere traccia della mia finestra e del ridimensionamento, ecc. Posso persino usare la trasformazione inversa per calcolare la posizione del mouse in termini di spazio delle coordinate. Io uso le classi di Scaling and Translation e poi una matrice personalizzata per fare il capovolgimento dell'asse y (non c'è una matrice prefabbricata per il flipping). Voglio essere in grado di tracciare queste forme d'onda anche su una scala di registro (o asse xo asse y o entrambi), ma non sono sicuro che ciò sia possibile anche con una trasformazione di matrice. Qualcuno sa se questo è possibile, e se lo è, qual è la matrice?Esiste una matrice di trasformazione in grado di scalare logaritmicamente l'asse xe/o y?
risposta
Le matrici sono trasformazioni lineari, quindi possono ridimensionarsi, ruotare, ecc. Ma non possono estendersi logaritmicamente. Questa è una trasformazione non lineare.
EDIT: Ma dovresti riuscire a farlo da solo, senza inutili problemi. (Non richiede una conoscenza di lin alg.) Voglio dire, se vuoi che l'asse x sia su una scala logaritmica, prendi il log delle coordinate x che stai rappresentando. La parte difficile è far funzionare la legenda della scala sul lato del grafico, che si riduce a trasformare ciascun valore di scala da x a 10^x (o qualsiasi base di logaritmo che si sta usando)
Quindi la leggenda sarebbe leggi:
1 10 100 1000
anziché
1 2 3 4
Ebbene, chiaramente la matrice sarebbe questo:
(log(x)/x 0 ) (x) = (log(x))
( 0 log(y)/y) (y) = (log(y))
Ma ovviamente non è utile. Non è possibile scrivere una matrice costante per eseguire una trasformazione non lineare.
- 1. Matrice di trasformazione Qt
- 2. JavaScript, oggetto di trasformazione in una matrice
- 3. Offset matrice di trasformazione affine
- 4. Esiste una libreria Ruby in grado di mettere una matrice di array in una tabella ascii?
- 5. Come impostare una matrice di trasformazione arbitraria su una vista?
- 6. Rappresentazione matrice di trasformazione radon
- 7. Determinazione della matrice di trasformazione
- 8. OpenGL: implementazione matrice di trasformazione stack
- 9. Opencv multiplo scalare e matrice
- 10. Chrome v49 letter-spacing in SVG con matrice di trasformazione
- 11. Passaggio di matrice, scalare e hash alla subroutine in Perl
- 12. Come rappresentare la matrice di trasformazione Compact isometry in Eigen?
- 13. Esiste una buona libreria Python in grado di analizzare C++?
- 14. Memorizzare efficientemente una matrice grande ma di basso grado
- 15. Conversione di una trasformazione affine Eigen in una trasformazione isometrica Eigen
- 16. Il browser Android è in grado di eseguire una trasformazione xsl?
- 17. Utilizzo di entrambi scalare e matrice nel puntatore intelligente
- 18. Norma vettoriale di una matrice di vettori in MATLAB
- 19. Algoritmo di trasformazione affine
- 20. Vorrei aggiungere uno scalare a una sola riga di una matrice
- 21. Animazione di una trasformazione CSS con jQuery
- 22. Come eseguire la moltiplicazione matrice-scalare in TensorFlow?
- 23. Efficiente matrice 4x4 inversa (trasformazione affine)
- 24. Calcolare l'angolo dalla trasformazione a matrice
- 25. E 'possibile applicare una trasformazione matrice per un effetto di filtro SVG
- 26. Come posso applicare una matrice di trasformazione a un punto in OpenCV?
- 27. Scomporre la trasformazione della matrice complessa in una serie di semplici trasformazioni?
- 28. 3D matrice di skew trasformazione lungo un asse delle coordinate
- 29. Dove posso trovare una spiegazione di tutti i campi della matrice di trasformazione?
- 30. Esiste un codice a una riga per trovare il valore massimo in una matrice?
Molto questo. –
grazie, sì, ho pensato che potrebbe essere il caso, forse c'è un modo per creare la mia implementazione della classe Transform per fare cose non lineari? La classe di base astratta Transform sembra ancora utilizzare una matrice, e questa è probabilmente una necessità per fare le trasformazioni composite, quindi forse neanche questo è possibile. Suppongo che dovrò fare il ridimensionamento dei log da solo. Bummer. –
è passato troppo tempo da quando ho preso l'algebra lineare –