vtkdelaunay3d的参数设置_VTK初学一,vtkDelaunay2D创建球冠曲面

这篇博客介绍了如何使用VTK库中的vtkDelaunay2D工具创建球冠曲面。通过设置参数和计算坐标,将点插入vtkPoints对象中,然后利用vtkDelaunay2D进行处理,最后在窗口中展示生成的三维图形。
摘要由CSDN通过智能技术生成

#ifndef INITIAL_OPENGL

#define INITIAL_OPENGL

#include

VTK_MODULE_INIT(vtkRenderingOpenGL)

VTK_MODULE_INIT(vtkInteractionStyle)

#endif

#include

using namespace std;

#include "vtkPolyDataMapper.h"

#include "vtkWin32OpenGLRenderWindow.h"

#include "vtkRenderWindow.h"

#include "vtkRenderWindowInteractor.h"

#include "vtkRenderer.h"

#include "vtkPoints.h"

#include "vtkWin32RenderWindowInteractor.h"

#include "vtkProperty.h"

#include "vtkFloatArray.h"

#include "vtkPolyData.h"

#include "vtkDataSetMapper.h"

#include "vtkActor2D.h"

#include "vtkContourFilter.h"

#include "vtkContourValues.h"

#include "vtkUnstructuredGrid.h"

#include "vtkPointData.h"

#include "vtkPolyVertex.h"

#include

#include

#include "vtkDelaunay2D.h"

#include "vtkMath.h"

void myShow(vtkDelaunay2D* anInput)

{

vtkSmartPointer aMapper=vtkSmartPointer::New();

aMapper->SetInputConnection(anInput->GetOutputPort());

aMapper->ScalarVisibilityOn();

vtkSmartPointer anActor=vtkSmartPointer::New();

anActor->SetMapper(aMapper);

// anActor->GetProperty()->SetInterpolationToFlat();

// anActor->GetProperty()->EdgeVisibilityOn();

anActor->GetProperty()->SetPointSize();

anActor->GetProperty()->SetColor(,,);

vtkSmartPointer ren1=vtkSmartPointer::New();

vtkSmartPointer renWin=vtkSmartPointer::New();

ren1->AddActor(anActor);

ren1->ResetCamera();

ren1->SetBackground(,,);

renWin->AddRenderer(ren1);

renWin->SetSize(,);

vtkSmartPointer iren=vtkSmartPointer::New();

vtkSmartPointer style=vtkSmartPointer::New();

iren->SetRenderWindow(renWin);

iren->SetInteractorStyle(style);

iren->Start();

}

int main()

{

vtkSmartPointer points=vtkSmartPointer::New();

double R=;//球面曲率半径

double r=;//任意x、y面上坐标点,到(0,0)点的距离

double r2=r*r;

//球冠切割面距圆心的距离(Z方向,所以名为zh)

float zh=R*0.5;

unsigned int gridXSize=*R,gridYSize=gridXSize;

double rCrown=sqrt(R*R-zh*zh);

for(double i=;i

{

for(double j=;j

{

double x=(i-gridXSize/),y=(j-gridYSize/);

r2=x*x+y*y;//r2表示r的平方

r=sqrt(r2);

double z=;

if(r

{

z=sqrt(R*R-r2);

}

else

z=zh;

points->InsertNextPoint(i,j,z);

}

}

vtkSmartPointer polydata=vtkSmartPointer::New();

polydata->SetPoints(points);

vtkSmartPointer delaunay=vtkSmartPointer::New();

delaunay->SetInputData(polydata);

delaunay->Update();

//在窗口中显示

myShow(delaunay);

return ;

}

VTK初学一,a Mesh from vtkImageData—球冠

#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include VTK_MODULE_INIT(vtkRend ...

VTK初学一,c_Line_CellArray线段的CellArray绘制

VTK窗口默认坐标方向: #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include VTK_MODULE ...

VTK初学一,a_Vertex图形点的绘制

系统:Win8.1 QT版本:2.4.2,Mingw VTK版本:6.3 2. main.cpp #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #incl ...

VTK初学一,比较常见的错误2

我的开发环境: 系统:win8.1 QT:5.4.2MinGW版 VTK:6.3 按照教程生成一个球体显示在,Qt的QVTKWidget控件中,出现如下ERROR: ERROR: In D:\VTK6 ...

VTK初学一,b_PolyVertex多个图形点的绘制

#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include VTK_MODULE_INIT(vtkRend ...

初学Android 二 创建项目以及目录结构

命令行创建 android create project Usage: android [global options] create project [action options] Global ...

初学c# -- c#创建开机自启服调用外部交互式exe文件

在c#创建的开机自启动服务里,调用外部可执行文件有以下问题:1.带窗口的交互式的exe文件调用后,实际并没有被执行:2.服务是随windows启动的,服务启动后可能windows桌面还没出来,会报错误 ...

初学Django:创建第一个项目+使用模板

1. 创建一个项目 之前在Anaconda 3里面用命令行安装了Django之后,有了可用的管理工具django-admin.py (1)用django.admin.py来创建一个项目Hellowor ...

VTK初学一,动画加AVI录制终于做出来了

#ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include VTK_MODULE_INIT(vtkRe ...

随机推荐

ExpandableListView实现展开更多和收起更多

[需求]: 如上面图示 当点开某个一级菜单的时候,其他菜单收起: 子级菜单默认最多5个: 多于5个的显示"展开更多" 点击"展开更多",展开该级所有子级菜单,同 ...

MD5算法的C语言实现

1 #include #include #include #include

继续畅通工程-Floyd

畅通工程续 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submiss ...

lower power的physical library

在一个cell library中,比较重要的是cell height,cell height由tracks来决定,track表示一个metal线的pitch. 一个cell通常被做成一定数量的trac ...

oracle 12 C启动问题

启动时出现以下报错信息: SQL> startup; ORA-48146: missing read, write, or exec permission on directory during ...

监听F5刷新,添加路由前缀

为了解决ninx反向代理,添加路由,但最终react的route还是不认识,研究了半天做个记录: document.addEventListener("keydown",funct ...

Javascript鼠标键盘事件

鼠标事件click:单击dblclick:双击mousedown:鼠标按下mouseup:鼠标抬起mouseover:鼠标悬浮mouseout:鼠标离开mousemove:鼠标移动mouseenter ...

[SharePoint 2010] SharePoint 2010 FBA 配置以及自定义首页

https://blogs.msdn.microsoft.com/kaevans/2010/07/09/sql-server-provider-for-claims-based-authenticat ...

mybatis 一对一 映射实体类、嵌套查询

一对一 在SysUser 类中增加SysRole字段.1.sql语句将role.role_name映射到role.roleName上. 2.还可以在XML 映射文件中配置结果映射.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值