1. Товары
  2.   3D
  3.   GO
  4.   Pinhole
 
  

Бесплатная библиотека Go для рисования 3D каркаса

Библиотека с открытым исходным кодом Go для рисования 3D каркаса. Она позволяет разработчикам программного обеспечения создавать и управлять 3D‑сценой, рендерить 3D‑файлы с помощью простого API для визуализации структур данных.

Что такое библиотека Pinhole?

В постоянно развивающемся мире программирования новые инструменты постоянно расширяют творческие возможности — и Pinhole выделяется как мощный открытый Go 3D API для рисования 3D каркасов. Этот бесплатный 3D Go API позволяет разработчикам программного обеспечения создавать 3D каркасные рисунки, рендерить 3D файлы и разрабатывать сложные визуализации без необходимости осваивать низкоуровневые графические алгоритмы. Благодаря чистому и доступному интерфейсу Pinhole упрощает создание 3D‑объектов, определение пользовательских объектов и построение захватывающих 3D‑сцен. Независимо от того, хотите ли вы добавить новый круг, трансформировать существующий круг или управлять целой 3D‑сценой, Pinhole дает возможность как новичкам, так и опытным разработчикам сосредоточиться на креативности, а не на сложности.

Что делает Pinhole особенно привлекательным, так это его интуитивный API для гибкого создания объектов и бесшовного управления сценой. Разработчики программного обеспечения могут легко задавать точки обзора, манипулировать формами и воплощать концепции каркасных моделей в жизнь без крутого порога обучения. Идеально подходит для дизайнеров, преподавателей, художников и любопытных кодеров, Pinhole превращает создание 3D‑объектов и их рендеринг в приятный, простой процесс. Абстрагируя сложную логику рендеринга, он позволяет каждому экспериментировать, инновацировать и создавать визуально привлекательные 3D‑карандашные визуализации. Если вы хотите исследовать мир 3D‑рисования каркасов в Go, Pinhole предлагает идеальный баланс простоты, гибкости и творческой свободы.

Previous Next

Начало работы с Pinhole

Рекомендуемый способ установки Pinhole — использовать GitHub. Пожалуйста, используйте следующую команду для плавной установки.

Установите Pinhole API через команду Get

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

Вы можете скачать скомпилированную общую библиотеку из репозитория Github.

Создание и управление 3D сценой через Go API

Открытая библиотека Pinhole позволяет разработчикам программного обеспечения создавать и управлять 3D‑сценой внутри своих собственных приложений на Go. Библиотека включает поддержку нескольких важных функций, таких как создание базовой 3D‑сцены, добавление объектов, настройка камеры, рендеринг сцены и многое другое. Библиотека предоставляет разнообразные примитивные 3D‑формы, которые вы можете использовать в своей сцене. Также возможно создавать пользовательские объекты, определяя вершины, ребра или грани, и добавлять их в сцену. Ниже приведён пример, показывающий, как разработчики могут создать 3D‑сцену с помощью команд Go.

Как создать базовую 3D-сцену с помощью библиотеки 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()

Настройка рендеринга и управление камерой

Разработчики программного обеспечения могут настраивать стиль рендеринга каркасных сцен, выбирая цвета линий, толщину и параметры фона. Такая гибкость позволяет им достичь желаемой визуальной эстетики. Кроме того, библиотека предоставляет мощные средства управления камерой, позволяя разработчикам регулировать положение камеры, её ориентацию и параметры проекции. Эта функция обеспечивает динамическое исследование 3D‑сцен и повышает интерактивность пользователя.

Гибкое создание объектов через Go API

Библиотека Pinhole включает широкий набор примитивных фигур, таких как кубы, сферы и конусы, что упрощает создание обычных 3D‑объектов. Кроме того, разработчики могут определять пользовательские объекты, задавая вершины, ребра и грани, что позволяет создавать сложные и уникальные каркасные сцены. Инженеры и дизайнеры могут использовать библиотеку для быстрого прототипирования и визуализации 3D‑моделей, что помогает оценивать проекты и выявлять потенциальные проблемы до начала полномасштабной разработки.

Как добавить, вращать и трансформировать круг с помощью Go API?

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)

 Русский