当前位置: 首页 > news >正文

Learning vtkjs之PolyDataNormals

法线可视化

介绍

polydata法线可视化

效果

在这里插入图片描述

核心代码

主要流程

 const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({background: [0, 0, 0],rootContainer: vtkContainerRef.current,});const renderer = fullScreenRenderer.getRenderer();const renderWindow = fullScreenRenderer.getRenderWindow();const lookupTable = vtkLookupTable.newInstance({ hueRange: [0.666, 0] });const source = vtkCubeSource.newInstance();const inputPolyData = source.getOutputData();inputPolyData.getPointData().setNormals(null);const mapper = vtkMapper.newInstance({interpolateScalarsBeforeMapping: true,colorMode: ColorMode.DEFAULT,scalarMode: ScalarMode.DEFAULT,useLookupTableScalarRange: true,lookupTable,});const actor = vtkActor.newInstance();actor.getProperty().setEdgeVisibility(true);const polyDataNormals = vtkPolyDataNormals.newInstance();// The generated 'z' array will become the default scalars, so the plane mapper will color by 'z':polyDataNormals.setInputData(inputPolyData);mapper.setInputConnection(polyDataNormals.getOutputPort());actor.setMapper(mapper);renderer.addActor(actor);const arrowSource = vtkArrowSource.newInstance();const glyphMapper = vtkGlyph3DMapper.newInstance();glyphMapper.setInputConnection(polyDataNormals.getOutputPort());glyphMapper.setSourceConnection(arrowSource.getOutputPort());glyphMapper.setOrientationModeToDirection();glyphMapper.setOrientationArray("Normals");glyphMapper.setScaleModeToScaleByMagnitude();glyphMapper.setScaleArray("Normals");glyphMapper.setScaleFactor(0.1);const glyphActor = vtkActor.newInstance();glyphActor.setMapper(glyphMapper);renderer.addActor(glyphActor);context.current = {renderer,renderWindow,polyDataNormals,};renderer.resetCamera();renderWindow.render();

全部代码都放到github上了
新坑_Learning vtkjs_git地址
关注我,我持续更新vtkjs的example学习案例

也欢迎各位给我提意见,技术交流~

大鸿

WeChat : HugeYen
WeChat Public Account : BIM树洞

做一个静谧的树洞君

用建筑的语言描述IT事物;

用IT的思维解决建筑问题;

共建BIM桥梁,聚合团队。

本学习分享资料不得用于商业用途,仅做学习交流!!如有侵权立即删除!!

http://www.dtcms.com/a/169530.html

相关文章:

  • Android Compose 中 Side Effects 和 State 相关的 API 使用
  • Python datetime库的用法 Python从入门到入土系列第3篇-洞察标准库DateTime
  • 第九章:反击的序曲(续)
  • 优化01-统计信息
  • Space Engineers 太空工程师 [DLC 解锁] [Steam] [Windows]
  • 生成器模式(Builder Pattern)
  • C++ 单例模式详解
  • 智能决策支持系统的基本概念与理论体系
  • api补充
  • 互联网大厂Java面试:从Spring到微服务的技术探讨
  • 在pycharm profession 2020.3上离线安装.whl类型的包(以PySimpleGUI为例)
  • Socket-TCP
  • 中间件和组件
  • n8n工作流自动化平台的实操:本地化高级部署
  • Python的简单练习
  • Python硬核革命:从微控制器到FPGA的深度开发指南
  • 降维大合集
  • 前端面经-VUE3篇(二)--vue3组件知识(一)组件注册、props 与 emits、透传、插槽(Slot)
  • LeetCode240. 搜索二维矩阵 II(巧妙转换)
  • Leetcode刷题记录29——矩阵置零
  • 高维亚空间超频物质变压缩技术 第27次CCF-CSP计算机软件能力认证
  • 力扣:24两两交换链表的节点
  • 融智学16字方针无歧义表述并构建人机协同的非零和博弈模型
  • SVM实战:从理论到鸢尾花数据集的分类可视化
  • Android 端如何监控 ANR、Crash、OOM 等严重问题
  • 基于SpringBoot+Vue实现的电影推荐平台功能三
  • Oracle OCP认证考试考点详解083系列04
  • ip和域名
  • hadoop存储数据文件原理
  • 大数据Spark(五十八):Spark Pi介绍