module-vec3.html 89 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Module: vec3</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Module: vec3</h1>
  17. <section>
  18. <header>
  19. </header>
  20. <article>
  21. <div class="container-overview">
  22. <div class="description">3 Dimensional Vector</div>
  23. <dl class="details">
  24. <dt class="tag-source">Source:</dt>
  25. <dd class="tag-source"><ul class="dummy"><li>
  26. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line3">line 3</a>
  27. </li></ul></dd>
  28. </dl>
  29. </div>
  30. <h3 class="subsection-title">Methods</h3>
  31. <h4 class="name" id=".add"><span class="type-signature">(static) </span>add<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  32. <div class="description">
  33. Adds two vec3's
  34. </div>
  35. <h5>Parameters:</h5>
  36. <table class="params">
  37. <thead>
  38. <tr>
  39. <th>Name</th>
  40. <th>Type</th>
  41. <th class="last">Description</th>
  42. </tr>
  43. </thead>
  44. <tbody>
  45. <tr>
  46. <td class="name"><code>out</code></td>
  47. <td class="type">
  48. <span class="param-type">vec3</span>
  49. </td>
  50. <td class="description last">the receiving vector</td>
  51. </tr>
  52. <tr>
  53. <td class="name"><code>a</code></td>
  54. <td class="type">
  55. <span class="param-type">vec3</span>
  56. </td>
  57. <td class="description last">the first operand</td>
  58. </tr>
  59. <tr>
  60. <td class="name"><code>b</code></td>
  61. <td class="type">
  62. <span class="param-type">vec3</span>
  63. </td>
  64. <td class="description last">the second operand</td>
  65. </tr>
  66. </tbody>
  67. </table>
  68. <dl class="details">
  69. <dt class="tag-source">Source:</dt>
  70. <dd class="tag-source"><ul class="dummy"><li>
  71. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line104">line 104</a>
  72. </li></ul></dd>
  73. </dl>
  74. <h5>Returns:</h5>
  75. <div class="param-desc">
  76. out
  77. </div>
  78. <dl>
  79. <dt>
  80. Type
  81. </dt>
  82. <dd>
  83. <span class="param-type">vec3</span>
  84. </dd>
  85. </dl>
  86. <h4 class="name" id=".angle"><span class="type-signature">(static) </span>angle<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  87. <div class="description">
  88. Get the angle between two 3D vectors
  89. </div>
  90. <h5>Parameters:</h5>
  91. <table class="params">
  92. <thead>
  93. <tr>
  94. <th>Name</th>
  95. <th>Type</th>
  96. <th class="last">Description</th>
  97. </tr>
  98. </thead>
  99. <tbody>
  100. <tr>
  101. <td class="name"><code>a</code></td>
  102. <td class="type">
  103. <span class="param-type">vec3</span>
  104. </td>
  105. <td class="description last">The first operand</td>
  106. </tr>
  107. <tr>
  108. <td class="name"><code>b</code></td>
  109. <td class="type">
  110. <span class="param-type">vec3</span>
  111. </td>
  112. <td class="description last">The second operand</td>
  113. </tr>
  114. </tbody>
  115. </table>
  116. <dl class="details">
  117. <dt class="tag-source">Source:</dt>
  118. <dd class="tag-source"><ul class="dummy"><li>
  119. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line633">line 633</a>
  120. </li></ul></dd>
  121. </dl>
  122. <h5>Returns:</h5>
  123. <div class="param-desc">
  124. The angle in radians
  125. </div>
  126. <dl>
  127. <dt>
  128. Type
  129. </dt>
  130. <dd>
  131. <span class="param-type">Number</span>
  132. </dd>
  133. </dl>
  134. <h4 class="name" id=".bezier"><span class="type-signature">(static) </span>bezier<span class="signature">(out, a, b, c, d, t)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  135. <div class="description">
  136. Performs a bezier interpolation with two control points
  137. </div>
  138. <h5>Parameters:</h5>
  139. <table class="params">
  140. <thead>
  141. <tr>
  142. <th>Name</th>
  143. <th>Type</th>
  144. <th class="last">Description</th>
  145. </tr>
  146. </thead>
  147. <tbody>
  148. <tr>
  149. <td class="name"><code>out</code></td>
  150. <td class="type">
  151. <span class="param-type">vec3</span>
  152. </td>
  153. <td class="description last">the receiving vector</td>
  154. </tr>
  155. <tr>
  156. <td class="name"><code>a</code></td>
  157. <td class="type">
  158. <span class="param-type">vec3</span>
  159. </td>
  160. <td class="description last">the first operand</td>
  161. </tr>
  162. <tr>
  163. <td class="name"><code>b</code></td>
  164. <td class="type">
  165. <span class="param-type">vec3</span>
  166. </td>
  167. <td class="description last">the second operand</td>
  168. </tr>
  169. <tr>
  170. <td class="name"><code>c</code></td>
  171. <td class="type">
  172. <span class="param-type">vec3</span>
  173. </td>
  174. <td class="description last">the third operand</td>
  175. </tr>
  176. <tr>
  177. <td class="name"><code>d</code></td>
  178. <td class="type">
  179. <span class="param-type">vec3</span>
  180. </td>
  181. <td class="description last">the fourth operand</td>
  182. </tr>
  183. <tr>
  184. <td class="name"><code>t</code></td>
  185. <td class="type">
  186. <span class="param-type">Number</span>
  187. </td>
  188. <td class="description last">interpolation amount, in the range [0-1], between the two inputs</td>
  189. </tr>
  190. </tbody>
  191. </table>
  192. <dl class="details">
  193. <dt class="tag-source">Source:</dt>
  194. <dd class="tag-source"><ul class="dummy"><li>
  195. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line434">line 434</a>
  196. </li></ul></dd>
  197. </dl>
  198. <h5>Returns:</h5>
  199. <div class="param-desc">
  200. out
  201. </div>
  202. <dl>
  203. <dt>
  204. Type
  205. </dt>
  206. <dd>
  207. <span class="param-type">vec3</span>
  208. </dd>
  209. </dl>
  210. <h4 class="name" id=".ceil"><span class="type-signature">(static) </span>ceil<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  211. <div class="description">
  212. Math.ceil the components of a vec3
  213. </div>
  214. <h5>Parameters:</h5>
  215. <table class="params">
  216. <thead>
  217. <tr>
  218. <th>Name</th>
  219. <th>Type</th>
  220. <th class="last">Description</th>
  221. </tr>
  222. </thead>
  223. <tbody>
  224. <tr>
  225. <td class="name"><code>out</code></td>
  226. <td class="type">
  227. <span class="param-type">vec3</span>
  228. </td>
  229. <td class="description last">the receiving vector</td>
  230. </tr>
  231. <tr>
  232. <td class="name"><code>a</code></td>
  233. <td class="type">
  234. <span class="param-type">vec3</span>
  235. </td>
  236. <td class="description last">vector to ceil</td>
  237. </tr>
  238. </tbody>
  239. </table>
  240. <dl class="details">
  241. <dt class="tag-source">Source:</dt>
  242. <dd class="tag-source"><ul class="dummy"><li>
  243. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line163">line 163</a>
  244. </li></ul></dd>
  245. </dl>
  246. <h5>Returns:</h5>
  247. <div class="param-desc">
  248. out
  249. </div>
  250. <dl>
  251. <dt>
  252. Type
  253. </dt>
  254. <dd>
  255. <span class="param-type">vec3</span>
  256. </dd>
  257. </dl>
  258. <h4 class="name" id=".clone"><span class="type-signature">(static) </span>clone<span class="signature">(a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  259. <div class="description">
  260. Creates a new vec3 initialized with values from an existing vector
  261. </div>
  262. <h5>Parameters:</h5>
  263. <table class="params">
  264. <thead>
  265. <tr>
  266. <th>Name</th>
  267. <th>Type</th>
  268. <th class="last">Description</th>
  269. </tr>
  270. </thead>
  271. <tbody>
  272. <tr>
  273. <td class="name"><code>a</code></td>
  274. <td class="type">
  275. <span class="param-type">vec3</span>
  276. </td>
  277. <td class="description last">vector to clone</td>
  278. </tr>
  279. </tbody>
  280. </table>
  281. <dl class="details">
  282. <dt class="tag-source">Source:</dt>
  283. <dd class="tag-source"><ul class="dummy"><li>
  284. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line29">line 29</a>
  285. </li></ul></dd>
  286. </dl>
  287. <h5>Returns:</h5>
  288. <div class="param-desc">
  289. a new 3D vector
  290. </div>
  291. <dl>
  292. <dt>
  293. Type
  294. </dt>
  295. <dd>
  296. <span class="param-type">vec3</span>
  297. </dd>
  298. </dl>
  299. <h4 class="name" id=".copy"><span class="type-signature">(static) </span>copy<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  300. <div class="description">
  301. Copy the values from one vec3 to another
  302. </div>
  303. <h5>Parameters:</h5>
  304. <table class="params">
  305. <thead>
  306. <tr>
  307. <th>Name</th>
  308. <th>Type</th>
  309. <th class="last">Description</th>
  310. </tr>
  311. </thead>
  312. <tbody>
  313. <tr>
  314. <td class="name"><code>out</code></td>
  315. <td class="type">
  316. <span class="param-type">vec3</span>
  317. </td>
  318. <td class="description last">the receiving vector</td>
  319. </tr>
  320. <tr>
  321. <td class="name"><code>a</code></td>
  322. <td class="type">
  323. <span class="param-type">vec3</span>
  324. </td>
  325. <td class="description last">the source vector</td>
  326. </tr>
  327. </tbody>
  328. </table>
  329. <dl class="details">
  330. <dt class="tag-source">Source:</dt>
  331. <dd class="tag-source"><ul class="dummy"><li>
  332. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line73">line 73</a>
  333. </li></ul></dd>
  334. </dl>
  335. <h5>Returns:</h5>
  336. <div class="param-desc">
  337. out
  338. </div>
  339. <dl>
  340. <dt>
  341. Type
  342. </dt>
  343. <dd>
  344. <span class="param-type">vec3</span>
  345. </dd>
  346. </dl>
  347. <h4 class="name" id=".create"><span class="type-signature">(static) </span>create<span class="signature">()</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  348. <div class="description">
  349. Creates a new, empty vec3
  350. </div>
  351. <dl class="details">
  352. <dt class="tag-source">Source:</dt>
  353. <dd class="tag-source"><ul class="dummy"><li>
  354. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line13">line 13</a>
  355. </li></ul></dd>
  356. </dl>
  357. <h5>Returns:</h5>
  358. <div class="param-desc">
  359. a new 3D vector
  360. </div>
  361. <dl>
  362. <dt>
  363. Type
  364. </dt>
  365. <dd>
  366. <span class="param-type">vec3</span>
  367. </dd>
  368. </dl>
  369. <h4 class="name" id=".cross"><span class="type-signature">(static) </span>cross<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  370. <div class="description">
  371. Computes the cross product of two vec3's
  372. </div>
  373. <h5>Parameters:</h5>
  374. <table class="params">
  375. <thead>
  376. <tr>
  377. <th>Name</th>
  378. <th>Type</th>
  379. <th class="last">Description</th>
  380. </tr>
  381. </thead>
  382. <tbody>
  383. <tr>
  384. <td class="name"><code>out</code></td>
  385. <td class="type">
  386. <span class="param-type">vec3</span>
  387. </td>
  388. <td class="description last">the receiving vector</td>
  389. </tr>
  390. <tr>
  391. <td class="name"><code>a</code></td>
  392. <td class="type">
  393. <span class="param-type">vec3</span>
  394. </td>
  395. <td class="description last">the first operand</td>
  396. </tr>
  397. <tr>
  398. <td class="name"><code>b</code></td>
  399. <td class="type">
  400. <span class="param-type">vec3</span>
  401. </td>
  402. <td class="description last">the second operand</td>
  403. </tr>
  404. </tbody>
  405. </table>
  406. <dl class="details">
  407. <dt class="tag-source">Source:</dt>
  408. <dd class="tag-source"><ul class="dummy"><li>
  409. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line369">line 369</a>
  410. </li></ul></dd>
  411. </dl>
  412. <h5>Returns:</h5>
  413. <div class="param-desc">
  414. out
  415. </div>
  416. <dl>
  417. <dt>
  418. Type
  419. </dt>
  420. <dd>
  421. <span class="param-type">vec3</span>
  422. </dd>
  423. </dl>
  424. <h4 class="name" id=".dist"><span class="type-signature">(static) </span>dist<span class="signature">()</span><span class="type-signature"></span></h4>
  425. <div class="description">
  426. Alias for vec3.distance
  427. </div>
  428. <dl class="details">
  429. <dt class="tag-source">Source:</dt>
  430. <dd class="tag-source"><ul class="dummy"><li>
  431. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line710">line 710</a>
  432. </li></ul></dd>
  433. </dl>
  434. <h4 class="name" id=".distance"><span class="type-signature">(static) </span>distance<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  435. <div class="description">
  436. Calculates the euclidian distance between two vec3's
  437. </div>
  438. <h5>Parameters:</h5>
  439. <table class="params">
  440. <thead>
  441. <tr>
  442. <th>Name</th>
  443. <th>Type</th>
  444. <th class="last">Description</th>
  445. </tr>
  446. </thead>
  447. <tbody>
  448. <tr>
  449. <td class="name"><code>a</code></td>
  450. <td class="type">
  451. <span class="param-type">vec3</span>
  452. </td>
  453. <td class="description last">the first operand</td>
  454. </tr>
  455. <tr>
  456. <td class="name"><code>b</code></td>
  457. <td class="type">
  458. <span class="param-type">vec3</span>
  459. </td>
  460. <td class="description last">the second operand</td>
  461. </tr>
  462. </tbody>
  463. </table>
  464. <dl class="details">
  465. <dt class="tag-source">Source:</dt>
  466. <dd class="tag-source"><ul class="dummy"><li>
  467. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line266">line 266</a>
  468. </li></ul></dd>
  469. </dl>
  470. <h5>Returns:</h5>
  471. <div class="param-desc">
  472. distance between a and b
  473. </div>
  474. <dl>
  475. <dt>
  476. Type
  477. </dt>
  478. <dd>
  479. <span class="param-type">Number</span>
  480. </dd>
  481. </dl>
  482. <h4 class="name" id=".div"><span class="type-signature">(static) </span>div<span class="signature">()</span><span class="type-signature"></span></h4>
  483. <div class="description">
  484. Alias for vec3.divide
  485. </div>
  486. <dl class="details">
  487. <dt class="tag-source">Source:</dt>
  488. <dd class="tag-source"><ul class="dummy"><li>
  489. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line704">line 704</a>
  490. </li></ul></dd>
  491. </dl>
  492. <h4 class="name" id=".divide"><span class="type-signature">(static) </span>divide<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  493. <div class="description">
  494. Divides two vec3's
  495. </div>
  496. <h5>Parameters:</h5>
  497. <table class="params">
  498. <thead>
  499. <tr>
  500. <th>Name</th>
  501. <th>Type</th>
  502. <th class="last">Description</th>
  503. </tr>
  504. </thead>
  505. <tbody>
  506. <tr>
  507. <td class="name"><code>out</code></td>
  508. <td class="type">
  509. <span class="param-type">vec3</span>
  510. </td>
  511. <td class="description last">the receiving vector</td>
  512. </tr>
  513. <tr>
  514. <td class="name"><code>a</code></td>
  515. <td class="type">
  516. <span class="param-type">vec3</span>
  517. </td>
  518. <td class="description last">the first operand</td>
  519. </tr>
  520. <tr>
  521. <td class="name"><code>b</code></td>
  522. <td class="type">
  523. <span class="param-type">vec3</span>
  524. </td>
  525. <td class="description last">the second operand</td>
  526. </tr>
  527. </tbody>
  528. </table>
  529. <dl class="details">
  530. <dt class="tag-source">Source:</dt>
  531. <dd class="tag-source"><ul class="dummy"><li>
  532. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line149">line 149</a>
  533. </li></ul></dd>
  534. </dl>
  535. <h5>Returns:</h5>
  536. <div class="param-desc">
  537. out
  538. </div>
  539. <dl>
  540. <dt>
  541. Type
  542. </dt>
  543. <dd>
  544. <span class="param-type">vec3</span>
  545. </dd>
  546. </dl>
  547. <h4 class="name" id=".dot"><span class="type-signature">(static) </span>dot<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  548. <div class="description">
  549. Calculates the dot product of two vec3's
  550. </div>
  551. <h5>Parameters:</h5>
  552. <table class="params">
  553. <thead>
  554. <tr>
  555. <th>Name</th>
  556. <th>Type</th>
  557. <th class="last">Description</th>
  558. </tr>
  559. </thead>
  560. <tbody>
  561. <tr>
  562. <td class="name"><code>a</code></td>
  563. <td class="type">
  564. <span class="param-type">vec3</span>
  565. </td>
  566. <td class="description last">the first operand</td>
  567. </tr>
  568. <tr>
  569. <td class="name"><code>b</code></td>
  570. <td class="type">
  571. <span class="param-type">vec3</span>
  572. </td>
  573. <td class="description last">the second operand</td>
  574. </tr>
  575. </tbody>
  576. </table>
  577. <dl class="details">
  578. <dt class="tag-source">Source:</dt>
  579. <dd class="tag-source"><ul class="dummy"><li>
  580. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line357">line 357</a>
  581. </li></ul></dd>
  582. </dl>
  583. <h5>Returns:</h5>
  584. <div class="param-desc">
  585. dot product of a and b
  586. </div>
  587. <dl>
  588. <dt>
  589. Type
  590. </dt>
  591. <dd>
  592. <span class="param-type">Number</span>
  593. </dd>
  594. </dl>
  595. <h4 class="name" id=".equals"><span class="type-signature">(static) </span>equals<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
  596. <div class="description">
  597. Returns whether or not the vectors have approximately the same elements in the same position.
  598. </div>
  599. <h5>Parameters:</h5>
  600. <table class="params">
  601. <thead>
  602. <tr>
  603. <th>Name</th>
  604. <th>Type</th>
  605. <th class="last">Description</th>
  606. </tr>
  607. </thead>
  608. <tbody>
  609. <tr>
  610. <td class="name"><code>a</code></td>
  611. <td class="type">
  612. <span class="param-type">vec3</span>
  613. </td>
  614. <td class="description last">The first vector.</td>
  615. </tr>
  616. <tr>
  617. <td class="name"><code>b</code></td>
  618. <td class="type">
  619. <span class="param-type">vec3</span>
  620. </td>
  621. <td class="description last">The second vector.</td>
  622. </tr>
  623. </tbody>
  624. </table>
  625. <dl class="details">
  626. <dt class="tag-source">Source:</dt>
  627. <dd class="tag-source"><ul class="dummy"><li>
  628. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line680">line 680</a>
  629. </li></ul></dd>
  630. </dl>
  631. <h5>Returns:</h5>
  632. <div class="param-desc">
  633. True if the vectors are equal, false otherwise.
  634. </div>
  635. <dl>
  636. <dt>
  637. Type
  638. </dt>
  639. <dd>
  640. <span class="param-type">Boolean</span>
  641. </dd>
  642. </dl>
  643. <h4 class="name" id=".exactEquals"><span class="type-signature">(static) </span>exactEquals<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
  644. <div class="description">
  645. Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
  646. </div>
  647. <h5>Parameters:</h5>
  648. <table class="params">
  649. <thead>
  650. <tr>
  651. <th>Name</th>
  652. <th>Type</th>
  653. <th class="last">Description</th>
  654. </tr>
  655. </thead>
  656. <tbody>
  657. <tr>
  658. <td class="name"><code>a</code></td>
  659. <td class="type">
  660. <span class="param-type">vec3</span>
  661. </td>
  662. <td class="description last">The first vector.</td>
  663. </tr>
  664. <tr>
  665. <td class="name"><code>b</code></td>
  666. <td class="type">
  667. <span class="param-type">vec3</span>
  668. </td>
  669. <td class="description last">The second vector.</td>
  670. </tr>
  671. </tbody>
  672. </table>
  673. <dl class="details">
  674. <dt class="tag-source">Source:</dt>
  675. <dd class="tag-source"><ul class="dummy"><li>
  676. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line669">line 669</a>
  677. </li></ul></dd>
  678. </dl>
  679. <h5>Returns:</h5>
  680. <div class="param-desc">
  681. True if the vectors are equal, false otherwise.
  682. </div>
  683. <dl>
  684. <dt>
  685. Type
  686. </dt>
  687. <dd>
  688. <span class="param-type">Boolean</span>
  689. </dd>
  690. </dl>
  691. <h4 class="name" id=".floor"><span class="type-signature">(static) </span>floor<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  692. <div class="description">
  693. Math.floor the components of a vec3
  694. </div>
  695. <h5>Parameters:</h5>
  696. <table class="params">
  697. <thead>
  698. <tr>
  699. <th>Name</th>
  700. <th>Type</th>
  701. <th class="last">Description</th>
  702. </tr>
  703. </thead>
  704. <tbody>
  705. <tr>
  706. <td class="name"><code>out</code></td>
  707. <td class="type">
  708. <span class="param-type">vec3</span>
  709. </td>
  710. <td class="description last">the receiving vector</td>
  711. </tr>
  712. <tr>
  713. <td class="name"><code>a</code></td>
  714. <td class="type">
  715. <span class="param-type">vec3</span>
  716. </td>
  717. <td class="description last">vector to floor</td>
  718. </tr>
  719. </tbody>
  720. </table>
  721. <dl class="details">
  722. <dt class="tag-source">Source:</dt>
  723. <dd class="tag-source"><ul class="dummy"><li>
  724. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line177">line 177</a>
  725. </li></ul></dd>
  726. </dl>
  727. <h5>Returns:</h5>
  728. <div class="param-desc">
  729. out
  730. </div>
  731. <dl>
  732. <dt>
  733. Type
  734. </dt>
  735. <dd>
  736. <span class="param-type">vec3</span>
  737. </dd>
  738. </dl>
  739. <h4 class="name" id=".forEach"><span class="type-signature">(static) </span>forEach<span class="signature">(a, stride, offset, count, fn, arg<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array}</span></h4>
  740. <div class="description">
  741. Perform some operation over an array of vec3s.
  742. </div>
  743. <h5>Parameters:</h5>
  744. <table class="params">
  745. <thead>
  746. <tr>
  747. <th>Name</th>
  748. <th>Type</th>
  749. <th>Attributes</th>
  750. <th class="last">Description</th>
  751. </tr>
  752. </thead>
  753. <tbody>
  754. <tr>
  755. <td class="name"><code>a</code></td>
  756. <td class="type">
  757. <span class="param-type">Array</span>
  758. </td>
  759. <td class="attributes">
  760. </td>
  761. <td class="description last">the array of vectors to iterate over</td>
  762. </tr>
  763. <tr>
  764. <td class="name"><code>stride</code></td>
  765. <td class="type">
  766. <span class="param-type">Number</span>
  767. </td>
  768. <td class="attributes">
  769. </td>
  770. <td class="description last">Number of elements between the start of each vec3. If 0 assumes tightly packed</td>
  771. </tr>
  772. <tr>
  773. <td class="name"><code>offset</code></td>
  774. <td class="type">
  775. <span class="param-type">Number</span>
  776. </td>
  777. <td class="attributes">
  778. </td>
  779. <td class="description last">Number of elements to skip at the beginning of the array</td>
  780. </tr>
  781. <tr>
  782. <td class="name"><code>count</code></td>
  783. <td class="type">
  784. <span class="param-type">Number</span>
  785. </td>
  786. <td class="attributes">
  787. </td>
  788. <td class="description last">Number of vec3s to iterate over. If 0 iterates over entire array</td>
  789. </tr>
  790. <tr>
  791. <td class="name"><code>fn</code></td>
  792. <td class="type">
  793. <span class="param-type">function</span>
  794. </td>
  795. <td class="attributes">
  796. </td>
  797. <td class="description last">Function to call for each vector in the array</td>
  798. </tr>
  799. <tr>
  800. <td class="name"><code>arg</code></td>
  801. <td class="type">
  802. <span class="param-type">Object</span>
  803. </td>
  804. <td class="attributes">
  805. &lt;optional><br>
  806. </td>
  807. <td class="description last">additional argument to pass to fn</td>
  808. </tr>
  809. </tbody>
  810. </table>
  811. <dl class="details">
  812. <dt class="tag-source">Source:</dt>
  813. <dd class="tag-source"><ul class="dummy"><li>
  814. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line742">line 742</a>
  815. </li></ul></dd>
  816. </dl>
  817. <h5>Returns:</h5>
  818. <div class="param-desc">
  819. a
  820. </div>
  821. <dl>
  822. <dt>
  823. Type
  824. </dt>
  825. <dd>
  826. <span class="param-type">Array</span>
  827. </dd>
  828. </dl>
  829. <h4 class="name" id=".fromValues"><span class="type-signature">(static) </span>fromValues<span class="signature">(x, y, z)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  830. <div class="description">
  831. Creates a new vec3 initialized with the given values
  832. </div>
  833. <h5>Parameters:</h5>
  834. <table class="params">
  835. <thead>
  836. <tr>
  837. <th>Name</th>
  838. <th>Type</th>
  839. <th class="last">Description</th>
  840. </tr>
  841. </thead>
  842. <tbody>
  843. <tr>
  844. <td class="name"><code>x</code></td>
  845. <td class="type">
  846. <span class="param-type">Number</span>
  847. </td>
  848. <td class="description last">X component</td>
  849. </tr>
  850. <tr>
  851. <td class="name"><code>y</code></td>
  852. <td class="type">
  853. <span class="param-type">Number</span>
  854. </td>
  855. <td class="description last">Y component</td>
  856. </tr>
  857. <tr>
  858. <td class="name"><code>z</code></td>
  859. <td class="type">
  860. <span class="param-type">Number</span>
  861. </td>
  862. <td class="description last">Z component</td>
  863. </tr>
  864. </tbody>
  865. </table>
  866. <dl class="details">
  867. <dt class="tag-source">Source:</dt>
  868. <dd class="tag-source"><ul class="dummy"><li>
  869. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line58">line 58</a>
  870. </li></ul></dd>
  871. </dl>
  872. <h5>Returns:</h5>
  873. <div class="param-desc">
  874. a new 3D vector
  875. </div>
  876. <dl>
  877. <dt>
  878. Type
  879. </dt>
  880. <dd>
  881. <span class="param-type">vec3</span>
  882. </dd>
  883. </dl>
  884. <h4 class="name" id=".hermite"><span class="type-signature">(static) </span>hermite<span class="signature">(out, a, b, c, d, t)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  885. <div class="description">
  886. Performs a hermite interpolation with two control points
  887. </div>
  888. <h5>Parameters:</h5>
  889. <table class="params">
  890. <thead>
  891. <tr>
  892. <th>Name</th>
  893. <th>Type</th>
  894. <th class="last">Description</th>
  895. </tr>
  896. </thead>
  897. <tbody>
  898. <tr>
  899. <td class="name"><code>out</code></td>
  900. <td class="type">
  901. <span class="param-type">vec3</span>
  902. </td>
  903. <td class="description last">the receiving vector</td>
  904. </tr>
  905. <tr>
  906. <td class="name"><code>a</code></td>
  907. <td class="type">
  908. <span class="param-type">vec3</span>
  909. </td>
  910. <td class="description last">the first operand</td>
  911. </tr>
  912. <tr>
  913. <td class="name"><code>b</code></td>
  914. <td class="type">
  915. <span class="param-type">vec3</span>
  916. </td>
  917. <td class="description last">the second operand</td>
  918. </tr>
  919. <tr>
  920. <td class="name"><code>c</code></td>
  921. <td class="type">
  922. <span class="param-type">vec3</span>
  923. </td>
  924. <td class="description last">the third operand</td>
  925. </tr>
  926. <tr>
  927. <td class="name"><code>d</code></td>
  928. <td class="type">
  929. <span class="param-type">vec3</span>
  930. </td>
  931. <td class="description last">the fourth operand</td>
  932. </tr>
  933. <tr>
  934. <td class="name"><code>t</code></td>
  935. <td class="type">
  936. <span class="param-type">Number</span>
  937. </td>
  938. <td class="description last">interpolation amount, in the range [0-1], between the two inputs</td>
  939. </tr>
  940. </tbody>
  941. </table>
  942. <dl class="details">
  943. <dt class="tag-source">Source:</dt>
  944. <dd class="tag-source"><ul class="dummy"><li>
  945. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line409">line 409</a>
  946. </li></ul></dd>
  947. </dl>
  948. <h5>Returns:</h5>
  949. <div class="param-desc">
  950. out
  951. </div>
  952. <dl>
  953. <dt>
  954. Type
  955. </dt>
  956. <dd>
  957. <span class="param-type">vec3</span>
  958. </dd>
  959. </dl>
  960. <h4 class="name" id=".inverse"><span class="type-signature">(static) </span>inverse<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  961. <div class="description">
  962. Returns the inverse of the components of a vec3
  963. </div>
  964. <h5>Parameters:</h5>
  965. <table class="params">
  966. <thead>
  967. <tr>
  968. <th>Name</th>
  969. <th>Type</th>
  970. <th class="last">Description</th>
  971. </tr>
  972. </thead>
  973. <tbody>
  974. <tr>
  975. <td class="name"><code>out</code></td>
  976. <td class="type">
  977. <span class="param-type">vec3</span>
  978. </td>
  979. <td class="description last">the receiving vector</td>
  980. </tr>
  981. <tr>
  982. <td class="name"><code>a</code></td>
  983. <td class="type">
  984. <span class="param-type">vec3</span>
  985. </td>
  986. <td class="description last">vector to invert</td>
  987. </tr>
  988. </tbody>
  989. </table>
  990. <dl class="details">
  991. <dt class="tag-source">Source:</dt>
  992. <dd class="tag-source"><ul class="dummy"><li>
  993. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line321">line 321</a>
  994. </li></ul></dd>
  995. </dl>
  996. <h5>Returns:</h5>
  997. <div class="param-desc">
  998. out
  999. </div>
  1000. <dl>
  1001. <dt>
  1002. Type
  1003. </dt>
  1004. <dd>
  1005. <span class="param-type">vec3</span>
  1006. </dd>
  1007. </dl>
  1008. <h4 class="name" id=".len"><span class="type-signature">(static) </span>len<span class="signature">()</span><span class="type-signature"></span></h4>
  1009. <div class="description">
  1010. Alias for vec3.length
  1011. </div>
  1012. <dl class="details">
  1013. <dt class="tag-source">Source:</dt>
  1014. <dd class="tag-source"><ul class="dummy"><li>
  1015. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line722">line 722</a>
  1016. </li></ul></dd>
  1017. </dl>
  1018. <h4 class="name" id=".length"><span class="type-signature">(static) </span>length<span class="signature">(a)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  1019. <div class="description">
  1020. Calculates the length of a vec3
  1021. </div>
  1022. <h5>Parameters:</h5>
  1023. <table class="params">
  1024. <thead>
  1025. <tr>
  1026. <th>Name</th>
  1027. <th>Type</th>
  1028. <th class="last">Description</th>
  1029. </tr>
  1030. </thead>
  1031. <tbody>
  1032. <tr>
  1033. <td class="name"><code>a</code></td>
  1034. <td class="type">
  1035. <span class="param-type">vec3</span>
  1036. </td>
  1037. <td class="description last">vector to calculate length of</td>
  1038. </tr>
  1039. </tbody>
  1040. </table>
  1041. <dl class="details">
  1042. <dt class="tag-source">Source:</dt>
  1043. <dd class="tag-source"><ul class="dummy"><li>
  1044. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line43">line 43</a>
  1045. </li></ul></dd>
  1046. </dl>
  1047. <h5>Returns:</h5>
  1048. <div class="param-desc">
  1049. length of a
  1050. </div>
  1051. <dl>
  1052. <dt>
  1053. Type
  1054. </dt>
  1055. <dd>
  1056. <span class="param-type">Number</span>
  1057. </dd>
  1058. </dl>
  1059. <h4 class="name" id=".lerp"><span class="type-signature">(static) </span>lerp<span class="signature">(out, a, b, t)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1060. <div class="description">
  1061. Performs a linear interpolation between two vec3's
  1062. </div>
  1063. <h5>Parameters:</h5>
  1064. <table class="params">
  1065. <thead>
  1066. <tr>
  1067. <th>Name</th>
  1068. <th>Type</th>
  1069. <th class="last">Description</th>
  1070. </tr>
  1071. </thead>
  1072. <tbody>
  1073. <tr>
  1074. <td class="name"><code>out</code></td>
  1075. <td class="type">
  1076. <span class="param-type">vec3</span>
  1077. </td>
  1078. <td class="description last">the receiving vector</td>
  1079. </tr>
  1080. <tr>
  1081. <td class="name"><code>a</code></td>
  1082. <td class="type">
  1083. <span class="param-type">vec3</span>
  1084. </td>
  1085. <td class="description last">the first operand</td>
  1086. </tr>
  1087. <tr>
  1088. <td class="name"><code>b</code></td>
  1089. <td class="type">
  1090. <span class="param-type">vec3</span>
  1091. </td>
  1092. <td class="description last">the second operand</td>
  1093. </tr>
  1094. <tr>
  1095. <td class="name"><code>t</code></td>
  1096. <td class="type">
  1097. <span class="param-type">Number</span>
  1098. </td>
  1099. <td class="description last">interpolation amount, in the range [0-1], between the two inputs</td>
  1100. </tr>
  1101. </tbody>
  1102. </table>
  1103. <dl class="details">
  1104. <dt class="tag-source">Source:</dt>
  1105. <dd class="tag-source"><ul class="dummy"><li>
  1106. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line388">line 388</a>
  1107. </li></ul></dd>
  1108. </dl>
  1109. <h5>Returns:</h5>
  1110. <div class="param-desc">
  1111. out
  1112. </div>
  1113. <dl>
  1114. <dt>
  1115. Type
  1116. </dt>
  1117. <dd>
  1118. <span class="param-type">vec3</span>
  1119. </dd>
  1120. </dl>
  1121. <h4 class="name" id=".max"><span class="type-signature">(static) </span>max<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1122. <div class="description">
  1123. Returns the maximum of two vec3's
  1124. </div>
  1125. <h5>Parameters:</h5>
  1126. <table class="params">
  1127. <thead>
  1128. <tr>
  1129. <th>Name</th>
  1130. <th>Type</th>
  1131. <th class="last">Description</th>
  1132. </tr>
  1133. </thead>
  1134. <tbody>
  1135. <tr>
  1136. <td class="name"><code>out</code></td>
  1137. <td class="type">
  1138. <span class="param-type">vec3</span>
  1139. </td>
  1140. <td class="description last">the receiving vector</td>
  1141. </tr>
  1142. <tr>
  1143. <td class="name"><code>a</code></td>
  1144. <td class="type">
  1145. <span class="param-type">vec3</span>
  1146. </td>
  1147. <td class="description last">the first operand</td>
  1148. </tr>
  1149. <tr>
  1150. <td class="name"><code>b</code></td>
  1151. <td class="type">
  1152. <span class="param-type">vec3</span>
  1153. </td>
  1154. <td class="description last">the second operand</td>
  1155. </tr>
  1156. </tbody>
  1157. </table>
  1158. <dl class="details">
  1159. <dt class="tag-source">Source:</dt>
  1160. <dd class="tag-source"><ul class="dummy"><li>
  1161. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line207">line 207</a>
  1162. </li></ul></dd>
  1163. </dl>
  1164. <h5>Returns:</h5>
  1165. <div class="param-desc">
  1166. out
  1167. </div>
  1168. <dl>
  1169. <dt>
  1170. Type
  1171. </dt>
  1172. <dd>
  1173. <span class="param-type">vec3</span>
  1174. </dd>
  1175. </dl>
  1176. <h4 class="name" id=".min"><span class="type-signature">(static) </span>min<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1177. <div class="description">
  1178. Returns the minimum of two vec3's
  1179. </div>
  1180. <h5>Parameters:</h5>
  1181. <table class="params">
  1182. <thead>
  1183. <tr>
  1184. <th>Name</th>
  1185. <th>Type</th>
  1186. <th class="last">Description</th>
  1187. </tr>
  1188. </thead>
  1189. <tbody>
  1190. <tr>
  1191. <td class="name"><code>out</code></td>
  1192. <td class="type">
  1193. <span class="param-type">vec3</span>
  1194. </td>
  1195. <td class="description last">the receiving vector</td>
  1196. </tr>
  1197. <tr>
  1198. <td class="name"><code>a</code></td>
  1199. <td class="type">
  1200. <span class="param-type">vec3</span>
  1201. </td>
  1202. <td class="description last">the first operand</td>
  1203. </tr>
  1204. <tr>
  1205. <td class="name"><code>b</code></td>
  1206. <td class="type">
  1207. <span class="param-type">vec3</span>
  1208. </td>
  1209. <td class="description last">the second operand</td>
  1210. </tr>
  1211. </tbody>
  1212. </table>
  1213. <dl class="details">
  1214. <dt class="tag-source">Source:</dt>
  1215. <dd class="tag-source"><ul class="dummy"><li>
  1216. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line192">line 192</a>
  1217. </li></ul></dd>
  1218. </dl>
  1219. <h5>Returns:</h5>
  1220. <div class="param-desc">
  1221. out
  1222. </div>
  1223. <dl>
  1224. <dt>
  1225. Type
  1226. </dt>
  1227. <dd>
  1228. <span class="param-type">vec3</span>
  1229. </dd>
  1230. </dl>
  1231. <h4 class="name" id=".mul"><span class="type-signature">(static) </span>mul<span class="signature">()</span><span class="type-signature"></span></h4>
  1232. <div class="description">
  1233. Alias for vec3.multiply
  1234. </div>
  1235. <dl class="details">
  1236. <dt class="tag-source">Source:</dt>
  1237. <dd class="tag-source"><ul class="dummy"><li>
  1238. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line698">line 698</a>
  1239. </li></ul></dd>
  1240. </dl>
  1241. <h4 class="name" id=".multiply"><span class="type-signature">(static) </span>multiply<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1242. <div class="description">
  1243. Multiplies two vec3's
  1244. </div>
  1245. <h5>Parameters:</h5>
  1246. <table class="params">
  1247. <thead>
  1248. <tr>
  1249. <th>Name</th>
  1250. <th>Type</th>
  1251. <th class="last">Description</th>
  1252. </tr>
  1253. </thead>
  1254. <tbody>
  1255. <tr>
  1256. <td class="name"><code>out</code></td>
  1257. <td class="type">
  1258. <span class="param-type">vec3</span>
  1259. </td>
  1260. <td class="description last">the receiving vector</td>
  1261. </tr>
  1262. <tr>
  1263. <td class="name"><code>a</code></td>
  1264. <td class="type">
  1265. <span class="param-type">vec3</span>
  1266. </td>
  1267. <td class="description last">the first operand</td>
  1268. </tr>
  1269. <tr>
  1270. <td class="name"><code>b</code></td>
  1271. <td class="type">
  1272. <span class="param-type">vec3</span>
  1273. </td>
  1274. <td class="description last">the second operand</td>
  1275. </tr>
  1276. </tbody>
  1277. </table>
  1278. <dl class="details">
  1279. <dt class="tag-source">Source:</dt>
  1280. <dd class="tag-source"><ul class="dummy"><li>
  1281. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line134">line 134</a>
  1282. </li></ul></dd>
  1283. </dl>
  1284. <h5>Returns:</h5>
  1285. <div class="param-desc">
  1286. out
  1287. </div>
  1288. <dl>
  1289. <dt>
  1290. Type
  1291. </dt>
  1292. <dd>
  1293. <span class="param-type">vec3</span>
  1294. </dd>
  1295. </dl>
  1296. <h4 class="name" id=".negate"><span class="type-signature">(static) </span>negate<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1297. <div class="description">
  1298. Negates the components of a vec3
  1299. </div>
  1300. <h5>Parameters:</h5>
  1301. <table class="params">
  1302. <thead>
  1303. <tr>
  1304. <th>Name</th>
  1305. <th>Type</th>
  1306. <th class="last">Description</th>
  1307. </tr>
  1308. </thead>
  1309. <tbody>
  1310. <tr>
  1311. <td class="name"><code>out</code></td>
  1312. <td class="type">
  1313. <span class="param-type">vec3</span>
  1314. </td>
  1315. <td class="description last">the receiving vector</td>
  1316. </tr>
  1317. <tr>
  1318. <td class="name"><code>a</code></td>
  1319. <td class="type">
  1320. <span class="param-type">vec3</span>
  1321. </td>
  1322. <td class="description last">vector to negate</td>
  1323. </tr>
  1324. </tbody>
  1325. </table>
  1326. <dl class="details">
  1327. <dt class="tag-source">Source:</dt>
  1328. <dd class="tag-source"><ul class="dummy"><li>
  1329. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line307">line 307</a>
  1330. </li></ul></dd>
  1331. </dl>
  1332. <h5>Returns:</h5>
  1333. <div class="param-desc">
  1334. out
  1335. </div>
  1336. <dl>
  1337. <dt>
  1338. Type
  1339. </dt>
  1340. <dd>
  1341. <span class="param-type">vec3</span>
  1342. </dd>
  1343. </dl>
  1344. <h4 class="name" id=".normalize"><span class="type-signature">(static) </span>normalize<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1345. <div class="description">
  1346. Normalize a vec3
  1347. </div>
  1348. <h5>Parameters:</h5>
  1349. <table class="params">
  1350. <thead>
  1351. <tr>
  1352. <th>Name</th>
  1353. <th>Type</th>
  1354. <th class="last">Description</th>
  1355. </tr>
  1356. </thead>
  1357. <tbody>
  1358. <tr>
  1359. <td class="name"><code>out</code></td>
  1360. <td class="type">
  1361. <span class="param-type">vec3</span>
  1362. </td>
  1363. <td class="description last">the receiving vector</td>
  1364. </tr>
  1365. <tr>
  1366. <td class="name"><code>a</code></td>
  1367. <td class="type">
  1368. <span class="param-type">vec3</span>
  1369. </td>
  1370. <td class="description last">vector to normalize</td>
  1371. </tr>
  1372. </tbody>
  1373. </table>
  1374. <dl class="details">
  1375. <dt class="tag-source">Source:</dt>
  1376. <dd class="tag-source"><ul class="dummy"><li>
  1377. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line335">line 335</a>
  1378. </li></ul></dd>
  1379. </dl>
  1380. <h5>Returns:</h5>
  1381. <div class="param-desc">
  1382. out
  1383. </div>
  1384. <dl>
  1385. <dt>
  1386. Type
  1387. </dt>
  1388. <dd>
  1389. <span class="param-type">vec3</span>
  1390. </dd>
  1391. </dl>
  1392. <h4 class="name" id=".random"><span class="type-signature">(static) </span>random<span class="signature">(out, scale<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1393. <div class="description">
  1394. Generates a random vector with the given scale
  1395. </div>
  1396. <h5>Parameters:</h5>
  1397. <table class="params">
  1398. <thead>
  1399. <tr>
  1400. <th>Name</th>
  1401. <th>Type</th>
  1402. <th>Attributes</th>
  1403. <th class="last">Description</th>
  1404. </tr>
  1405. </thead>
  1406. <tbody>
  1407. <tr>
  1408. <td class="name"><code>out</code></td>
  1409. <td class="type">
  1410. <span class="param-type">vec3</span>
  1411. </td>
  1412. <td class="attributes">
  1413. </td>
  1414. <td class="description last">the receiving vector</td>
  1415. </tr>
  1416. <tr>
  1417. <td class="name"><code>scale</code></td>
  1418. <td class="type">
  1419. <span class="param-type">Number</span>
  1420. </td>
  1421. <td class="attributes">
  1422. &lt;optional><br>
  1423. </td>
  1424. <td class="description last">Length of the resulting vector. If ommitted, a unit vector will be returned</td>
  1425. </tr>
  1426. </tbody>
  1427. </table>
  1428. <dl class="details">
  1429. <dt class="tag-source">Source:</dt>
  1430. <dd class="tag-source"><ul class="dummy"><li>
  1431. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line457">line 457</a>
  1432. </li></ul></dd>
  1433. </dl>
  1434. <h5>Returns:</h5>
  1435. <div class="param-desc">
  1436. out
  1437. </div>
  1438. <dl>
  1439. <dt>
  1440. Type
  1441. </dt>
  1442. <dd>
  1443. <span class="param-type">vec3</span>
  1444. </dd>
  1445. </dl>
  1446. <h4 class="name" id=".rotateX"><span class="type-signature">(static) </span>rotateX<span class="signature">(out, a, b, c)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1447. <div class="description">
  1448. Rotate a 3D vector around the x-axis
  1449. </div>
  1450. <h5>Parameters:</h5>
  1451. <table class="params">
  1452. <thead>
  1453. <tr>
  1454. <th>Name</th>
  1455. <th>Type</th>
  1456. <th class="last">Description</th>
  1457. </tr>
  1458. </thead>
  1459. <tbody>
  1460. <tr>
  1461. <td class="name"><code>out</code></td>
  1462. <td class="type">
  1463. <span class="param-type">vec3</span>
  1464. </td>
  1465. <td class="description last">The receiving vec3</td>
  1466. </tr>
  1467. <tr>
  1468. <td class="name"><code>a</code></td>
  1469. <td class="type">
  1470. <span class="param-type">vec3</span>
  1471. </td>
  1472. <td class="description last">The vec3 point to rotate</td>
  1473. </tr>
  1474. <tr>
  1475. <td class="name"><code>b</code></td>
  1476. <td class="type">
  1477. <span class="param-type">vec3</span>
  1478. </td>
  1479. <td class="description last">The origin of the rotation</td>
  1480. </tr>
  1481. <tr>
  1482. <td class="name"><code>c</code></td>
  1483. <td class="type">
  1484. <span class="param-type">Number</span>
  1485. </td>
  1486. <td class="description last">The angle of rotation</td>
  1487. </tr>
  1488. </tbody>
  1489. </table>
  1490. <dl class="details">
  1491. <dt class="tag-source">Source:</dt>
  1492. <dd class="tag-source"><ul class="dummy"><li>
  1493. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line551">line 551</a>
  1494. </li></ul></dd>
  1495. </dl>
  1496. <h5>Returns:</h5>
  1497. <div class="param-desc">
  1498. out
  1499. </div>
  1500. <dl>
  1501. <dt>
  1502. Type
  1503. </dt>
  1504. <dd>
  1505. <span class="param-type">vec3</span>
  1506. </dd>
  1507. </dl>
  1508. <h4 class="name" id=".rotateY"><span class="type-signature">(static) </span>rotateY<span class="signature">(out, a, b, c)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1509. <div class="description">
  1510. Rotate a 3D vector around the y-axis
  1511. </div>
  1512. <h5>Parameters:</h5>
  1513. <table class="params">
  1514. <thead>
  1515. <tr>
  1516. <th>Name</th>
  1517. <th>Type</th>
  1518. <th class="last">Description</th>
  1519. </tr>
  1520. </thead>
  1521. <tbody>
  1522. <tr>
  1523. <td class="name"><code>out</code></td>
  1524. <td class="type">
  1525. <span class="param-type">vec3</span>
  1526. </td>
  1527. <td class="description last">The receiving vec3</td>
  1528. </tr>
  1529. <tr>
  1530. <td class="name"><code>a</code></td>
  1531. <td class="type">
  1532. <span class="param-type">vec3</span>
  1533. </td>
  1534. <td class="description last">The vec3 point to rotate</td>
  1535. </tr>
  1536. <tr>
  1537. <td class="name"><code>b</code></td>
  1538. <td class="type">
  1539. <span class="param-type">vec3</span>
  1540. </td>
  1541. <td class="description last">The origin of the rotation</td>
  1542. </tr>
  1543. <tr>
  1544. <td class="name"><code>c</code></td>
  1545. <td class="type">
  1546. <span class="param-type">Number</span>
  1547. </td>
  1548. <td class="description last">The angle of rotation</td>
  1549. </tr>
  1550. </tbody>
  1551. </table>
  1552. <dl class="details">
  1553. <dt class="tag-source">Source:</dt>
  1554. <dd class="tag-source"><ul class="dummy"><li>
  1555. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line579">line 579</a>
  1556. </li></ul></dd>
  1557. </dl>
  1558. <h5>Returns:</h5>
  1559. <div class="param-desc">
  1560. out
  1561. </div>
  1562. <dl>
  1563. <dt>
  1564. Type
  1565. </dt>
  1566. <dd>
  1567. <span class="param-type">vec3</span>
  1568. </dd>
  1569. </dl>
  1570. <h4 class="name" id=".rotateZ"><span class="type-signature">(static) </span>rotateZ<span class="signature">(out, a, b, c)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1571. <div class="description">
  1572. Rotate a 3D vector around the z-axis
  1573. </div>
  1574. <h5>Parameters:</h5>
  1575. <table class="params">
  1576. <thead>
  1577. <tr>
  1578. <th>Name</th>
  1579. <th>Type</th>
  1580. <th class="last">Description</th>
  1581. </tr>
  1582. </thead>
  1583. <tbody>
  1584. <tr>
  1585. <td class="name"><code>out</code></td>
  1586. <td class="type">
  1587. <span class="param-type">vec3</span>
  1588. </td>
  1589. <td class="description last">The receiving vec3</td>
  1590. </tr>
  1591. <tr>
  1592. <td class="name"><code>a</code></td>
  1593. <td class="type">
  1594. <span class="param-type">vec3</span>
  1595. </td>
  1596. <td class="description last">The vec3 point to rotate</td>
  1597. </tr>
  1598. <tr>
  1599. <td class="name"><code>b</code></td>
  1600. <td class="type">
  1601. <span class="param-type">vec3</span>
  1602. </td>
  1603. <td class="description last">The origin of the rotation</td>
  1604. </tr>
  1605. <tr>
  1606. <td class="name"><code>c</code></td>
  1607. <td class="type">
  1608. <span class="param-type">Number</span>
  1609. </td>
  1610. <td class="description last">The angle of rotation</td>
  1611. </tr>
  1612. </tbody>
  1613. </table>
  1614. <dl class="details">
  1615. <dt class="tag-source">Source:</dt>
  1616. <dd class="tag-source"><ul class="dummy"><li>
  1617. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line607">line 607</a>
  1618. </li></ul></dd>
  1619. </dl>
  1620. <h5>Returns:</h5>
  1621. <div class="param-desc">
  1622. out
  1623. </div>
  1624. <dl>
  1625. <dt>
  1626. Type
  1627. </dt>
  1628. <dd>
  1629. <span class="param-type">vec3</span>
  1630. </dd>
  1631. </dl>
  1632. <h4 class="name" id=".round"><span class="type-signature">(static) </span>round<span class="signature">(out, a)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1633. <div class="description">
  1634. Math.round the components of a vec3
  1635. </div>
  1636. <h5>Parameters:</h5>
  1637. <table class="params">
  1638. <thead>
  1639. <tr>
  1640. <th>Name</th>
  1641. <th>Type</th>
  1642. <th class="last">Description</th>
  1643. </tr>
  1644. </thead>
  1645. <tbody>
  1646. <tr>
  1647. <td class="name"><code>out</code></td>
  1648. <td class="type">
  1649. <span class="param-type">vec3</span>
  1650. </td>
  1651. <td class="description last">the receiving vector</td>
  1652. </tr>
  1653. <tr>
  1654. <td class="name"><code>a</code></td>
  1655. <td class="type">
  1656. <span class="param-type">vec3</span>
  1657. </td>
  1658. <td class="description last">vector to round</td>
  1659. </tr>
  1660. </tbody>
  1661. </table>
  1662. <dl class="details">
  1663. <dt class="tag-source">Source:</dt>
  1664. <dd class="tag-source"><ul class="dummy"><li>
  1665. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line221">line 221</a>
  1666. </li></ul></dd>
  1667. </dl>
  1668. <h5>Returns:</h5>
  1669. <div class="param-desc">
  1670. out
  1671. </div>
  1672. <dl>
  1673. <dt>
  1674. Type
  1675. </dt>
  1676. <dd>
  1677. <span class="param-type">vec3</span>
  1678. </dd>
  1679. </dl>
  1680. <h4 class="name" id=".scale"><span class="type-signature">(static) </span>scale<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1681. <div class="description">
  1682. Scales a vec3 by a scalar number
  1683. </div>
  1684. <h5>Parameters:</h5>
  1685. <table class="params">
  1686. <thead>
  1687. <tr>
  1688. <th>Name</th>
  1689. <th>Type</th>
  1690. <th class="last">Description</th>
  1691. </tr>
  1692. </thead>
  1693. <tbody>
  1694. <tr>
  1695. <td class="name"><code>out</code></td>
  1696. <td class="type">
  1697. <span class="param-type">vec3</span>
  1698. </td>
  1699. <td class="description last">the receiving vector</td>
  1700. </tr>
  1701. <tr>
  1702. <td class="name"><code>a</code></td>
  1703. <td class="type">
  1704. <span class="param-type">vec3</span>
  1705. </td>
  1706. <td class="description last">the vector to scale</td>
  1707. </tr>
  1708. <tr>
  1709. <td class="name"><code>b</code></td>
  1710. <td class="type">
  1711. <span class="param-type">Number</span>
  1712. </td>
  1713. <td class="description last">amount to scale the vector by</td>
  1714. </tr>
  1715. </tbody>
  1716. </table>
  1717. <dl class="details">
  1718. <dt class="tag-source">Source:</dt>
  1719. <dd class="tag-source"><ul class="dummy"><li>
  1720. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line236">line 236</a>
  1721. </li></ul></dd>
  1722. </dl>
  1723. <h5>Returns:</h5>
  1724. <div class="param-desc">
  1725. out
  1726. </div>
  1727. <dl>
  1728. <dt>
  1729. Type
  1730. </dt>
  1731. <dd>
  1732. <span class="param-type">vec3</span>
  1733. </dd>
  1734. </dl>
  1735. <h4 class="name" id=".scaleAndAdd"><span class="type-signature">(static) </span>scaleAndAdd<span class="signature">(out, a, b, scale)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1736. <div class="description">
  1737. Adds two vec3's after scaling the second operand by a scalar value
  1738. </div>
  1739. <h5>Parameters:</h5>
  1740. <table class="params">
  1741. <thead>
  1742. <tr>
  1743. <th>Name</th>
  1744. <th>Type</th>
  1745. <th class="last">Description</th>
  1746. </tr>
  1747. </thead>
  1748. <tbody>
  1749. <tr>
  1750. <td class="name"><code>out</code></td>
  1751. <td class="type">
  1752. <span class="param-type">vec3</span>
  1753. </td>
  1754. <td class="description last">the receiving vector</td>
  1755. </tr>
  1756. <tr>
  1757. <td class="name"><code>a</code></td>
  1758. <td class="type">
  1759. <span class="param-type">vec3</span>
  1760. </td>
  1761. <td class="description last">the first operand</td>
  1762. </tr>
  1763. <tr>
  1764. <td class="name"><code>b</code></td>
  1765. <td class="type">
  1766. <span class="param-type">vec3</span>
  1767. </td>
  1768. <td class="description last">the second operand</td>
  1769. </tr>
  1770. <tr>
  1771. <td class="name"><code>scale</code></td>
  1772. <td class="type">
  1773. <span class="param-type">Number</span>
  1774. </td>
  1775. <td class="description last">the amount to scale b by before adding</td>
  1776. </tr>
  1777. </tbody>
  1778. </table>
  1779. <dl class="details">
  1780. <dt class="tag-source">Source:</dt>
  1781. <dd class="tag-source"><ul class="dummy"><li>
  1782. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line252">line 252</a>
  1783. </li></ul></dd>
  1784. </dl>
  1785. <h5>Returns:</h5>
  1786. <div class="param-desc">
  1787. out
  1788. </div>
  1789. <dl>
  1790. <dt>
  1791. Type
  1792. </dt>
  1793. <dd>
  1794. <span class="param-type">vec3</span>
  1795. </dd>
  1796. </dl>
  1797. <h4 class="name" id=".set"><span class="type-signature">(static) </span>set<span class="signature">(out, x, y, z)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  1798. <div class="description">
  1799. Set the components of a vec3 to the given values
  1800. </div>
  1801. <h5>Parameters:</h5>
  1802. <table class="params">
  1803. <thead>
  1804. <tr>
  1805. <th>Name</th>
  1806. <th>Type</th>
  1807. <th class="last">Description</th>
  1808. </tr>
  1809. </thead>
  1810. <tbody>
  1811. <tr>
  1812. <td class="name"><code>out</code></td>
  1813. <td class="type">
  1814. <span class="param-type">vec3</span>
  1815. </td>
  1816. <td class="description last">the receiving vector</td>
  1817. </tr>
  1818. <tr>
  1819. <td class="name"><code>x</code></td>
  1820. <td class="type">
  1821. <span class="param-type">Number</span>
  1822. </td>
  1823. <td class="description last">X component</td>
  1824. </tr>
  1825. <tr>
  1826. <td class="name"><code>y</code></td>
  1827. <td class="type">
  1828. <span class="param-type">Number</span>
  1829. </td>
  1830. <td class="description last">Y component</td>
  1831. </tr>
  1832. <tr>
  1833. <td class="name"><code>z</code></td>
  1834. <td class="type">
  1835. <span class="param-type">Number</span>
  1836. </td>
  1837. <td class="description last">Z component</td>
  1838. </tr>
  1839. </tbody>
  1840. </table>
  1841. <dl class="details">
  1842. <dt class="tag-source">Source:</dt>
  1843. <dd class="tag-source"><ul class="dummy"><li>
  1844. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line89">line 89</a>
  1845. </li></ul></dd>
  1846. </dl>
  1847. <h5>Returns:</h5>
  1848. <div class="param-desc">
  1849. out
  1850. </div>
  1851. <dl>
  1852. <dt>
  1853. Type
  1854. </dt>
  1855. <dd>
  1856. <span class="param-type">vec3</span>
  1857. </dd>
  1858. </dl>
  1859. <h4 class="name" id=".sqrDist"><span class="type-signature">(static) </span>sqrDist<span class="signature">()</span><span class="type-signature"></span></h4>
  1860. <div class="description">
  1861. Alias for vec3.squaredDistance
  1862. </div>
  1863. <dl class="details">
  1864. <dt class="tag-source">Source:</dt>
  1865. <dd class="tag-source"><ul class="dummy"><li>
  1866. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line716">line 716</a>
  1867. </li></ul></dd>
  1868. </dl>
  1869. <h4 class="name" id=".sqrLen"><span class="type-signature">(static) </span>sqrLen<span class="signature">()</span><span class="type-signature"></span></h4>
  1870. <div class="description">
  1871. Alias for vec3.squaredLength
  1872. </div>
  1873. <dl class="details">
  1874. <dt class="tag-source">Source:</dt>
  1875. <dd class="tag-source"><ul class="dummy"><li>
  1876. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line728">line 728</a>
  1877. </li></ul></dd>
  1878. </dl>
  1879. <h4 class="name" id=".squaredDistance"><span class="type-signature">(static) </span>squaredDistance<span class="signature">(a, b)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  1880. <div class="description">
  1881. Calculates the squared euclidian distance between two vec3's
  1882. </div>
  1883. <h5>Parameters:</h5>
  1884. <table class="params">
  1885. <thead>
  1886. <tr>
  1887. <th>Name</th>
  1888. <th>Type</th>
  1889. <th class="last">Description</th>
  1890. </tr>
  1891. </thead>
  1892. <tbody>
  1893. <tr>
  1894. <td class="name"><code>a</code></td>
  1895. <td class="type">
  1896. <span class="param-type">vec3</span>
  1897. </td>
  1898. <td class="description last">the first operand</td>
  1899. </tr>
  1900. <tr>
  1901. <td class="name"><code>b</code></td>
  1902. <td class="type">
  1903. <span class="param-type">vec3</span>
  1904. </td>
  1905. <td class="description last">the second operand</td>
  1906. </tr>
  1907. </tbody>
  1908. </table>
  1909. <dl class="details">
  1910. <dt class="tag-source">Source:</dt>
  1911. <dd class="tag-source"><ul class="dummy"><li>
  1912. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line280">line 280</a>
  1913. </li></ul></dd>
  1914. </dl>
  1915. <h5>Returns:</h5>
  1916. <div class="param-desc">
  1917. squared distance between a and b
  1918. </div>
  1919. <dl>
  1920. <dt>
  1921. Type
  1922. </dt>
  1923. <dd>
  1924. <span class="param-type">Number</span>
  1925. </dd>
  1926. </dl>
  1927. <h4 class="name" id=".squaredLength"><span class="type-signature">(static) </span>squaredLength<span class="signature">(a)</span><span class="type-signature"> &rarr; {Number}</span></h4>
  1928. <div class="description">
  1929. Calculates the squared length of a vec3
  1930. </div>
  1931. <h5>Parameters:</h5>
  1932. <table class="params">
  1933. <thead>
  1934. <tr>
  1935. <th>Name</th>
  1936. <th>Type</th>
  1937. <th class="last">Description</th>
  1938. </tr>
  1939. </thead>
  1940. <tbody>
  1941. <tr>
  1942. <td class="name"><code>a</code></td>
  1943. <td class="type">
  1944. <span class="param-type">vec3</span>
  1945. </td>
  1946. <td class="description last">vector to calculate squared length of</td>
  1947. </tr>
  1948. </tbody>
  1949. </table>
  1950. <dl class="details">
  1951. <dt class="tag-source">Source:</dt>
  1952. <dd class="tag-source"><ul class="dummy"><li>
  1953. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line293">line 293</a>
  1954. </li></ul></dd>
  1955. </dl>
  1956. <h5>Returns:</h5>
  1957. <div class="param-desc">
  1958. squared length of a
  1959. </div>
  1960. <dl>
  1961. <dt>
  1962. Type
  1963. </dt>
  1964. <dd>
  1965. <span class="param-type">Number</span>
  1966. </dd>
  1967. </dl>
  1968. <h4 class="name" id=".str"><span class="type-signature">(static) </span>str<span class="signature">(a)</span><span class="type-signature"> &rarr; {String}</span></h4>
  1969. <div class="description">
  1970. Returns a string representation of a vector
  1971. </div>
  1972. <h5>Parameters:</h5>
  1973. <table class="params">
  1974. <thead>
  1975. <tr>
  1976. <th>Name</th>
  1977. <th>Type</th>
  1978. <th class="last">Description</th>
  1979. </tr>
  1980. </thead>
  1981. <tbody>
  1982. <tr>
  1983. <td class="name"><code>a</code></td>
  1984. <td class="type">
  1985. <span class="param-type">vec3</span>
  1986. </td>
  1987. <td class="description last">vector to represent as a string</td>
  1988. </tr>
  1989. </tbody>
  1990. </table>
  1991. <dl class="details">
  1992. <dt class="tag-source">Source:</dt>
  1993. <dd class="tag-source"><ul class="dummy"><li>
  1994. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line658">line 658</a>
  1995. </li></ul></dd>
  1996. </dl>
  1997. <h5>Returns:</h5>
  1998. <div class="param-desc">
  1999. string representation of the vector
  2000. </div>
  2001. <dl>
  2002. <dt>
  2003. Type
  2004. </dt>
  2005. <dd>
  2006. <span class="param-type">String</span>
  2007. </dd>
  2008. </dl>
  2009. <h4 class="name" id=".sub"><span class="type-signature">(static) </span>sub<span class="signature">()</span><span class="type-signature"></span></h4>
  2010. <div class="description">
  2011. Alias for vec3.subtract
  2012. </div>
  2013. <dl class="details">
  2014. <dt class="tag-source">Source:</dt>
  2015. <dd class="tag-source"><ul class="dummy"><li>
  2016. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line692">line 692</a>
  2017. </li></ul></dd>
  2018. </dl>
  2019. <h4 class="name" id=".subtract"><span class="type-signature">(static) </span>subtract<span class="signature">(out, a, b)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  2020. <div class="description">
  2021. Subtracts vector b from vector a
  2022. </div>
  2023. <h5>Parameters:</h5>
  2024. <table class="params">
  2025. <thead>
  2026. <tr>
  2027. <th>Name</th>
  2028. <th>Type</th>
  2029. <th class="last">Description</th>
  2030. </tr>
  2031. </thead>
  2032. <tbody>
  2033. <tr>
  2034. <td class="name"><code>out</code></td>
  2035. <td class="type">
  2036. <span class="param-type">vec3</span>
  2037. </td>
  2038. <td class="description last">the receiving vector</td>
  2039. </tr>
  2040. <tr>
  2041. <td class="name"><code>a</code></td>
  2042. <td class="type">
  2043. <span class="param-type">vec3</span>
  2044. </td>
  2045. <td class="description last">the first operand</td>
  2046. </tr>
  2047. <tr>
  2048. <td class="name"><code>b</code></td>
  2049. <td class="type">
  2050. <span class="param-type">vec3</span>
  2051. </td>
  2052. <td class="description last">the second operand</td>
  2053. </tr>
  2054. </tbody>
  2055. </table>
  2056. <dl class="details">
  2057. <dt class="tag-source">Source:</dt>
  2058. <dd class="tag-source"><ul class="dummy"><li>
  2059. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line119">line 119</a>
  2060. </li></ul></dd>
  2061. </dl>
  2062. <h5>Returns:</h5>
  2063. <div class="param-desc">
  2064. out
  2065. </div>
  2066. <dl>
  2067. <dt>
  2068. Type
  2069. </dt>
  2070. <dd>
  2071. <span class="param-type">vec3</span>
  2072. </dd>
  2073. </dl>
  2074. <h4 class="name" id=".transformMat3"><span class="type-signature">(static) </span>transformMat3<span class="signature">(out, a, m)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  2075. <div class="description">
  2076. Transforms the vec3 with a mat3.
  2077. </div>
  2078. <h5>Parameters:</h5>
  2079. <table class="params">
  2080. <thead>
  2081. <tr>
  2082. <th>Name</th>
  2083. <th>Type</th>
  2084. <th class="last">Description</th>
  2085. </tr>
  2086. </thead>
  2087. <tbody>
  2088. <tr>
  2089. <td class="name"><code>out</code></td>
  2090. <td class="type">
  2091. <span class="param-type">vec3</span>
  2092. </td>
  2093. <td class="description last">the receiving vector</td>
  2094. </tr>
  2095. <tr>
  2096. <td class="name"><code>a</code></td>
  2097. <td class="type">
  2098. <span class="param-type">vec3</span>
  2099. </td>
  2100. <td class="description last">the vector to transform</td>
  2101. </tr>
  2102. <tr>
  2103. <td class="name"><code>m</code></td>
  2104. <td class="type">
  2105. <span class="param-type">mat3</span>
  2106. </td>
  2107. <td class="description last">the 3x3 matrix to transform with</td>
  2108. </tr>
  2109. </tbody>
  2110. </table>
  2111. <dl class="details">
  2112. <dt class="tag-source">Source:</dt>
  2113. <dd class="tag-source"><ul class="dummy"><li>
  2114. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line497">line 497</a>
  2115. </li></ul></dd>
  2116. </dl>
  2117. <h5>Returns:</h5>
  2118. <div class="param-desc">
  2119. out
  2120. </div>
  2121. <dl>
  2122. <dt>
  2123. Type
  2124. </dt>
  2125. <dd>
  2126. <span class="param-type">vec3</span>
  2127. </dd>
  2128. </dl>
  2129. <h4 class="name" id=".transformMat4"><span class="type-signature">(static) </span>transformMat4<span class="signature">(out, a, m)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  2130. <div class="description">
  2131. Transforms the vec3 with a mat4.
  2132. 4th vector component is implicitly '1'
  2133. </div>
  2134. <h5>Parameters:</h5>
  2135. <table class="params">
  2136. <thead>
  2137. <tr>
  2138. <th>Name</th>
  2139. <th>Type</th>
  2140. <th class="last">Description</th>
  2141. </tr>
  2142. </thead>
  2143. <tbody>
  2144. <tr>
  2145. <td class="name"><code>out</code></td>
  2146. <td class="type">
  2147. <span class="param-type">vec3</span>
  2148. </td>
  2149. <td class="description last">the receiving vector</td>
  2150. </tr>
  2151. <tr>
  2152. <td class="name"><code>a</code></td>
  2153. <td class="type">
  2154. <span class="param-type">vec3</span>
  2155. </td>
  2156. <td class="description last">the vector to transform</td>
  2157. </tr>
  2158. <tr>
  2159. <td class="name"><code>m</code></td>
  2160. <td class="type">
  2161. <span class="param-type">mat4</span>
  2162. </td>
  2163. <td class="description last">matrix to transform with</td>
  2164. </tr>
  2165. </tbody>
  2166. </table>
  2167. <dl class="details">
  2168. <dt class="tag-source">Source:</dt>
  2169. <dd class="tag-source"><ul class="dummy"><li>
  2170. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line479">line 479</a>
  2171. </li></ul></dd>
  2172. </dl>
  2173. <h5>Returns:</h5>
  2174. <div class="param-desc">
  2175. out
  2176. </div>
  2177. <dl>
  2178. <dt>
  2179. Type
  2180. </dt>
  2181. <dd>
  2182. <span class="param-type">vec3</span>
  2183. </dd>
  2184. </dl>
  2185. <h4 class="name" id=".transformQuat"><span class="type-signature">(static) </span>transformQuat<span class="signature">(out, a, q)</span><span class="type-signature"> &rarr; {vec3}</span></h4>
  2186. <div class="description">
  2187. Transforms the vec3 with a quat
  2188. Can also be used for dual quaternions. (Multiply it with the real part)
  2189. </div>
  2190. <h5>Parameters:</h5>
  2191. <table class="params">
  2192. <thead>
  2193. <tr>
  2194. <th>Name</th>
  2195. <th>Type</th>
  2196. <th class="last">Description</th>
  2197. </tr>
  2198. </thead>
  2199. <tbody>
  2200. <tr>
  2201. <td class="name"><code>out</code></td>
  2202. <td class="type">
  2203. <span class="param-type">vec3</span>
  2204. </td>
  2205. <td class="description last">the receiving vector</td>
  2206. </tr>
  2207. <tr>
  2208. <td class="name"><code>a</code></td>
  2209. <td class="type">
  2210. <span class="param-type">vec3</span>
  2211. </td>
  2212. <td class="description last">the vector to transform</td>
  2213. </tr>
  2214. <tr>
  2215. <td class="name"><code>q</code></td>
  2216. <td class="type">
  2217. <span class="param-type">quat</span>
  2218. </td>
  2219. <td class="description last">quaternion to transform with</td>
  2220. </tr>
  2221. </tbody>
  2222. </table>
  2223. <dl class="details">
  2224. <dt class="tag-source">Source:</dt>
  2225. <dd class="tag-source"><ul class="dummy"><li>
  2226. <a href="vec3.js.html">vec3.js</a>, <a href="vec3.js.html#line514">line 514</a>
  2227. </li></ul></dd>
  2228. </dl>
  2229. <h5>Returns:</h5>
  2230. <div class="param-desc">
  2231. out
  2232. </div>
  2233. <dl>
  2234. <dt>
  2235. Type
  2236. </dt>
  2237. <dd>
  2238. <span class="param-type">vec3</span>
  2239. </dd>
  2240. </dl>
  2241. </article>
  2242. </section>
  2243. </div>
  2244. <nav>
  2245. <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-glMatrix.html">glMatrix</a></li><li><a href="module-mat2.html">mat2</a></li><li><a href="module-mat2d.html">mat2d</a></li><li><a href="module-mat3.html">mat3</a></li><li><a href="module-mat4.html">mat4</a></li><li><a href="module-quat.html">quat</a></li><li><a href="module-quat2.html">quat2</a></li><li><a href="module-vec2.html">vec2</a></li><li><a href="module-vec3.html">vec3</a></li><li><a href="module-vec4.html">vec4</a></li></ul>
  2246. </nav>
  2247. <br class="clear">
  2248. <footer>
  2249. Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Fri Jul 13 2018 11:51:34 GMT+0200 (W. Europe Daylight Time)
  2250. </footer>
  2251. <script> prettyPrint(); </script>
  2252. <script src="scripts/linenumber.js"> </script>
  2253. </body>
  2254. </html>