python绘制圆柱体的方法

yipeiwu_com5年前Python基础

本文实例为大家分享了python绘制圆柱体示的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python
 
import vtk
# 参考的C++版本源码及解释 感谢原作者
# http://blog.csdn.net/www_doling_net/article/details/8536376
 
def main():
  cylinder = vtk.vtkCylinderSource()
  cylinder.SetHeight(3.0) # 设置柱体的高
  cylinder.SetRadius(1.0) # 设置柱体横截面的半径
  cylinder.SetResolution(6) # 设置柱体横截面的等边多边形的边数
 
  cylinderMapper = vtk.vtkPolyDataMapper() # 渲染多边形几何数据
  cylinderMapper.SetInputConnection(cylinder.GetOutputPort()) # VTK可视化管线的输入数据接口 ,对应的可视化管线输出数据的接口为GetOutputPort();
  cylinderActor = vtk.vtkActor()
  cylinderActor.SetMapper(cylinderMapper) # 设置生成几何图元的Mapper。即连接一个Actor到可视化管线的末端(可视化管线的末端就是Mapper)。
  renderer = vtk.vtkRenderer() # 负责管理场景的渲染过程
  renderer.AddActor(cylinderActor)
  renderer.SetBackground(0.1, 0.2, 0.4)
  renWin = vtk.vtkRenderWindow() # 将操作系统与VTK渲染引擎连接到一起。
  renWin.AddRenderer(renderer)
  renWin.SetSize(300, 300)
  iren = vtk.vtkRenderWindowInteractor() # 提供平台独立的响应鼠标、键盘和时钟事件的交互机制
  iren.SetRenderWindow(renWin)
 
  # 交互器样式的一种,该样式下,用户是通过控制相机对物体作旋转、放大、缩小等操作
  style = vtk.vtkInteractorStyleTrackballCamera()
  
  iren.SetInteractorStyle(style)
  iren.Initialize()
 
  iren.Start()
 
  # Clean up
  del cylinder
  del cylinderMapper
  del cylinderActor
  del renderer
  del renWin
  del iren
 
main()

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

给Python IDLE加上自动补全和历史功能

许多时候,我们使用Python,并不用写一个程序,一些不复杂的任务,我更喜欢在 IDLE(也就是交互式提示模式)下输入几行代码完成。然而,在这个模式下编辑代码,也有不够便利的地方,最主要...

回调函数的意义以及python实现实例

因工作需要,最近在学习使用python来解析各种文件,包括xmind,xml,excel,csv等等。 在学习python解析XML的时候看到这样一段话: ElementTree(元素树...

在 Jupyter 中重新导入特定的 Python 文件(场景分析)

在 Jupyter 中重新导入特定的 Python 文件(场景分析)

Jupyter 是数据分析领域非常有名的开发环境,使用 Jupyter 写数据分析相关的代码会大大节约开发时间。 设想这样一个场景:别的部门的同事传给你一个数据分析的模块,用于实现对数据...

基于python解线性矩阵方程(numpy中的matrix类)

这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题。在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我就想用python求解线性方程。查阅资料的过程...

Python中使用HTMLParser解析html实例

前几天遇到一个问题,需要把网页中的一部分内容挑出来,于是找到了urllib和HTMLParser两个库.urllib可以将网页爬下来,然后交由HTMLParser解析,初次使用这个库,在...