VTK-vtkStructuredGrid学习

news2024/11/15 10:57:34

        vtkStructuredGrid是具有规则拓扑和不规则几何的数据集。可以理解为单元格顺序沿着坐标轴排列,但是每个单元格可以不一样。看了很多文字解释,感觉不清楚,直接用图解验证:

1.使用CAD随意绘制个网格草图

2.获取这些点信息,点顺序要严格按照图示

Create(vtkPoints, points);
    points->InsertNextPoint(1.9475, 0.4465, 0);
    points->InsertNextPoint(1.183, 1.4711, 0);
    points->InsertNextPoint(0.018, 1.5855, 0);
    points->InsertNextPoint(-1.2925, 1.1278, 0);

    points->InsertNextPoint(2.7932, 1.0052, 0);
    points->InsertNextPoint(2.0935, 2.0645, 0);
    points->InsertNextPoint(-0.1276, 2.48, 0);
    points->InsertNextPoint(-1.6423, 2.1293, 0);

    points->InsertNextPoint(3.7595, 1.9673, 0);
    points->InsertNextPoint(2.7703, 2.5821, 0);
    points->InsertNextPoint(-0.0339, 3.2228, 0);
    points->InsertNextPoint(-2.0392, 3.098, 0);

3.构造结构化网格

Create(vtkStructuredGrid, grid);
    grid->SetDimensions(4, 3, 1);
    grid->SetPoints(points);

        维度理解为X/Y/Z方向的点数,如草图所示分别是4,3,1。此时只提供了12个点,只能构造一层,所以Z方向维度是1,不能是其他数据

4.将上面的网格显示出来

Create(vtkDataSetMapper, mapper);
    mapper->SetInputData(grid);

    Create(vtkActor, actor);
    actor->SetMapper(mapper);
    actor->GetProperty()->SetRepresentationToWireframe();

    Create(vtkRenderer, render);
    render->AddActor(actor);

    render->GetActiveCamera()->SetParallelProjection(true);

    Create(vtkRenderWindow, window);
    window->AddRenderer(render);

    Create(vtkRenderWindowInteractor, inter);
    inter->SetRenderWindow(window);

    ((vtkInteractorStyleSwitch *)inter->GetInteractorStyle())->SetCurrentStyleToTrackballCamera();

    render->ResetCamera();

    inter->Start();

5.点图、线图、面图如下,对应行的代码改一下出现不同效果图

actor->GetProperty()->SetRepresentationToPoints();
actor->GetProperty()->SetRepresentationToWireframe();
actor->GetProperty()->SetRepresentationToSurface();

6.点可以不在同一个平面,随机改变点Z数值

7.增加Z方向维度,点也要增加,点序保持一致

 Create(vtkPoints, points);
    points->InsertNextPoint(1.9475, 0.4465, 0);
    points->InsertNextPoint(1.183, 1.4711, 0.3);
    points->InsertNextPoint(0.018, 1.5855, 0);
    points->InsertNextPoint(-1.2925, 1.1278, -0.5);

    points->InsertNextPoint(2.7932, 1.0052, 0);
    points->InsertNextPoint(2.0935, 2.0645, 0);
    points->InsertNextPoint(-0.1276, 2.48, 0);
    points->InsertNextPoint(-1.6423, 2.1293, 0.5);

    points->InsertNextPoint(3.7595, 1.9673, 0);
    points->InsertNextPoint(2.7703, 2.5821, 0);
    points->InsertNextPoint(-0.0339, 3.2228, 0);
    points->InsertNextPoint(-2.0392, 3.098, 0);


    points->InsertNextPoint(1.9475, 0.4465, 2);
    points->InsertNextPoint(1.183, 1.4711, 2.3);
    points->InsertNextPoint(0.018, 1.5855, 2);
    points->InsertNextPoint(-1.2925, 1.1278, 1.5);

    points->InsertNextPoint(2.7932, 1.0052, 2);
    points->InsertNextPoint(2.0935, 2.0645, 2);
    points->InsertNextPoint(-0.1276, 2.48, 2);
    points->InsertNextPoint(-1.6423, 2.1293, 2.5);

    points->InsertNextPoint(3.7595, 1.9673, 2);
    points->InsertNextPoint(2.7703, 2.5821, 2);
    points->InsertNextPoint(-0.0339, 3.2228, 2);
    points->InsertNextPoint(-2.0392, 3.098, 2);

    Create(vtkStructuredGrid, grid);
    grid->SetDimensions(4, 3, 2);
    grid->SetPoints(points);

直接赋值第一层的12个点,改一下Z值。一定要同步修改Z方向维度为2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sealos 就是小团队的神器

作者:阳明。Kubernetes 布道师,公众号 K8s 技术圈主理人 最近我们新开发了一个项目 fastclass.cn,这个项目是一个独立开发者的学习网站,我们的目标是帮助你使用 Figma、Python、Golang、React、VUE、Flutter、ChatGPT 等设计构建真…

【linux】linux中如何通过systemctl来创建和管理服务

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【网络】从零认识IPv4

目录 IP地址定义 网络标识和主机标识 子网掩码 IPv4地址的分类 全局地址和私有地址 个人主页:东洛的克莱斯韦克-CSDN博客 IP地址定义 IP是网络中每台设备的唯一标识符,用于识别和定位计算机、服务器、路由器等设备,以便它们能够在网络上…

VictoriaMetrics快速入门

文章目录 Multitenancy集群部署启动vmstorage服务启动vminsert服务启动 vmselect服务 配置使用集群大小调整和可伸缩性grafana展示参考资料 VictoriaMetrics是快速,经济高效且可扩展的时间序列数据库。它可以用作Prometheus的长期远程存储。 VictoriaMetrics集群包含…

鸿蒙开发5.0【同页面内的点击操作响应时延问题】分析思路案例

1. 场景导入 同页面内点击操作时延是指,应用内手指点击从离开屏幕开始,到页面发生变化的时间。常见场景包括点击后界面元素变化,弹出弹窗或者loading动画等场景。 2. 性能指标 2.1 性能衡量起始点介绍 1.点击操作响应时延的性能衡量的起点…

GitLab-CI/CD指南

由于公司没有运维,写go服务时各个环境编译部署还是略显麻烦,由于代码管理使用的是 gitlab,所以决定使用 gitlab 自带的 CI/CD 来做自动编译和部署,这样每次提交代码以后就可以自动部署到服务器上了。 gitlab 本身只有 CI/CD 的接…

金蝶云星辰V1与旺店通·企业版对接集成采购入库单查询(列表+详情)连通创建其他入库单(其他)

金蝶云星辰V1与旺店通企业版对接集成采购入库单查询(列表详情)连通创建其他入库单(其他) 接入系统:金蝶云星辰V1 金蝶云星辰基于金蝶云苍穹云原生PaaS平台构建,聚焦小型企业在线经营和数字化管理,提供财务云、税务云、…

操作系统中的进程:深入解析与理解

文章目录 一、什么是进程?🤔二、进程的特性 🌟三、进程的组成 🧩四、进程的状态与转换 🔄🔀五、进程的调度与管理 🔧🔀六、代码示例(C)创建进程进程等待&…

scanf中%c前加不加空格的区别

%c前加空格可以让scanf跳过空白字符&#xff08;如空格、制表符、换行符等&#xff09;&#xff0c;直接读取非空白字符。如果不加空格就会读取空白字符。 可以用两段测试客官有无慧根的程序来说明这个问题&#xff0c;测试代码如下&#xff1a; #include <stdio.h> in…

Ubuntu22.04安卓编译环境搭建及so库编译

1.配置Android-ARM64开发环境工具链: vim ~/.profile 或者 ~/.bashrc 或者 /etc/profile 编辑环境变量文件 输入下面内容 export CROSS_TRIPLE=aarch64-linux-android export CROSS_ROOT=/usr/${CROSS_TRIPLE} export ANDROID_NDK=${CROSS_ROOT} export AS=${CROSS_ROOT}…

【人工智能】数据集合集!

本文将为您介绍10个经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 点击蓝字 关注我们 1 Habitat Platform 发布方&#xff1a; Facebook AI Research西蒙菲莎大学佐治亚理工学院Facebook Reality LabsIntel LabsUniversity of California, Berkeley…

1- 关键字static

文章目录 1 前言2 static修饰局部变量2.1 局部变量无static修饰2.2 局部变量有static修饰 3 static修饰全局变量 1 前言 在C语言中&#xff0c;static是用来修饰变量和函数的&#xff1a; 修饰局部变量 - 称为静态局部变量修饰全局变量 - 称为静态全局变量修饰函数 - 称为静态…

django空巢老人志愿服务系统-计算机毕业设计源码58726

摘 要 随着社会老龄化问题日益突出&#xff0c;空巢老人群体的关注和关怀日益重要。本研究设计并实现了基于Python的空巢老人志愿服务系统&#xff0c;旨在利用技术手段提供更多关爱和支持给空巢老人群体。 该系统结合Python编程语言的灵活性和易用性&#xff0c;实现了慈善捐赠…

HCIE杭州考试分享

考试过程&#xff1a; 首先提醒大家关注一下天气&#xff0c;我去杭州没看天气&#xff0c;去了一直下雨&#xff0c;鞋子也湿了&#xff1b;27号早上七点多到的杭州&#xff0c;雨一直下&#xff0c;去了直奔网吧上机&#xff0c;最后的机时&#xff0c;早饭和晚饭都在网吧吃…

Linux多线程间通信机制(互斥锁、条件变量、信号量,读写锁)同步与异步(二)

原文链接&#xff1a;https://blog.csdn.net/weixin_55796564/article/details/119699146 一、概述 本章介绍了线程同步的几种不同的方法&#xff0c;包括互斥锁、条件变量、自旋锁以及读写锁&#xff0c;当然&#xff0c;除此之外&#xff0c;线程同步的方法其实还有很多&…

如何获取设备消息?

一、什么是消息&#xff1f; 消息是设备向萤石云平台传输的带有特定内容的信息&#xff0c;大部分消息由设备端主动产生&#xff0c;并且上报到平台。举个例子&#xff0c;设备开启画面变化检测&#xff0c;当设备画面产生变化&#xff0c;设备就会产生报警&#xff08;画面…

Adobe Premiere Pro 2023-23.6.7.1 解锁版下载与安装教程 (一款专业的视频编辑软件)

前言 Adobe Premiere Pro&#xff08;简称PR&#xff09;是一款知名的专业视频编辑软件&#xff0c;数字视频剪辑软件。主要用来编辑视频和音频&#xff0c;可以在RGB和YUV色彩空间中以高达32位色彩的视频分辨率对4K和更高质量的视频文件进行编辑&#xff0c;支持VST音频插件和…

windows 10/11禁用更新

一、操作 获取“禁用更新”文件。将“禁用更新”文件从百度网盘中下载到电脑桌面。 百度网盘:链接:https://pan.baidu.com/s/1eGEtJYgN3MR4qGoUpnP7xw?pwd=ccrc提取码:ccrc 双击运行“禁用更新”。 弹出如下对话框,点击“是”。 弹出如下对话框,点击“是”。 确…

中仕公考:大四还没毕业能考公吗?

应届大学生是否可以报考公务员? 对于尚未获得毕业证书的应届大学生&#xff0c;有资格报名参与公务员考试。具体到学历和学位的要求&#xff0c;截止日期定于2024年7月底。在报名过程中&#xff0c;考生必须填写《报名登记表》和《报名推荐表》&#xff0c;确保提供的信息真实…

【手眼标定】使用kalibr对imu和双目摄像头进行联合标定

使用kalibr对imu和双目摄像头进行联合标定 前言 方式一&#xff1a;ros2消息格式通过ros1_bridge转为ros1消息格式&#xff0c;在ros1环境下录制bag进行标定。一、IMU标定二、双目摄像头标定三、手眼标定&#xff08;imu和双目摄像头的联合标定&#xff09; 方式二&#xff1a;…