zoukankan      html  css  js  c++  java
  • vtk类之vtkPointSource:创建一些点集合围成的球体poly data

    vtkPointSource用来创建围绕特定中心点,特定直径的和特定数量点集合组成的球体。默认点是随机分布在球体里面。也可以生产的点只分布在球面上。

    基本用法:

    SetRadius()设置球体半径
    SetCenter()设置球体中心点
    SetNumberOfPoints()设置球中的点的个数
    SetDistributionToUniform()设置点的分布在球体内

    SetDistributionToShell()设置点分布在球面上。
     

    例子:

    #-*- coding: UTF-8 -*-
    #-------------------------------------------------------------------------------
    # Name:        模块2
    # Purpose:
    #
    # Author:      ankier
    #
    # Created:     12-12-2012
    # Copyright:   (c) Ankier 2012
    # Licence:     <your licence>
    #-------------------------------------------------------------------------------
    
    from ActorFactory import ActorFactory
    
    from vtk import *
    ## @detal 生产点的球体集合
    class PointActorFactory(ActorFactory):
        def __init__(self):
            ActorFactory.__init__(self)        
            self.__PointSource = vtkPointSource()        
            
        def _MakeActors(self):
            self.__PointSource.SetRadius(20)
            self.__PointSource.SetCenter(0, 0, 0)
            self.__PointSource.SetNumberOfPoints(10000)
            self.__PointSource.SetDistributionToUniform()
    #        self.__PointSource.SetDistributionToShell()
            
            polyDataMapper = vtkPolyDataMapper()
            polyDataMapper.SetInput(self.__PointSource.GetOutput())
            
            actor = self._NewActor()
            actor.SetMapper(polyDataMapper)
            actor.GetProperty().SetColor((1.0, 0.7, 0.2))
            
            return [actor]
        
        def __del__(self):
            del self.__PointSource

    运行结果:

  • 相关阅读:
    23
    关系数据库范式
    组合
    排列
    bfs_迷宫求最短路径
    dfs-求连通块
    dfs_部分和问题
    线程
    http://m.blog.csdn.net/article/details?id=51699295
    jquery 页面多个倒计时
  • 原文地址:https://www.cnblogs.com/ankier/p/2812012.html
Copyright © 2011-2022 走看看