首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用粘性绘制三维隐式方程

用粘性绘制三维隐式方程
EN

Stack Overflow用户
提问于 2016-05-01 18:20:32
回答 1查看 1.2K关注 0票数 2

由于服务器GPU的限制,我们不能使用K在VPS上呈现隐式方程,下面是我们用mayavi中的方程生成三维模型的示例代码

代码语言:javascript
复制
import numpy as np
from mayavi import mlab

mlab.clf()
x, y, z = np.mgrid[-2.5:2.5:.125, -2.5:2.5:.125, -2.5:2.5:.125]
a,b,c = 0.0,-5.0,11.8
values = x**4+y**4+z**4+a*(x**2+y**2+z**2)**2+b*(x**2+y**2+z**2)+c
mlab.contour3d(x, y, z, values, contours=[0], color=(.1,1,.5))

mlab.savefig("shape.obj")

这将在3D中输出此形状。

我的问题是,如何使用vispy或另一个python模块完成相同的任务(如果存在的话)

我们在VPS上没有显卡,我们在windows服务器2008上使用python3.5.1 (anaconda) (无法使用linux),我们已经在system32中用mesa替换了opengl32.dll (GLVersion3.0Mesa10.2.8)(VTK抛出错误GLVersion2.1,不支持gpu_shader4扩展.)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-01 20:26:41

下面是我的问题的答案,这是如何处理粘稠的:

代码语言:javascript
复制
import numpy as np

from vispy import io
from vispy.geometry.isosurface import isosurface

x, y, z = np.mgrid[-2.5:2.5:.125, -2.5:2.5:.125, -2.5:2.5:.125]
a,b,c = 0.0,-5.0,11.8
data = x**4+y**4+z**4+a*(x**2+y**2+z**2)**2+b*(x**2+y**2+z**2)+c
vertices, faces = isosurface(data, level=1/10000000.)
io.write_mesh('shape.obj', vertices, faces , None, None, overwrite=True)

导出一个与上面形状完全相同的波前obj文件。这比使用mayavi要快得多。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36970267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档