您的位置:首页 > 娱乐 > 八卦 > vtk2three之用three绘制vtk的Calculator公式

vtk2three之用three绘制vtk的Calculator公式

2024/12/23 8:54:10 来源:https://blog.csdn.net/weixin_44204198/article/details/140879424  浏览:    关键词:vtk2three之用three绘制vtk的Calculator公式

Calculator公式

vtk里面可以用这个过滤器filter,来绘制一个公式的点阵,想着其实可以把这个作为第一个切入点来把vtk里面的数据源引入到threejs里面,把threejs当作一个render,dataSource就是来自于这个vtk,下面先上一个效果图:
在这里插入图片描述
左边的是vtk的效果
右边是threejs的效果,还算是比较满意的
之后可以修改vtkcalculator里面的公式,就可以在three里面绘制公式了,我觉得还蛮有意思的,后期在vtk里面很多数据的算法都可以尝试移植过来。

核心逻辑

比较three的核心概念和vtk的核心概念,其实three里面的mesh就有点类似vtk里面的actor,这个都是在对应render里面进行的渲染,需要建立映射关系

// 核心类mapper
import Constants from "@kitware/vtk.js/Rendering/Core/Mapper/Constants";
import { Mesh } from "three";
import { GeometryMapper } from "./Core/GeometryMapper";
import { MaterialMapper } from "./Core/MaterialMapper";const { ColorMode } = Constants;
export class v23Mapper {constructor() {this.actor = null;}setActor(actor) {this.actor = actor;this.mapper = actor.getMapper();}getMeshData() {if (this.mapper) {// 映射几何geometryconst geoMapper = new GeometryMapper(this.mapper);const geo = geoMapper.mapGeometry();// 映射材质materialconst matMapper = new MaterialMapper(this.actor.getProperty());const mat = matMapper.mapMaterial();const mesh = new Mesh(geo, mat);return mesh;}}
}

全部代码都放到github上了
vtk to three的git地址
关注我,我持续更新vtk to three的数据pipeline,喜欢git请给我一个star

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

大鸿

WeChat : HugeYen
WeChat Public Account : BIM树洞

做一个静谧的树洞君

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

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

共建BIM桥梁,聚合团队。

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com