Atvērtā pirmkoda JavaScript bibliotēka 3D ģeometrijas apstrādei
Atvērtā koda viegli lietojamā JavaScript 3D bibliotēka ļauj strādāt ar 3D ģeometrijām mezglu vidē.
Open3D ir ļoti vienkārša un viegli lietojama atvērtā pirmkoda JavaScript 3D bibliotēka, kas ļauj programmatūras izstrādātājiem tikt galā ar visām sarežģītībām, kas saistītas ar 3D ģeometrijas apstrādi. Bibliotēkas aizmugure ir ļoti optimizēta un ir iestatīta paralēlizēšanai. Galvenais bibliotēkas izveides iemesls ir tas, ka nav stabilas bibliotēkas ar 3D ģeometriju saistīto uzdevumu apstrādei mezglu vidē. Tas ir rakstīts rakstāmrakstā, kas pilnībā atbalsta vietējos projektu veidus bez instalēšanas problēmām.
Open3D strāva ir pamata 3D bibliotēka, kas pašlaik ietver vektoru / matricu / līniju / plakņu / krustojumu funkcijas. Open3D ir viegla bibliotēka, kas palīdz veikt vienkāršus, bet apjomīgus 3D aprēķinus, piemēram, tuvākā punkta meklēšanu plaknē, divu līniju mijiedarbību, attāluma aprēķināšanu no punkta līdz punktam, plaknes pārveidošanu un transformētās plaknes normālu atrašanu. Šī bibliotēka ir pieejama saskaņā ar GPLv3 licenci, kas nozīmē, ka to var bez maksas izmantot personiskiem un komerciāliem projektiem.
Darba sākšana ar Open3D
Vienkāršākais veids, kā instalēt Open3D stabilo laidienu, ir izmantot Yarn. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.
Instalējiet Open3D, izmantojot dziju
$yarn add open3d
instalējiet Open3D, izmantojot NPM, izmantojot šo komandu.
npm i open3d
Varat lejupielādēt apkopoto koplietojamo bibliotēku no Github krātuves.
Pārveidojiet lidmašīnu dažādos veidos, izmantojot JavaScript API
Plakne ir divdimensiju virsma, kas 3D telpā stiepjas bezgalīgi, un transformācija ir process, kas maina figūras formu, izmēru vai pozīciju. Bezmaksas JavaScript 3D bibliotēka Open3D palīdz programmatūras izstrādātājiem viegli pārveidot plakni savās JavaScript lietojumprogrammās. Tā atbalsta dažādas funkcijas, piemēram, plaknes tulkošanu, pagriešanu, mērogošanu un spoguļošanu. Ir iespējams arī apvienot transformāciju un atrast pārveidotās plaknes normālu. Varat arī izveidot rotācijas transformāciju, kas orientējas no plaknes1 uz plakni2.
Pārveidojiet lidmašīnu dažādos veidos, izmantojot JavaScript
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);
Aprēķiniet divu līniju krustojumu, izmantojot JavaScript
Divu līniju krustpunkts ir punkts, kurā divu līniju grafiki krustojas viens ar otru. Divu vai vairāku līniju krustojumam ir ļoti liela nozīme ģeometrijā. Atvērtā koda JavaScript Open3D bibliotēka pilnībā atbalsta divu rindu krustojuma aprēķināšanu, izmantojot tikai dažas JavaScript koda rindas. Lai izpildītu uzdevumus, vispirms ir jādefinē abas līnijas un pēc tam jāizsauc funkcijas Intersection.LineLine(), lai pabeigtu aprēķina procesu.
Kā aprēķināt krustojumu divām līnijām, izmantojot JavaScript bibliotēku
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);
Pārvaldiet 3D vektorus JavaScript lietotnēs
3D vektors ir līnijas segments trīsdimensiju telpā, kas iet no punkta A (aste) līdz punktam B (galva). Atvērtā koda JavaScript Open3D bibliotēka ir nodrošinājusi atbalstu darbam ar 3D vektoru JavaScript lietojumprogrammās. Varat viegli inicializēt jaunu vektora gadījumu, izmantojot trīs tā komponentus. Tas ļauj viegli iegūt vai iestatīt vektora X, Y vai Z komponentu. Ir iespējams arī aprēķina šī vektora garumu (vai lielumu, vai lielumu). Tā atbalsta tādas funkcijas kā divu vektoru summēšana, vektora summēšana līdz punktam, punkta pievienošana šim vektoram, vektoru atņemšana, vektora reizināšana ar skaitli un tā tālāk.