python网格划分_在python中创建一个2d网格

这篇博客探讨了如何在Python中创建一个2D同心圆网格。作者首先提供了从笛卡尔坐标到极坐标的转换函数,然后展示了两种不同的方法来实现同心圆和等间距线的绘制。第一种方法直接绘制圆和线,而第二种方法通过细分网格来实现。最终,作者指出,对于这种需求,第二种方法中的线条绘制部分可能是最适用的。
摘要由CSDN通过智能技术生成

我真的很喜欢编程……

但这是我的问题:

我不能发布图像,但我想要的图是一个“冠”(两个半径为a的同心圆)

我的意思是,在数学上讲这很容易定义,但我怎么能用python程序呢?

我想到了这样的事情:

def Fm1(X, Y):

r =r = sqrt(1.*X**2+1.*Y**2)

cos = 1.*X/r

sin = 1.*Y/r

teta = where( sin >= 0. , arccos(cos) , -arccos(cos) )

teta = where(r == 0. , 0., teta)

return r, teta

def F(r,teta):

X = r*cos(teta)

Y = r*sin(teta)

return X,Y

这些只是让你从笛卡儿传递到极坐标的函数,然后:

r=sy.linspace(a,b,N+1) # radius division

t=sy.linspace(0,2.*pi,2**NN) #angle (theta) division

R,T=meshgrid(r,t) #creating a mesh

X,Y = F(R,T)#transform from polar to cartesian

#Plotting :

fig=plt.figure()

ax=fig.add_subplot(111)

ax.plot(X, Y)

plt.show()

但结果是:同心多边

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python有很多用于有限元网格划分的工具和库,其一种广泛使用的是`pygmsh`。 `pygmsh`是一个基于Python的开源库,提供了一个简单易用的接口,用于生成和操纵几何网格。它使用了Gmsh软件的核心库,它是一个功能强大的开源三维有限元网格生成器。 使用`pygmsh`,可以通过使用简单的代码定义几何形状并生成网格。首先,我们需要导入`pygmsh`库并创建一个`pygmsh.geo.Geometry`对象。然后,可以使用一系列的几何操作(如点、线、弧和曲线等)来定义几何形状。接下来,可以使用生成网格的参数设置网格的分辨率和精度等。最后,使用`generate_mesh()`方法生成网格,并将其保存到文件。 以下是一个简单的示例,用于使用`pygmsh`生成一个二维矩形网格: ```python import pygmsh geom = pygmsh.geo.Geometry() # Define the geometry rectangle = geom.add_rectangle(-1, 1, -1, 1, 0, 1) # Set mesh resolution and generate the mesh geom.set_mesh_resolution(0.1) mesh = geom.generate_mesh() # Save the mesh to a file mesh.write("rectangle.msh") ``` 上述代码,我们首先创建一个2D的矩形几何形状,并设置了网格的分辨率为0.1。然后,使用`generate_mesh()`方法生成网格,并将其保存到名为"rectangle.msh"的文件。 除了`pygmsh`,还有其他一些用于有限元网格划分Python库,如`meshpy`、`pygalmesh`和`meshio`等。这些库都提供了类似的功能,使得在Python进行有限元网格划分变得更加简单和方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值