我想对夫琅和费衍射进行模拟,为此我选择使用numpy和matplotlib。我需要做的是,指定一个2D光圈函数,为此我可以创建一个包含x和y值的网格,并指定一个函数z(x,y),在这种情况下,这个函数应该很复杂。所有这些听起来并不复杂,但我在这里遇到了一个问题。在
如何定义网格内的矩形或三角形部分,使几何图形内部z=1,外部z=0?在
最小工作示例,从何处开始:
#! /bin/usr/env python
# Import environment
import numpy as np
x_ = np.linspace(0,1,255)
y_ = np.linspace(0,1,255)
x,y = np.meshgrid(x_,y_)
下一步怎么办?在
我试图用不同的方式解决问题:
但是,这对函数z的取值有严格的限制,这也是我寻找不同方法的主要原因。在
非常感谢任何能帮助我的人。在
最简单的两个选项是使用^{} 或使用^{} 。后者稍快一些,但需要安装
mahotas
。在作为第一个选项的示例:
产生(一个布尔numpy数组):
^{pr2}$顺便说一句,
nxutils
将在某个时刻贬值,以支持某些路径方法。将来,您可能会想按照以下思路做一些事情:不过,这只是一时的事。在
相关问题 更多 >
编程相关推荐