飘过。。。。 |
我们办公室的3 D打印机(Objet Connex500)可打印一种刚性,半透明的白色材料,这种材料可以用于制作这些独特的黑白照片。这些照片也许无法难以从侧面辨认,但从背后打光时,图像的精度高得惊人,而且更增添了微妙的维度和细腻的纹理。 通过改变这种半透明材料不同区域的厚度,我们可以控制穿过材料的光量,从而控制亮度(较薄的地方亮,较深的地方暗)。在这个项目中,我将每个像素的灰度图像转变为厚度,从而准确复制任何灰度图像。 我打印的照片包括妈妈的猫泰迪(图4),土星和它的卫星泰坦(卡西尼太空探测器拍摄)(图5和6),和一张汽车旅馆里挂的巨大的 (19x16”)威廉姆森的安塞尔·亚当斯的摄影(图1、2和3)。 方法如下: 1.下载Processing,解压 2.在proces中导入ModelBuilder library, (作者是 Marius Watz.,导入方法见Processing's "libraries" folder.) 3.将下面的代码粘贴进sketch 其中,String name ="YOUR_FILE_NAME.jpg";//name of file 需要将你要转换的图片放入processing.exe所在的文件夹,图片格式支持jpg,gif,png等,然后输把YOUR_FILE_NAME替换成你的文件名. //3D printed photograph //by Amanda Ghassaei //May 2013 //http://www.instructables.com/id/3D-Printed-Photograph/ /* * This program is free software; you canredistribute it and/or modify * it under the terms of the GNU General PublicLicense as published by * the Free Software Foundation; either version3 of the License, or * (at your option) any later version. */ //libraries import processing.opengl.*; import unlekker.util.*; import unlekker.modelbuilder.*; import ec.util.*; String name ="YOUR_FILE_NAME.jpg";//name of file //storage for dimensions int widthRes; int heightRes; float widthDim = 8;//widthdimension (in inches) float widthScaled; float heightScaled; float zDim = 0.1;//max verticaldisplacement (in inches) float thickness = 0.02;//basethickness (in inches) boolean invert = true;//if true,then white areas are lower than black, if not true white areas are taller PImage img;//storage for image float pixeldata[];//storage forpixel array UVertexList v1,v2,v3,v4;//storagefor verticies UGeometry geo;//storage for stlgeometry void setup(){ img = loadImage(name);//load image //get dimensions of image widthRes = img.width; heightRes =img.height; size(widthRes,heightRes,P3D);//set dimensions of output image(img, 0,0);//display image loadPixels();//poad pixels into array pixeldata = new float[widthRes*heightRes];//initialize storage for pixeldata for(int index=0;index 0) name =name.substring(0, dotPos); geo.writeSTL(this,name+".stl"); exit(); println("Finished");} 4.保存这个sketch文件,然后运行。 5.processing会将你的图片按照灰度转换成一个.stl文件,运行完成会有finish提示。生成的.stl文件自动保存在和sketch文件相同的目录下。 6.最后打印就好。 |