医站点医维基

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 852|回复: 6

[VTK] VTK例子9-ImplicitSum

[复制链接]

336

主题

410

回帖

2806

积分

管理员

积分
2806

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2015-12-5 17:39:33 | 显示全部楼层 |阅读模式
ImplicitSum
#include "stdafx.h"
#include "vtkCone.h"
#include "vtkPolyDataMapper.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkSphere.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkPolyData.h"
#include "vtkImplicitSum.h"
#include "vtkContourFilter.h"
#include "vtkPoints.h"
#include "stdio.h"
#include <vtkSampleFunction.h>
#include <vtkGlyph3D.h>
#include <vtkProperty.h>
#include <vtkCellArray.h>
#include <vtkTubeFilter.h>
#include <vtkSampleFunction.h>
void main()
{
//  rand()/RAND_MAX;//    0 - RAND_MAX
  vtkRenderer *ren = vtkRenderer::New();
  vtkRenderWindow *renWindow = vtkRenderWindow::New();
    renWindow->AddRenderer(ren);
  renWindow->SetSize( 600, 600 );
    vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWindow);
vtkCone *geomObject1=vtkCone::New();
vtkSphere *geomObject2=vtkSphere::New();
    geomObject2-> SetRadius( 0.5);
    geomObject2-> SetCenter( 0.5, 0 ,0);
vtkImplicitSum *sum=vtkImplicitSum::New();
    sum-> SetNormalizeByWeight( 1);
    sum-> AddFunction (geomObject1 ,2);
    sum-> AddFunction (geomObject2 ,1);
vtkSampleFunction *sample=vtkSampleFunction::New();
    sample-> SetImplicitFunction( sum);
    sample-> SetSampleDimensions( 60, 60 ,60);
    sample-> ComputeNormalsOn();
vtkContourFilter *surface=vtkContourFilter::New();
    surface-> SetInputConnection (sample->GetOutputPort());
    surface-> SetValue (0 ,0.0);
vtkPolyDataMapper *mapper=vtkPolyDataMapper::New();
    mapper-> SetInputConnection(surface-> GetOutputPort());
    mapper-> ScalarVisibilityOff();
vtkActor *actor=vtkActor::New();
    actor-> SetMapper (mapper);
    actor-> GetProperty()-> SetColor( 0.2 ,0.4 ,0.6);
    actor-> GetProperty()-> SetSpecular ( 0.4);
    actor-> GetProperty()-> SetDiffuse  ( 0.7);
    actor-> GetProperty()-> SetSpecularPower ( 40);
//////////////
ren->AddActor(actor);
iren->Initialize();
renWindow->Render();
iren->Start();
}
9.png

回复

使用道具 举报

110

主题

429

回帖

1428

积分

金牌会员

积分
1428

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-12 08:17:58 | 显示全部楼层
goooood 顶起
回复

使用道具 举报

0

主题

408

回帖

815

积分

高级会员

积分
815

最佳新人

发表于 2016-5-14 01:50:05 | 显示全部楼层
先看看在说
回复

使用道具 举报

0

主题

399

回帖

804

积分

高级会员

积分
804

最佳新人

发表于 2016-5-14 03:39:48 | 显示全部楼层
看看学习一下!
回复

使用道具 举报

1

主题

441

回帖

1100

积分

版主

积分
1100

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-14 07:50:32 | 显示全部楼层
顶 顶 顶 顶 顶 顶 顶 顶
回复

使用道具 举报

138

主题

436

回帖

1502

积分

版主

积分
1502

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-20 22:02:07 | 显示全部楼层
看看是不是很实用
回复

使用道具 举报

0

主题

408

回帖

815

积分

高级会员

积分
815

最佳新人

发表于 2016-5-23 10:46:30 | 显示全部楼层
好贴,不要沉了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|医维基|网站地图|Archiver|手机版|医疗之家 ( 沪ICP备2023001278号-1 )  

GMT+8, 2024-5-2 15:43 , Processed in 0.259353 second(s), 31 queries .

Designed by Medical BBS

快速回复 返回顶部 返回列表