【问题标题】:Representation of 3D polytope in 2D3D 多面体在 2D 中的表示
【发布时间】:2020-10-14 13:56:55
【问题描述】:


我正在与多面体表示作斗争。
我有一组定义凸多面体的顶点(3D)。我想绘制它。
我可以轻松地以 3D 表示整个多面体或以 2D 表示它的投影。但我找不到一个包(在 R 或 Python 中)以 2D 表示它,第三个组件由图上的颜色表示。
例如,如果我有这样一组顶点:

array([[0., 0., 0.],
       [1., 0., 0.],
       [0., 1., 0.],
       [1., 1., 0.],
       [0., 0., 1.],
       [1., 0., 1.]])

在 3D 中你会得到:

我想要的是 Z 轴上的上包络线,看起来应该像这样:

(当然减去轮廓......)。如果您知道如何解决此表示问题,我会全力以赴!
谢谢

【问题讨论】:

    标签: python r plot


    【解决方案1】:

    首先,重塑数组,然后使用您喜欢的包进行绘图,例如。 seaborn 或 matplotlib:

    import numpy as np
    import seaborn as sns
    import matplotlib.pyplot as plt
    
    m = [[0., 0., 0.],
         [1., 0., 0.],
         [0., 1., 0.],
         [1., 1., 0.],
         [0., 0., 1.],
         [1., 0., 1.]]
    
    data = np.asarray(m).reshape(3,6)[::-1]
    sns.heatmap(data, cmap = 'jet')
    #plt.imshow(data)
    plt.xlabel('level 1')
    plt.ylabel('level 2')
    

    也许这会有所帮助!

    【讨论】:

    • 感谢您的回答,但我不确定它是否有帮助。你做的图与多面体的投影无关,在这个例子中我选择了一个简单的,但没有理由让多面体有平方投影。此外,我想利用它是一个多面体而不是一组简单的顶点这一事实。
    猜你喜欢
    • 2011-03-10
    • 1970-01-01
    • 2021-06-05
    • 2011-01-21
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2015-12-18
    相关资源
    最近更新 更多