کتابخانه جاوا اسکریپت منبع باز برای پردازش هندسه سه بعدی
منبع باز کتابخانه سه بعدی جاوا اسکریپت به راحتی امکان کار با هندسه های سه بعدی را در محیط گره می دهد.
Open3D یک کتابخانه سه بعدی جاوا اسکریپت منبع باز بسیار ساده و آسان برای استفاده است که توسعه دهندگان نرم افزار را قادر می سازد تا تمام پیچیدگی های مربوط به پردازش هندسه سه بعدی را مدیریت کنند. پشتیبان کتابخانه بسیار بهینه شده است و برای موازی سازی تنظیم شده است. دلیل اصلی ایجاد کتابخانه این است که کتابخانه پایداری برای رسیدگی به وظایف مربوط به هندسه سه بعدی در محیط گره وجود ندارد. این در Typescript نوشته شده است که به طور کامل از انواع بومی برای یک پروژه بدون هیچ زحمتی نصب پشتیبانی می کند.
جریان Open3D یک کتابخانه سه بعدی اساسی است که در حال حاضر شامل عملکردهای بردار / ماتریس / خطوط / صفحه / تقاطع است. Open3D یک کتابخانه سبک وزن است که به محاسبات سه بعدی اولیه اما حجیم مانند جستجوی نزدیکترین نقطه در یک هواپیما، تعامل دو خط، محاسبه فاصله نقطه به نقطه، تبدیل یک صفحه و یافتن نرمال هواپیما و پسر تبدیل شده کمک می کند. این کتابخانه تحت مجوز GPLv3 در دسترس است، به این معنی که استفاده از آن برای پروژه های شخصی و تجاری رایگان است.
شروع کار با Open3D
ساده ترین راه برای نصب نسخه پایدار Open3D استفاده از Yarn است. لطفا از دستور زیر برای نصب راحت استفاده کنید.
Open3D را از طریق Yarn نصب کنید
$yarn add open3d
با استفاده از دستور زیر Open3D را از طریق NPM نصب کنید.
npm i open3d
می توانید کتابخانه مشترک کامپایل شده را از مخزن Github دانلود کنید.
تبدیل یک هواپیما به روش های مختلف از طریق JavaScript API
صفحه یک سطح دو بعدی است که بی نهایت در فضای سه بعدی گسترش می یابد و تبدیل فرآیندی است که شکل، اندازه یا موقعیت یک شکل را تغییر می دهد. کتابخانه رایگان جاوا اسکریپت سه بعدی، Open3D به توسعه دهندگان نرم افزار کمک می کند تا به راحتی یک هواپیما را در برنامه های جاوا اسکریپت خود تغییر دهند. از توابع مختلفی مانند ترجمه، چرخش، مقیاس و آینه کردن یک هواپیما پشتیبانی می کند. همچنین امکان ترکیب تبدیل و یافتن نرمال صفحه تبدیل شده وجود دارد. شما همچنین می توانید یک تبدیل چرخشی ایجاد کنید که از صفحه 1 به صفحه 2 جهت می دهد.
تبدیل یک هواپیما به روش های مختلف از طریق جاوا اسکریپت
Transform, Plane } from 'open3d';
// translation
const translate = Transform.Translation(new Vector3d(1, 2, 3));
// rotation
const rotation = Transform.Rotation(Math.PI / 3, new Vector3d(5, 2, 0), new Point3d(-2, 2, 9));
// scale
const scale = Transform.Scale(new Point3d(1, 2, 3), 3);
// mirror
const mirror = Transform.Mirror(new Plane(Point3d.Origin, new Vector3d(8, 2, -4), new Vector3d(0, 8, 5)));
// combine transform
const transformation = Transform.CombineTransforms([translate, rotation, scale, mirror]);
// transform plane
const plane = new Plane(Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis);
const transformedPlane = plane.Transform(transformation);
تقاطع دو خط را از طریق جاوا اسکریپت محاسبه کنید
تقاطع دو خط نقطه ای است که نمودارهای دو خط از یکدیگر عبور می کنند. تقاطع دو یا چند خط نقش بسیار مهمی در هندسه دارد. کتابخانه Open3D جاوا اسکریپت منبع باز به طور کامل از محاسبه تقاطع دو خط تنها با چند خط کد جاوا اسکریپت پشتیبانی می کند. برای دستیابی به وظایف ابتدا باید هر دو خط را تعریف کنید و سپس توابع Intersection.LineLine() را فراخوانی کنید تا فرآیند محاسبه تکمیل شود.
نحوه محاسبه تقاطع دو خط از طریق کتابخانه جاوا اسکریپت
import { Line, Point3d, Intersection } from 'open3d';
const line1 = new Line(new Point3d(-4, -1, 0), new Point3d(5, 0, 0));
const line2 = new Line(new Point3d(0, -2, 0), new Point3d(3, 7, 0));
const intersection = Intersection.LineLine(line1, line2);
بردارهای سه بعدی را در برنامه های جاوا اسکریپت مدیریت کنید
بردار سه بعدی یک پاره خط در فضای سه بعدی است که از نقطه A (دم) به نقطه B (سر) کشیده شده است. کتابخانه Open3D جاوا اسکریپت منبع باز پشتیبانی از کار با وکتور سه بعدی در داخل برنامه های جاوا اسکریپت را فراهم کرده است. شما به راحتی می توانید یک نمونه جدید از یک بردار را با استفاده از سه جزء آن مقداردهی اولیه کنید. این اجازه می دهد تا به راحتی جزء X، Y یا Z یک بردار را دریافت یا تنظیم کنید. همچنین می توان طول (یا قدر یا اندازه) این بردار را محاسبه کرد. از ویژگی هایی مانند جمع کردن دو بردار، جمع کردن یک بردار به یک نقطه، اضافه کردن یک نقطه به این بردار، تفریق بردارها، ضرب یک بردار در یک عدد و غیره پشتیبانی می کند.