Articles of 3d

Invertendo la rotazione in 3D, per fare in modo che un object sia sempre rivolto verso la telecamera?

Ho molti sprite disposti nello spazio 3D e il loro contenitore genitore ha applicato le rotazioni. Come faccio a invertire la rotazione 3D degli sprite, che sono sempre rivolti verso la fotocamera (Actionscript 3)? ecco un codice per testarlo: package{ import flash.display.Sprite; import flash.events.Event; public class test extends Sprite{ var canvas:Sprite = new Sprite(); var […]

Come faccio a trovare il mio punto del mouse in una scena usando SceneKit?

Ho creato una scena in SceneKit e ho emesso un hit-test per selezionare un object. Tuttavia, voglio essere in grado di spostare quell’elemento lungo un piano nella mia scena. Continuo a ricevere eventi di trascinamento del mouse, ma non so come trasformare quelle coordinate 2D in coordinate 3D nella scena. Il mio caso è molto […]

Estrarre il piano dei dati ruotato arbitrariamente dall’array 3D come array 2D

Ho una matrice 3D di dati in MATLAB, ma voglio estrarre una porzione di dati ruotata arbitrariamente da quella matrice e memorizzarla come una matrice 2D, alla quale posso accedere. Simile al modo in cui la funzione slice () visualizza i dati tagliati con qualsiasi angolazione, tranne che mi piacerebbe anche poter visualizzare e modificare […]

Ruota l’object su un asse specifico ovunque in Three.js – incluso all’esterno della mesh

Cercando di ruotare un object attorno a qualsiasi asse. Ad esempio come una cerniera della porta (sul bordo dell’object) o un pianeta attorno al sole (al di fuori dell’object). Il problema sembra essere la definizione dell’asse. Il sottostante vettore unitario risulta in asse rimanente sull’origine dell’object (al centro) quindi identico alla rotazione standard: object2.rotateOnAxis(new THREE.Vector3(1,0,0), […]

Tracciare un punto sul bordo di una sfera

Quindi, venendo da uno sfondo flash, ho una buona comprensione di alcuni semplici trigonometria 2D. In 2d con I circle, conosco la matematica per posizionare un object sul bordo dato un angolo e un raggio usando. x = cos(a) * r; y = sin(a) * r; Ora, se ho un punto nello spazio 3d, conosco […]

Utilizzo dei quaternioni per le rotazioni OpenGL

Quindi sto scrivendo un programma in cui gli oggetti si muovono in stile spaceim, per imparare come spostare le cose senza problemi attraverso lo spazio 3D. Dopo aver scherzato un po ‘con gli angoli di Eulero, sembra che non siano proprio appropriati per il movimento 3D a mano libera in direzioni arbitrarie, così ho deciso […]

Intersezione Linea-Piano 3D

Se viene data una linea (rappresentata da un vettore o due punti sulla linea) come trovo il punto in cui la linea interseca un piano? Ho trovato molte risorse su questo, ma non riesco a capire le equazioni lì (non sembrano essere algebriche standard). Vorrei un’equazione (non importa per quanto tempo) che può essere interpretata […]

Sposta la fotocamera per adattarla alla scena 3D

Sto cercando un algoritmo per adattare un riquadro di delimitazione all’interno di una finestra (nel mio caso una scena DirectX). Conosco algoritmi per centrare una sfera di delimitazione in una macchina da presa ortografica, ma avrei bisogno dello stesso per un riquadro di delimitazione e una telecamera prospettica. Non posso solo cambiare il FOV perché […]

Three.js aggiunge un object ad un gruppo ma mantiene la posizione / rotazione / scala globale come era

Voglio spostare un object da un gruppo (o mondo / scena) a un altro gruppo, ma mantenere intatta la sua trasformazione globale. Fondamentalmente, non voglio vedere il cambiamento dell’object. fondamentalmente, qualcosa del genere: //store current world transformation var origWorldMatrix = myObject.matrixWorld.clone(); //move object to a group (that is positioned and rotated arbitrarily) someGroup.add( myObject ); […]

Come raggiungere le normali condizioni di spazio tangenti?

Sto cercando di aggiungere funzionalità di bump mapping alla mia applicazione, ma sto ottenendo modelli molto sfaccettati: La ragione per cui sta accadendo è perché sto calcolando tangente, binormale e normale per ogni faccia e completamente ignorando le normali che sto ottenendo dal file del modello. Il calcolo utilizza attualmente due bordi del triangolo e […]