zoukankan      html  css  js  c++  java
  • 科学计算三维可视化---Mayavi入门(Mayavi库的基本元素和绘图实例)

     一:Mayavi库的基本元素

    1.处理图形可视化和图形操作的mlab模块
    2.操作管线对象,窗口对象的api

    (一)mlab模块

    (二)mayavi的api

    二:快速绘图实例

    (一)mlab.mesh的使用,快速创建绘图

    >>> x = [[-1,1,1,-1,-1],[-1,1,1,-1,-1]]  
    >>> y = [[-1,-1,-1,-1,-1],[1,1,1,1,1]]
    >>> z = [[1,1,-1,-1,1],[1,1,-1,-1,1]]
    >>> from mayavi import mlab
    >>> s = mlab.mesh(x,y,z)
    x,y,z数组对应坐标的元素组成了三维坐标点
    (-1,-1,1)
    (1,-1,1)
    ......
    (-1,1,-1)
    (-1,1,1)
    以上8个坐标
    数组都分为2部分,一部分4点,每一部分中四个点代表一个面(空白区域)

    (二)创建一个较为复杂绘图

    from numpy import pi, sin, cos, mgrid
    from mayavi import mlab
    
    #建立数据
    dphi,dtheta = pi/250.0,pi/250.0
    [phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
    m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
    r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6**theta)**m7
    x = r*sin(phi)*cos(theta)
    y = r*cos(phi)
    z = r*sin(phi)*sin(theta)
    
    #对该数据进行三维可视化
    s = mlab.mesh(x,y,z)
    mlab.show()

    s = mlab.mesh(x,y,z,representation="wireframe",line_width=1.0)

  • 相关阅读:
    Shodan新手入坑指南
    linux 下查看网卡工作速率
    centos关闭ipv6
    springBoot----@ConditionalOnxxx相关注解总结
    ElasticSearch Root身份运行
    CentOS6 Install kafka
    CentOS 7 中firewall-cmd命令
    sensu
    metrics+spring+influxdb
    SpringBoot(十二):SpringBoot整合Kafka
  • 原文地址:https://www.cnblogs.com/ssyfj/p/9302295.html
Copyright © 2011-2022 走看看