【发布时间】:2015-03-29 17:48:11
【问题描述】:
我正在 ipython 笔记本中开发一些关于数值方法的讲义,我需要包含一些坐标变换函数。我已经编写了这些函数(如下),但细节并不是主题的基础,如果我可以调用预先编写的函数,它将简化讲座。
我看到scipy图像旋转功能,但我只需要坐标平移和旋转。即
# transform from global to panel coordinates
def transformXY( self, x, y ):
xp = x-self.xc
yp = y-self.yc
xpp = xp*self.sx+yp*self.sy
ypp = yp*self.sx-xp*self.sy
return [ xpp, ypp ]
# rotate velocity back to global coordinates
def rotateUV( self, u, v):
up = u*self.sx-v*self.sy
vp = v*self.sx+u*self.sy
return [ up, vp ]
其中,sx 和 sy 是单位切向量分量。
【问题讨论】:
-
您还可以将自己的函数移动到单独的 .py 文件中,然后从那里导入它们。这样他们的内部就隐藏在笔记本中了。
-
我想说@PeterE 的评论应该是一个可以接受的答案
-
@weymouth in this answer 它展示了我如何使用 NumPy 实现通用笛卡尔坐标系转换
-
@weymouth 这些方法是类的吗?如果不是,您可能不应该使用名称
self。 -
@Roland。是的,他们是。