我想使用matplotlib绘制坐标系统的坐标线(例如笛卡尔坐标系)。
然后我想使用一些线性变换(倾斜,缩放,旋转等)来变换它们,我想绘制系统的这个变换版本。
我对matplotlib很新,我不知道如何做到这一点。有什么建议吗?
这样的事情:
不必与上面的图相同,我只想绘制线条(以及形状及其转换版本)。
编辑:如果你有一个MATLAB解决方案,我也会接受它。
答案 0 :(得分:1)
这可以让你开始走上正确的轨道
func imagePressed(gestureRecognizer: UITapGestureRecognizer)
{
print("image pressed \(gestureRecognizer)")
let tappedImageVIew = gestureRecognizer.view as! UIImageView
print("image pressed \(tappedImageVIew.tag)")
}
答案 1 :(得分:1)
user2539738's answer演示了如何在绘图中绘制网格。下一步是应用转换。这是一种数学运算,可以描述为x和y坐标的函数。例如,剪切变换就像您的示例图像 -
# Transformed grid
for x in xx:
(x1, y1) = my_transform(x, min(yy))
(x2, y2) = my_transform(x, max(yy))
plt.plot([x1,x2],[y1,y2],color='r')
for y in yy:
(x1, y1) = my_transform(min(xx), y)
(x2, y2) = my_transform(max(xx), y)
plt.plot([x1,x2],[y1,y2],color='r')
考虑到这一点,您可以绘制转换后的网格。您只需计算新坐标:
x, min(yy)
将变换后的网格绘制成红色。第一个for循环绘制了网格的垂直线(从点x, max(yy)
到for character in "Dog!".characters {
print(character)
}
for character in "Dog!".unicodeScalars {
print(character)
}
),第二个绘制了水平线。变换函数应用于原始点对,以计算变换线的新端点。