给定一堆二维图像,如何使用 Processing/Processing.js 产生体积渲染效果?
目前我的想法是使用java(类似于imageJ)进行体积渲染->获取体积渲染图像的面作为单独的jpeg,并使用它们在处理中形成纹理立方体。
我想知道是否有人有更好的建议或关于如何使用所提出的方法的任何提示。
给定一堆二维图像,如何使用 Processing/Processing.js 产生体积渲染效果?
目前我的想法是使用java(类似于imageJ)进行体积渲染->获取体积渲染图像的面作为单独的jpeg,并使用它们在处理中形成纹理立方体。
我想知道是否有人有更好的建议或关于如何使用所提出的方法的任何提示。
在 processing/processing.js 中,您可以将图像加载到数组中并在 z 轴上显示偏移量。您可能会发现使用peasycam可以更轻松地查看 3d 中发生的情况。
PImage[] imageArr; // load your images in setup()
float zOffset = 10;
void draw() {
for (int i = 0; i < imageArr.length; i++) {
float zVal = zOffset * float(i) - float(imageArr.length)*zOffset/2;
pushMatrix();
translate(0,0,zVal);
imageMode(CENTER);
image(imageArr[i], 0, 0);
popMatrix;
}
}
如果您想做一些更像是图像数据的体素显示,您可以使用PImage.pixels[]读取图像颜色信息并显示半透明的相同颜色的box()。
我同意迈克的评论。如果你想在 processing.js 中做同样的事情,你必须只使用内置的方法/库,除非你能找到一个 javascript 等价物。
如果我离题了,也许张贴一张你想要做什么的图片将有助于澄清你的问题。