Python 马雅维中与圆锥体相交的线

Python 马雅维中与圆锥体相交的线,python,geometry,mayavi,Python,Geometry,Mayavi,我是myavi新手,我可以在mayavi2程序中打开示例脚本,或者从python3脚本中打开mayavi场景(我有kubuntu 18.04)。我编写了简单的代码来说明这个问题。通过反复试验的方法,我可以在一个场景中以某种方式显示(双)圆锥体和直线。(也许这是不对的)。但我不能强迫玛雅维展示前面和后面的东西。我的意思是无论我选择什么视角,线条似乎总是可见的。我以前也遇到过双曲面和复杂3d轨迹(plot3d())的同样问题。 两个物体能相互“交流”吗?交叉点,也许是阴影? 这是我的密码: #! /

我是myavi新手,我可以在mayavi2程序中打开示例脚本,或者从python3脚本中打开mayavi场景(我有kubuntu 18.04)。我编写了简单的代码来说明这个问题。通过反复试验的方法,我可以在一个场景中以某种方式显示(双)圆锥体和直线。(也许这是不对的)。但我不能强迫玛雅维展示前面和后面的东西。我的意思是无论我选择什么视角,线条似乎总是可见的。我以前也遇到过双曲面和复杂3d轨迹(
plot3d()
)的同样问题。 两个物体能相互“交流”吗?交叉点,也许是阴影? 这是我的密码:

#! /usr/bin/env python3
# -*- coding: utf-8 -*- 

import numpy as np
from mayavi import mlab

x, y, z = np.ogrid[-4:4:100j, -4:4:100j, -4:4:100j]
r = 0.5
# cone equation:
F = x**2 + y**2 - r*z**2

mlab.contour3d(F, contours = [0], extent=[-3,3,-3,3,-3,3], opacity=1.0)
mlab.axes()

q = np.linspace(0, 100, 20)
# points forming a line 
x1 = np.linspace(-1, -1.01, 20)
y1 = np.linspace(1, 1.01, 20)
z1 = np.linspace(-3, 3, 20)

mlab.plot3d(x1, y1, z1, q ) 

mlab.show()