1. Productos
  2.   3D
  3.   GO
  4.   Pinhole
 
  

Biblioteca Go gratuita para dibujar wireframes 3D

Biblioteca Go 3D de Código Abierto para dibujar wireframes 3D. Permite a los desarrolladores de software crear y gestionar escenas 3D, renderizar archivos 3D mediante una API simple para visualizar estructuras de datos.

¿Qué es la biblioteca Pinhole?

En el mundo de la programación, que está en constante evolución, las nuevas herramientas amplían continuamente las posibilidades creativas, y Pinhole se destaca como una poderosa API 3D de código abierto para Go, destinada al dibujo de estructuras de alambre en 3D. Esta API 3D gratuita para Go permite a los desarrolladores de software crear dibujos de alambre en 3D, renderizar archivos 3D y diseñar visualizaciones complejas sin necesidad de dominar algoritmos gráficos de bajo nivel. Con su interfaz limpia y accesible, Pinhole facilita la creación de objetos 3D, la definición de objetos personalizados y la construcción de escenas 3D inmersivas. Ya sea que desees agregar un nuevo círculo, transformar un círculo existente o gestionar una escena 3D completa, Pinhole capacita tanto a principiantes como a desarrolladores experimentados para centrarse en la creatividad en lugar de la complejidad.

Lo que hace que Pinhole sea especialmente atractivo es su API intuitiva para la creación versátil de objetos y la gestión fluida de escenas. Los desarrolladores de software pueden establecer fácilmente puntos de vista, manipular formas y dar vida a conceptos de wireframe sin una curva de aprendizaje pronunciada. Ideal para diseñadores, educadores, artistas y programadores curiosos por igual, Pinhole convierte la creación de objetos 3D y su renderizado en un proceso agradable y sencillo. Al abstraer la lógica de renderizado compleja, permite a cualquiera experimentar, innovar y crear visualizaciones 3D de wireframe visualmente atractivas. Si buscas explorar el mundo del dibujo de wireframe 3D en Go, Pinhole ofrece el equilibrio perfecto entre simplicidad, flexibilidad y libertad creativa.

Previous Next

Comenzando con Pinhole

La forma recomendada de instalar Pinhole es usando GitHub. Por favor, usa el siguiente comando para una instalación sin problemas.

Instalar la API de Pinhole mediante el comando Get

$ go get -u github.com/tidwall/pinhole 

Puedes descargar la biblioteca compartida compilada desde GitHub repositorio.

Crear y gestionar escena 3D mediante la API Go

La biblioteca de código abierto Pinhole permite a los desarrolladores de software crear y gestionar escenas 3D dentro de sus propias aplicaciones Go. La biblioteca incluye soporte para varias características importantes, como crear una escena 3D básica, añadir objetos, configurar la cámara, renderizar la escena y mucho más. La biblioteca proporciona una variedad de formas primitivas 3D que puedes usar en tu escena. También es posible crear objetos personalizados definiendo vértices, aristas o caras y añadirlos a tu escena. El siguiente ejemplo muestra cómo los desarrolladores de software pueden crear una escena 3D usando comandos Go.

¿Cómo crear una escena 3D básica mediante la biblioteca Go?

import "github.com/tidwall/pinhole"

// Initialize the Scene
scene := pinhole.NewScene()

// Create 3D Objects:
cube := pinhole.NewCube()

//create custom objects and added to the scene
triangle := pinhole.NewObject()
triangle.Vertices = []pinhole.Vertex{
    {X: 0, Y: 0, Z: 0},
    {X: 1, Y: 0, Z: 0},
    {X: 0, Y: 1, Z: 0},
}
triangle.Edges = []pinhole.Edge{
    {0, 1},
    {1, 2},
    {2, 0},
}

scene.AddObject(cube)
scene.AddObject(triangle)

// Configure the Camera

camera := pinhole.NewCamera()
camera.Position = pinhole.Vector{X: 0, Y: 0, Z: 5} // Adjust the camera position
camera.Target = pinhole.Vector{X: 0, Y: 0, Z: 0}   // Set the camera's target (where it's looking)
scene.SetCamera(camera)

// Render the Scene and display out

renderer := pinhole.NewRenderer(scene)
renderer.Render()

Personalización de renderizado y control de cámara

Los desarrolladores de software pueden personalizar el estilo de renderizado de escenas de alambre con opciones de colores de línea, grosor y configuraciones de fondo. Esta flexibilidad permite a los desarrolladores de software lograr la estética visual deseada. Además, la biblioteca ofrece controles de cámara potentes, que permiten a los desarrolladores de software ajustar la posición, orientación y configuraciones de proyección de la cámara. Esta característica permite una exploración dinámica de escenas 3D y mejora la interactividad del usuario.

Creación versátil de objetos mediante la API Go

La biblioteca Pinhole ha incluido una amplia gama de formas primitivas como cubos, esferas y conos, lo que facilita la creación de objetos 3D comunes. Además, los desarrolladores pueden definir objetos personalizados especificando vértices, aristas y caras, lo que permite crear escenas de alambre complejas y únicas. Ingenieros y diseñadores pueden usar la biblioteca para prototipar y visualizar rápidamente modelos 3D, ayudando en la evaluación de diseños y la identificación de posibles problemas antes de comprometerse con el desarrollo a gran escala.

¿Cómo agregar, rotar y transformar un círculo mediante la API de Go?

p := pinhole.New()
p.DrawCube(-0.3, -0.3, -0.3, 0.3, 0.3, 0.3)
p.Rotate(math.Pi/3, math.Pi/6, 0)

p.Begin()
p.DrawCircle(0, 0, 0, 0.2)
p.Rotate(0, math.Pi/2, 0)
p.Translate(-0.6, -0.4, 0)
p.Colorize(color.RGBA{255, 0, 0, 255})
p.End()

p.SavePNG("cube.png", 500, 500, nil)

 Español