当前位置: 首页 > 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.xdnf.cn/news/270469.html

相关文章:

  • Spring MVC注解式控制器开发
  • 计算方法实验五 插值多项式的求法
  • java 洛谷题单【算法2-2】常见优化技巧
  • 纯Java实现STDIO通信的MCP Server与客户端验证
  • 【Java】2025 年 Java 学习路线:从入门到精通
  • 【进阶】C# 委托(Delegate)知识点总结归纳
  • Spring事务管理
  • [计算机网络]数据链路层
  • 1993年地级市民国铁路开通数据(地级市工具变量)
  • Servlet (一)
  • 大数据技术:从趋势到变革的全景探索
  • Servlet+tomcat
  • 链表的回文结构题解
  • Linux 的 epoll 与 Windows 的 IOCP 详解
  • Mybatis学习(上)
  • 04 基于 STM32 的时钟展示程序
  • 《算法导论(第4版)》阅读笔记:p4-p5
  • HTML与CSS实现风车旋转图形的代码技术详解
  • Webug4.0靶场通关笔记10- 第14关链接注入
  • 深度学习助力校园学生自杀预防
  • wsl2 中使用串口
  • 【信息系统项目管理师】【论文】项目背景示例
  • 66. Java 嵌套类
  • 二叉树最近公共祖先(后序遍历,回溯算法)
  • 强化学习--4.策略梯度方法(蒙特卡罗)
  • 数字信号处理学习笔记--Chapter 0 数字信号处理概述
  • Python 部分内置函数及其用法详解
  • HTML打印设置成白色,但是打印出来的是灰色的解决方案
  • mcp+llm+rag
  • 隐藏元素的多种方式