مكتبة Go مجانية لرسم الإطارات السلكية ثلاثية الأبعاد

مكتبة Go ثلاثية الأبعاد مفتوحة المصدر لرسم الإطارات السلكية ثلاثية الأبعاد. تتيح للمطورين إنشاء وإدارة المشهد ثلاثي الأبعاد، وتصيير ملفات ثلاثية الأبعاد عبر واجهة برمجة تطبيقات بسيطة لتصوير هياكل البيانات.

ما هي مكتبة Pinhole؟

في عالم البرمجة المتطور باستمرار، تتوسع الأدوات الجديدة باستمرار في إمكانيات الإبداع—ويبرز Pinhole كواجهة برمجة تطبيقات Go ثلاثية الأبعاد مفتوحة المصدر قوية لرسم الإطارات السلكية ثلاثية الأبعاد. تتيح هذه الواجهة المجانية للمطورين إنشاء رسومات إطارات سلكية ثلاثية الأبعاد، وتصيير ملفات ثلاثية الأبعاد، وتصميم تصورات معقدة دون الحاجة لإتقان خوارزميات الرسوميات منخفضة المستوى. بفضل واجهتها النظيفة وسهلة الوصول، يجعل Pinhole إنشاء الكائنات ثلاثية الأبعاد، وتعريف الكائنات المخصصة، وبناء مشاهد ثلاثية الأبعاد غامرة أمرًا بسيطًا. سواء كنت ترغب في إضافة دائرة جديدة، أو تحويل دائرة موجودة، أو إدارة مشهد ثلاثي الأبعاد كامل، فإن Pinhole يمكّن كلًا من المبتدئين والمطورين ذوي الخبرة من التركيز على الإبداع بدلاً من التعقيد.

ما يجعل Pinhole جذابًا بشكل خاص هو واجهته البرمجية البديهية لإنشاء الكائنات المتعددة الاستخدامات وإدارة المشاهد بسلاسة. يمكن للمطورين بسهولة ضبط وجهات النظر، وتعديل الأشكال، وإحياء مفاهيم الإطار السلكي دون منحنى تعلم حاد. مثالي للمصممين، والمعلمين، والفنانين، والمبرمجين الفضوليين على حد سواء، يحول Pinhole عملية إنشاء كائنات ثلاثية الأبعاد وعرضها إلى عملية ممتعة ومباشرة. من خلال تجريد المنطق المعقد للتصيير، يتيح لأي شخص التجربة والابتكار وصنع تصورات ثلاثية الأبعاد سلكية جذابة بصريًا. إذا كنت ترغب في استكشاف عالم الرسم السلكي ثلاثي الأبعاد في Go، فإن Pinhole يقدم التوازن المثالي بين البساطة والمرونة والحرية الإبداعية.

Previous Next

البدء مع Pinhole

الطريقة الموصى بها لتثبيت Pinhole هي باستخدام GitHub. يرجى استخدام الأمر التالي لتثبيت سلس.

تثبيت Pinhole API عبر أمر Get

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

يمكنك تنزيل المكتبة المشتركة المجمعة من مستودع GitHub.

إنشاء وإدارة مشهد ثلاثي الأبعاد عبر واجهة برمجة تطبيقات Go

تتيح مكتبة Pinhole المفتوحة المصدر للمطورين إنشاء وإدارة مشهد ثلاثي الأبعاد داخل تطبيقاتهم المكتوبة بلغة Go. تشمل المكتبة دعمًا لعدة ميزات مهمة، مثل إنشاء مشهد ثلاثي الأبعاد أساسي، إضافة كائنات، تكوين الكاميرا، تصيير المشهد والعديد غير ذلك. توفر المكتبة مجموعة متنوعة من الأشكال الثلاثية الأبعاد الأولية التي يمكنك استخدامها في المشهد الخاص بك. كما يمكن إنشاء كائنات مخصصة عن طريق تعريف الرؤوس أو الحواف أو الوجوه وإضافتها إلى المشهد. يوضح المثال التالي كيف يمكن للمطورين إنشاء مشهد ثلاثي الأبعاد باستخدام أوامر Go.

كيف تنشئ مشهدًا ثلاثي الأبعاد أساسيًا باستخدام مكتبة 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()

تخصيص العرض والتحكم في الكاميرا

يمكن للمطورين تخصيص نمط تصيير مشاهد الإطار السلكي باستخدام خيارات لألوان الخطوط، السماكة، وإعدادات الخلفية. تمنح هذه المرونة المطورين القدرة على تحقيق الجماليات البصرية المطلوبة. علاوة على ذلك، توفر المكتبة أدوات تحكم قوية للكاميرا، مما يمكّن المطورين من تعديل موضع الكاميرا، اتجاهها، وإعدادات الإسقاط. تتيح هذه الميزة استكشافًا ديناميكيًا للمشاهد ثلاثية الأبعاد وتعزز التفاعل مع المستخدم.

إنشاء كائنات متعددة الاستخدامات عبر واجهة برمجة تطبيقات Go

تتضمن مكتبة Pinhole مجموعة واسعة من الأشكال الأولية مثل المكعبات والكرات والاقماع، مما يجعل إنشاء الكائنات ثلاثية الأبعاد الشائعة سهلًا. بالإضافة إلى ذلك، يمكن للمطورين تعريف كائنات مخصصة عن طريق تحديد الرؤوس والحواف والوجوه، مما يسمح بإنشاء مشاهد سلكية معقدة وفريدة. يمكن للمهندسين والمصممين استخدام المكتبة لإنشاء نماذج أولية بسرعة وتصوير نماذج ثلاثية الأبعاد، مما يساعد في تقييم التصاميم وتحديد المشكلات المحتملة قبل الالتزام بالتطوير الكامل.

كيف تضيف وتدوّر وتحوّل دائرة باستخدام واجهة برمجة تطبيقات 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)

 عربي