可视化某些集合

计算科学 可视化 绘图
2021-12-09 12:27:38

我不确定这个问题是否适合这个网站,所以如果不适合,我提前道歉。

出于我正在从事的某个项目的目的,我希望以 3D 形式绘制以下集合:A={(x1,x2,x3)R3:x1x2,x3=0}

B={(x1,x2,x3)R3:x1=x2x30}

C={xR3:x1x2=x30}.

请注意,这些不是子空间。我不知道任何类型的数学软件,但是如果有人可以让我知道如何在(最好是免费的)程序中以 3D 绘制这些集合,那么我将不胜感激。

你看,我想绘制 3 个不同的超平面会很容易,但是这些集合不是超平面的事实(我相信它们是三角形的)使得它更难。我还想找到每个三角形的角度。

我刚刚阅读了有关 gnu-plot 的信息。也许这会有所帮助?

谢谢。

1个回答

我认为您最好尝试了解这些集合是什么,然后您可以使用任何 3D 绘图工具(例如 GNU Plot、MATLAB、带有 matplotlib 的 Python 等)来绘制它们。以下是一些提示:

  • 集合定义的每个部分都定义了一个平面。该集合被限制在由等式定义的平面上,并由不等式定义的平面为界。
  • 每个不等式将集合限制为平面的一半或另一半。您可以绘制由“等式平面”和每个“不等式平面”的交点表示的线,以识别平面上集合的边界。
  • 您可以根据平面上的拾取点轻松确定平面的哪些部分在您的集合内部或外部,并针对不等式进行测试。

基本思想是找到相等平面,然后在这个平面上找到集合的边界。然后,您可以根据此信息绘制集合(或其中的一部分,因为在这些情况下它是一个无限三角形区域)。为您的套装完成此过程C给出了使用 MATLAB 中的线条和补丁制作的以下图形。Python 是免费的,并且使用 matplotlib 具有类似的功能(例如http://matplotlib.org/examples/mplot3d/polys3d_demo.html)。

阴谋x2=x3
平面,x2=x3

在这个平面上绘制集合边界(红色虚线),它们只是与等式平面相交的不等式平面:
设定界限

找出相关区域(例如,通过选择点和测试不等式)并仅绘制该区域,这是您的集合:
最后一组