1. Məhsullar
  2.   3D
  3.   JavaScript
  4.   Open3D
 
  

3D Həndəsə Emalı üçün Açıq Mənbəli JavaScript Kitabxanası

İstifadəsi asan Açıq Mənbəli JavaScript 3D kitabxanası qovşaq mühitində 3D həndəsələrlə işləməyə imkan verir.

Open3D çox sadə və istifadəsi asan açıq mənbəli JavaScript 3D kitabxanasıdır və proqram tərtibatçılarına 3D həndəsəsinin emalı ilə bağlı bütün mürəkkəblikləri idarə etməyə imkan verir. Kitabxananın arxa hissəsi çox optimallaşdırılıb və paralelləşdirmə üçün qurulub. Kitabxananın yaradılmasının əsas səbəbi qovşaq mühitində 3D həndəsə ilə bağlı tapşırıqların idarə edilməsi üçün sabit kitabxananın olmamasıdır. Quraşdırma əngəli olmadan bir layihə üçün yerli növləri tam dəstəkləyən Typescript-də yazılmışdır.

Open3D cərəyanı hazırda vektorların / matrislərin / xətlərin / təyyarələrin / kəsişmələrin funksiyalarını əhatə edən əsas 3D kitabxanadır. Open3D müstəvidə ən yaxın nöqtənin axtarışı, iki xəttin qarşılıqlı əlaqəsi, nöqtədən nöqtəyə məsafənin hesablanması, müstəviyə çevrilməsi və transformasiya edilmiş müstəvi və oğlunun normalını tapmaq kimi sadə, lakin böyük həcmli 3D hesablamalarında kömək edən yüngül kitabxanadır. Bu kitabxana GPLv3 lisenziyası altında mövcuddur, yəni şəxsi və kommersiya layihələri üçün istifadə etmək pulsuzdur.

Previous Next

Open3D ilə işə başlamaq

Open3D sabit buraxılışını quraşdırmağın ən asan yolu Yarn istifadə etməkdir. Düzgün quraşdırma üçün aşağıdakı əmrdən istifadə edin.

Yarn vasitəsilə Open3D quraşdırın

$yarn add open3d 

aşağıdakı əmrdən istifadə edərək Open3D-ni NPM vasitəsilə quraşdırın.

npm i open3d 

Siz tərtib edilmiş paylaşılan kitabxananı Github repozitoriyasından endirə bilərsiniz.

JavaScript API vasitəsilə təyyarəni müxtəlif yollarla çevirin

Təyyarə 3D məkanında sonsuz uzanan iki ölçülü səthdir və transformasiya fiqurun formasını, ölçüsünü və ya mövqeyini dəyişdirən bir prosesdir. Pulsuz JavaScript 3D kitabxanası, Open3D proqram tərtibatçılarına öz JavaScript proqramları daxilində təyyarəni asanlıqla çevirməyə kömək edir. Təyyarənin tərcüməsi, fırlanması, miqyası və əks olunması kimi müxtəlif funksiyaları dəstəkləyir. Transformasiyanı birləşdirmək və çevrilmiş müstəvinin normalını tapmaq da mümkündür. Siz həmçinin təyyarə1-dən müstəvi2-yə istiqamətləndirən fırlanma çevrilməsi yarada bilərsiniz.

JavaScript vasitəsilə bir təyyarəni müxtəlif yollarla çevirin

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);

JavaScript vasitəsilə iki xəttin kəsişməsini hesablayın

İki xəttin kəsişməsi iki xəttin qrafiklərinin bir-birini kəsdiyi nöqtədir. İki və ya daha çox xəttin kəsişməsi həndəsədə çox mühüm rol oynayır. Açıq mənbə JavaScript Open3D Kitabxanası cəmi bir neçə sətir JavaScript kodu ilə iki xəttin kəsişməsini hesablamağı tam dəstəkləyir. Tapşırıqlara nail olmaq üçün əvvəlcə hər iki xətti müəyyən etməli və sonra hesablama prosesini başa çatdırmaq üçün Intersection.LineLine() funksiyalarını çağırmalısınız.

JavaScript Kitabxanası vasitəsilə iki sətirə kəsişməni necə hesablamaq olar

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);

JavaScript Tətbiqlərində 3D Vektorları idarə edin

3D vektor üçölçülü fəzada A nöqtəsindən (quyruq) B nöqtəsinə (baş) qədər uzanan xətt seqmentidir. Açıq mənbəli JavaScript Open3D Kitabxanası JavaScript proqramları daxilində 3D vektorla işləmək üçün dəstək təmin etmişdir. Siz asanlıqla üç komponentdən istifadə edərək vektorun yeni nümunəsini işə sala bilərsiniz. Bir vektorun X, Y və ya Z komponentlərini asanlıqla əldə etməyə və ya təyin etməyə imkan verir. Bu vektorun uzunluğunu (və ya böyüklüyünü və ya ölçüsünü) hesablamaq da mümkündür. O, iki vektoru yekunlaşdırmaq, vektoru nöqtəyə yekunlaşdırmaq, bu vektora nöqtə əlavə etmək, vektorları çıxarmaq, vektoru ədədə vurmaq və s. kimi funksiyaları dəstəkləyir.

 Azəri