Imprimir fotografía 3D (1 / 1 paso)

Paso 1: El código

Todos estos modelos 3D fueron generados algorítmicamente de procesamiento mediante la biblioteca de ModelBuilder por Marius Watz. Esta biblioteca le permite guardar geometrías 3D en el formato de archivo STL, archivos STL que forman una malla impermeable se pueden imprimir por una impresora 3D.

Para comenzar a utilizar este código usted mismo, descargue la última versión de la biblioteca de ModelBuilder, descomprimir el archivo y copiar la carpeta en la carpeta de "bibliotecas" de procesamiento. Si ha instalado al precursor a la biblioteca de ModelBuilder (llamada la biblioteca de Unlekker), necesita eliminar. Una vez hecho esto reiniciar proceso.

imagen en 3d para imprimir mapa/Litofania //by Amanda Ghassaei //May 2013 / /  / * * este programa es software libre; Usted puede redistribuirlo y/o modificar * bajo los términos de la GNU General Public License publicada por * la Free Software Foundation; ya sea la versión 3 de la licencia, o * (a su opción) cualquier versión posterior
. * / //libraries import processing.opengl.*; Import unlekker.util.*; Import unlekker.modelbuilder.*; Import ec.util.*; String nombre = "your_file_name_here.jpg";//name de archivo (con extensión - esto también funciona con archivos PNG) //storage para dimensiones int widthRes; int heightRes; Float widthDim = 5; //width dimensiones (en pulgadas) float widthScaled; Float heightScaled; flotador zDim = 0.1;//max desplazamiento vertical (en pulgadas) espesor de float = invertir booleano de espesor (en pulgadas) 0.02;//base = true; //if true, entonces las áreas blancas son más bajas que negro, si no verdadera áreas blancas son img PImage taller //storage para imagen float pixeldata [] //storage para pixel array UVertexList v1, v2, v3, v4, //storage de verticies UGeometry geo; //storage para stl geometría void setup() {img = loadImage (nombre); //load //get dimensiones en imagen de la imagen widthRes = img.width; heightRes = img.height; tamaño (widthRes heightRes, P3D); //set dimensiones de imagen de salida (img, 0,0), (imagen de loadPixels) //display; //poad píxeles en la matriz pixeldata = new float [widthRes * heightRes]; //initialize almacenamiento de datos de pixel para (int index = 0; índice < widthRes * heightRes; índice ++) {int getPixelData = pixeles [índice]; //get los datos de píxeles [] array pixeldata [index] = getPixelData & 255; //convert en escala byte (0-255)} //initialize almacenamiento para stl geo = nuevo UGeometry(); v1 = nuevo UVertexList(); V2 = nuevo UVertexList(); V3 = nuevo UVertexList(); V4 = nuevo UVertexList(); dibujar stl if(invert) {//draw tapa para (int i = 0; i <(heightRes-1); i ++) {v1.reset(); v2.reset(); para (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim; //top capa v1.add(widthScaled,i/float(widthRes)*widthDim,(255-pixeldata[widthRes*i+j])*zDim/255+thickness); v2.add(widthScaled,(i+1)/float(widthRes)*widthDim,(255-pixeldata[widthRes*(i+1)+j])*zDim/255+thickness);} geo.quadStrip (v1 v2); } //draw lados v1.reset(); v2.Reset(); V3.Reset(); V4.Reset(); para (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim; v1.add(widthScaled,0,(255-pixeldata[j])*zDim/255+thickness); v2.add(widthScaled,0,0); v3.add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,(255-pixeldata[widthRes*(heightRes-1)+j])*zDim/255+thickness); v4.add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,0);} geo.quadStrip(v2,v1); geo.quadStrip(v3,v4); dibujar los lados v1.reset(); v2.Reset(); V3.Reset(); V4.Reset(); para (int i = 0; i < heightRes; i ++) {heightScaled = i / flotador (widthRes) * widthDim; v1.add(0,heightScaled,(255-pixeldata[widthRes*i])*zDim/255+thickness); v2.add(0,heightScaled,0); v3.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,(255-pixeldata[widthRes*(i+1)-1])*zDim/255+thickness); v4.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,0);} geo.quadStrip(v1,v2); geo.quadStrip(v4,v3); } otro {//draw tapa para (int i = 0; i <(heightRes-1); i ++) {v1.reset(); v2.reset(); para (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim; //top capa v1.add(widthScaled,i/float(widthRes)*widthDim,(pixeldata[widthRes*i+j])*zDim/255+thickness); v2.add(widthScaled,(i+1)/float(widthRes)*widthDim,(pixeldata[widthRes*(i+1)+j])*zDim/255+thickness);} geo.quadStrip(v1,v2);} //draw lados v1.reset(); v2.reset(); v3.reset(); v4.reset(); para (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim; v1.add (widthScaled , 0,(pixeldata[j])*zDim/255+thickness); v2.Add(widthScaled,0,0); V3.Add(widthScaled,(heightRes-1)/Float(widthRes)*widthDim,(pixeldata[widthRes*(heightRes-1)+j])*zDim/255+thickness); V4.Add(widthScaled,(heightRes-1)/Float(widthRes)*widthDim,0); } geo.quadStrip(v2,v1); geo.quadStrip(v3,v4); dibujar los lados v1.reset(); v2.Reset(); V3.Reset(); V4.Reset(); para (int i = 0; i < heightRes; i ++) {heightScaled = i / flotador (widthRes) * widthDim; v1.add(0,heightScaled,(pixeldata[widthRes*i])*zDim/255+thickness); v2.add(0,heightScaled,0); v3.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,(pixeldata[widthRes*(i+1)-1])*zDim/255+thickness); v4.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,0);} geo.quadStrip(v1,v2); geo.quadStrip(v4,v3); } //draw inferior v1.reset(); v2.Reset(); Añadir fondo cuatro esquinas v1.add(0,0,0); v1.Add(0,(heightRes-1)/Float(widthRes)*widthDim,0); v2.Add((widthRes-1)/Float(widthRes)*widthDim,0,0); v2.Add((widthRes-1)/Float(widthRes)*widthDim,(heightRes-1)/Float(widthRes)*widthDim,0); geo.quadStrip(v1,v2); cambiar extensión de nombre de archivo int dotPos = name.lastIndexOf("."); Si nombre (dotPos > 0) = name.substring (0, dotPos); geo.writeSTL(this,name+".stl"); Exit(); println("Finished"); }

Descargar la última versión del esbozo del proceso de GitHub (descargar en un zip haciendo clic en el botón de la nube). Abre la carpeta llamada Lithograph3DPrint. Copie cualquier imagen en escala de grises para convertir a esta carpeta.

Para ejecutar el sketch, reemplace la parte entre comillas en la siguiente línea:

String nombre = "your_file_name_here";

con el nombre de la imagen en escala de grises. Creo .gif, .jpg, .tga y .png archivos funcionará todo bien, pero hasta ahora sólo he probado .jpg. Ejecutar el boceto, después de un minuto o dos proceso le dirá que está escribiendo un archivo STL y finalmente le indicará que ha terminado. El archivo resultante se ubicará en la carpeta de sketch llamado "NAME_OF_ORIGINAL_FILE.stl" puede abrir el archivo stl con una variedad de CAD software y stl de espectadores, me gusta MeshLab para una visualización simple (es gratuito y de código abierto).

Por defecto mi bosquejo escalará imágenes a 8" de ancho, con un espesor base de espesor 0,02" y característica de hasta 0,1", usted puede cambiar estas establecer mediante el ajuste de la variable en la parte superior del bosquejo.

Artículos Relacionados

Para imprimir fotografía 360

Para imprimir fotografía 360

Lista de Materiais-Fotografia panorâmica em 360-Licuadora-Pepakura Designer-Estilete-ColaPaso 1: Para imprimir fotografía panorámica 360Después Selecione una fotografia de un ser utilizada ejecutar o programa Blender.Paso 2: Creando uma ico esfera Pa
Fotografía alternativa - impresión de fotos sobre objetos

Fotografía alternativa - impresión de fotos sobre objetos

luz líquida es probablemente uno de los mejores inventos en la historia de la fotografía. Básicamente permite imprimir fotografías a todo y cualquier cosa utilizando procedimientos de laboratorio estándar. Puede imprimir sobre madera, metal, vidrio,
Los fabricantes de una boda - cabina de la foto

Los fabricantes de una boda - cabina de la foto

es este Instructable sobre:la construcción de una cabina de fotos automática. El costo de construcción total era alrededor $150 como yo volver a muchos de los componentes y materiales que ya tenía en mi garaje - además de lo que pude salvar de desgua
Película para Mutoscope

Película para Mutoscope

Vive en San Francisco, estoy rodeado de sitios super cool de la historia tecnológica y cultural. Uno de estos sitios es el increíble Museo Méchanique en Pier 45 del Embarcadero. El Museo alberga todo tipo de reliquias mecánicas de la vuelta del siglo
Pasos para el uso de una Kodak Easy Share G600 impresora

Pasos para el uso de una Kodak Easy Share G600 impresora

La Kodak Easy Share G600 impresora es una impresora fácil de usar que le permite imprimir fotos desde la comodidad de su hogar. Esta impresora es una impresora de la imagen y también una estación de acoplamiento que permite subir fotos a la derecha d
El imán de nevera de marco de foto iluminada LED

El imán de nevera de marco de foto iluminada LED

imán de nevera de marco de foto iluminado el LED es un aparato muy simple, pero útil.Sólo requiere algunos conocimientos básicos de soldaduras y algunos conocimientos muy básicos de electrónica.Tomar una foto de alguien que te gusta y montarlo en est
Baja tecnología cartón TV juguete

Baja tecnología cartón TV juguete

por favor revise me en www.thecheesethief.com para DIYS más.Este es un juguete que hice como un niño.  Es un televisor que requiere el montaje y la imaginación.Me encanta este juguete porque las posibilidades son infinitas.  Los niños pueden seguir a
Carpeta de la escuela Cool!

Carpeta de la escuela Cool!

OK voy a mostrar cómo hacer una carpeta de la escuela cool! Si te gusta lo que construyo Suscríbete a mí!!!!!! Estoy entro en a la vuelta al Cole conest así que por favor vote por él!Paso 1: cosas!OK, esto es lo principal que usted necesita:Carpeta,c
Cómo encontrar amigos anime

Cómo encontrar amigos anime

Es difícil sé pero voy a intentar ayudar tanto como pueda.Paso 1: Intentar demostrar que usted tiene gusto de animePoner carteles en tu casillero, imprimir fotografías y pegarlos en tus libros, comprar camisas de anime o manga o video juego, pulseras
Cómo imprimir B &amp; W fotografías en un cuarto oscuro

Cómo imprimir B &amp; W fotografías en un cuarto oscuro

voy a enseñarte lo básico de la impresión en un cuarto oscuro, discutir los términos básicos y los procesos y explicar el funcionamiento del equipo que va a utilizar.Desarrollo de un cuadro en un cuarto oscuro por primera vez es una experiencia etern
Fotografías en piedra

Fotografías en piedra

tenemos una tonelada de piedra de la losa en nuestra yarda, y tan pronto como me encontré con unas piezas que fueron particularmente finas sabía exactamente lo que quería hacer con ellos. También tengo unas cuantas fotos que he significado para mostr
Automatizado de la plataforma de fotografía de producto

Automatizado de la plataforma de fotografía de producto

Hoy, solo brotes del mundo e-commerce sector cerca de 30 billones de imágenes al día en los estudios en todo el mundo. Tiro implica la intervención humana para colocar objetos y moverlos a través de múltiples ángulos antes de cada imagen se dispara.
Para una característica de página principal: Timelapse y multi-exposición fotografía la manera DIY (hacer o escribir su propio código).

Para una característica de página principal: Timelapse y multi-exposición fotografía la manera DIY (hacer o escribir su propio código).

Lo que me encanta de Instructables es que está centrada en la foto: lo primero que ves cuando se crea un nuevo Instructable es "Añadir imágenes", antes de cualquier entrada de texto cuadro de diálogo aparece! Fotos en el mundo en que vivimos hoy
Cómo hacer un impresionante dibujo a lápiz de cualquier fotografía

Cómo hacer un impresionante dibujo a lápiz de cualquier fotografía

dibujar cosas. Un montón de cosas. Pero el dibujo o dibujo no es un regalo, sino más bien una habilidad que puede aprenderse. Prueba estas técnicas y estar preparados para SORPRENDER a tus amigos y familiares en lo que un buen artista que eres!En est