是否存在可以对数缩放x和/或y轴的变换矩阵?

Dav*_*e M 5 math wpf transform matrix

我正在使用.net WPF几何类来绘制波形图.我一直在使用矩阵变换将屏幕坐标空间转换为波形的坐标空间.一切都很好,跟踪我的窗口和缩放等非常简单.我甚至可以使用逆变换来计算坐标空间方面的鼠标位置.我使用内置的Scaling和Translation类,然后使用自定义矩阵进行y轴翻转(没有用于翻转的预制矩阵).我希望能够在对数刻度上绘制这些波形(x轴或y轴或两者),但我不确定这是否可能与矩阵变换有关.有谁知道这是否可能,如果是,矩阵是什么?

Rob*_*lan 2

矩阵是线性变换,因此它们可以缩放、旋转等。但它们不能对数拉伸。这是一个非线性变换。

编辑:但是您应该能够自己进行此操作,而不会遇到不必要的麻烦。(不需要 lin alg 的知识。)我的意思是,如果您希望 x 轴采用对数刻度,请取您正在绘制的 x 坐标的对数。棘手的部分是使比例图例在图表的一侧起作用 - 归结为将每个比例值从 x 转换为 10^x (或您正在使用的任何对数基数)。

所以传说是这样写的:

1     10    100   1000
Run Code Online (Sandbox Code Playgroud)

代替

1      2      3      4
Run Code Online (Sandbox Code Playgroud)