zoukankan      html  css  js  c++  java
  • 科学计算三维可视化---Mlab基础(改变物体的外观颜色)

    import numpy as np
    from mayavi import mlab
    
    #建立数据
    x,y = np.mgrid[-10:10:200j,-10:10:200j]
    z = 100*np.sin(x*y)/(x*y)
    #对数据进行可视化
    mlab.figure(bgcolor=(1,1,1))
    surf = mlab.surf(z,colormap="cool")  #cool使用冷色系
    #更新视图并显示出来
    mlab.show()
    >>> x,y = np.mgrid[-10:10:200j,-10:10:200j]
    >>> z = 100*np.sin(x*y)/(x*y)  #是一个二维数据
    >>> z
    array([[-0.50636564, -1.00954046, -0.57671118, ..., -0.57671118,
            -1.00954046, -0.50636564],
           [-1.00954046, -0.58512546,  0.38643354, ...,  0.38643354,
            -0.58512546, -1.00954046],
           [-0.57671118,  0.38643354,  1.02032807, ...,  1.02032807,
             0.38643354, -0.57671118],
           ...,
           [-0.57671118,  0.38643354,  1.02032807, ...,  1.02032807,
             0.38643354, -0.57671118],
           [-1.00954046, -0.58512546,  0.38643354, ...,  0.38643354,
            -0.58512546, -1.00954046],
           [-0.50636564, -1.00954046, -0.57671118, ..., -0.57671118,
            -1.00954046, -0.50636564]])
    >>>

    import numpy as np
    from mayavi import mlab
    
    #建立数据
    x,y = np.mgrid[-10:10:200j,-10:10:200j]
    z = 100*np.sin(x*y)/(x*y)
    #对数据进行可视化
    mlab.figure(bgcolor=(1,1,1))
    surf = mlab.surf(z,colormap="cool")
    #访问surf对象的LUT
    #LUT是一个255*4的数组,列向量表示RGBA,每个值的范围从0-255
    lut = surf.module_manager.scalar_lut_manager.lut.table.to_array()
    #增加透明度,修改alpha通道
    lut[:,-1] = np.linspace(0,255,256)  #修改列向量中A通道
    surf.module_manager.scalar_lut_manager.lut.table = lut
    
    #更新视图并显示出来
    mlab.show()

  • 相关阅读:
    面向对象编程
    re模块(正则表达式)
    numpy 模块
    hashlib,logging模块
    模块
    使用Python将Excel中的数据导入到MySQL
    [译]学习IPython进行交互式计算和数据可视化(七)
    [译]学习IPython进行交互式计算和数据可视化(六)
    [译]学习IPython进行交互式计算和数据可视化(五)
    [译]学习IPython进行交互式计算和数据可视化(四)
  • 原文地址:https://www.cnblogs.com/ssyfj/p/9304331.html
Copyright © 2011-2022 走看看