我正在使用.NET WPF几何类来绘制波形图。我一直在使用矩阵变换将屏幕坐标空间转换为我的坐标空间,这样非常简单,可以轻松跟踪窗口和缩放等。我甚至可以使用逆变换来计算鼠标位置的坐标。我使用内置的缩放和平移类,然后使用自定义矩阵来进行y轴翻转(没有现成的矩阵可用于翻转)。我希望能够在对数刻度上绘制这些波形图(无论是x轴还是y轴或两者都是),但我不确定是否可以通过矩阵变换实现。有人知道是否可能以及如果可能的话,应该使用什么矩阵吗?
1 10 100 1000
1 2 3 4
嗯,显然矩阵会是这样的:
( log(x) / x 0 ) ( x ) = ( log(x) )
( 0 log(y) / y ) ( y ) = ( log(y) )
但这显然没有用。你不能编写一个常数矩阵来进行非线性变换。