Безплатна Go библиотека за чертежи на рамкови мрежи
Отворена библиотека за 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 предлага перфектния баланс между простота, гъвкавост и творическа свобода.
Започване с 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)