Un oggetto ha una posizione e un vettore di velocità. Di solito viene utilizzata solo la posizione per verificare se due oggetti si scontrano, ciò è problematico per oggetti in movimento molto veloce in quanto può accadere che l'oggetto si sposti così velocemente da trovarsi davanti al primo oggetto nel …
Vedo spesso sorgere domande che hanno questo problema di fondo, ma sono tutte coinvolte nei dettagli di una determinata funzionalità o strumento. Ecco un tentativo di creare una risposta canonica a cui possiamo fare riferimento agli utenti quando si presenta - con molti esempi animati! :) Diciamo che stiamo realizzando …
Sto lavorando a un gioco che richiede ai giocatori di tracciare una linea da un punto A (x1, y1) all'altro punto B (x2, y2) sullo schermo di un dispositivo Android. Voglio scoprire quanto bene quel disegno si adatta a una linea retta. Ad esempio, un risultato del 90% significherebbe che …
Ho oggetti nel mio gioco che si muovono più velocemente a 45 gradi e poi a 90 gradi. Ogni oggetto ha Posizione del punto (x, y) Direzione Vector2D (x, y) Int velocità E quello che faccio durante un aggiornamento è che la nuova posizione viene calcolata come: position.x += direction.x …
Sto cercando di creare una sfera quadrupla basata su un articolo , che mostra risultati come questo: Posso generare correttamente un cubo: Ma quando converto tutti i punti secondo questa formula (dalla pagina collegata sopra): x = x * sqrtf(1.0 - (y*y/2.0) - (z*z/2.0) + (y*y*z*z/3.0)); y = y * …
Ho un rettangolo 2D con posizione x, y, altezza e larghezza e un punto posizionato casualmente nelle vicinanze. C'è un modo per verificare se questo punto potrebbe scontrarsi con il rettangolo se è più vicino di una certa distanza? Immagina un raggio invisibile al di fuori di quel punto in …
Sto cercando di capire l'aritmetica vettoriale (e in particolare il suo utilizzo nel motore Unity). Non riesco a capire come un vettore possa avere una lunghezza (magnitudine) anche se rappresenta solo un punto (posizione e direzione)? Ciò significa che la grandezza è semplicemente la sua distanza dal punto di origine …
Probabilmente il più grande vantaggio di una piastrellatura di mappe a base esagonale rispetto a quella quadrata è che il centro di ciascun esagono ha la stessa distanza da tutti i suoi esagoni vicini. Esiste una forma simile che si affianca in questo modo in 3D e un motore che …
Ho una mappa quadrata. È consentito solo il movimento orizzontale e verticale (nessuna diagonale). Il costo del movimento è sempre 1. Sto implementando un algoritmo A * su quella mappa, usando la distanza di Manhattan come euristica della distanza. Questa euristica è coerente? Posso evitare di verificare i g(node)nodi che …
Qualcuno potrebbe spiegare come sarebbe possibile creare una sfera vertici, indici e coordinate di trama? C'è una sorprendente mancanza di documentazione su come farlo ed è qualcosa che mi interessa imparare. Ho provato l'ovvio, cercando su Google, guardando su gamedev.net, ecc. Tuttavia, nulla copre le generazioni di punti sferici, indicizzandoli …
Diciamo che ho una linea definita da due punti Ae B, entrambi nel modulo (x, y, z). Questi punti rappresentano una linea nello spazio 3D. Ho anche un punto P, definito nello stesso formato, che non è sulla linea. Come calcolerei la proiezione di quel punto sulla linea? Sono a …
Diciamo che abbiamo una forma frastagliata: E due creature si muovono lungo il suo contorno. Quindi levigiamo completamente la forma estraendo gli angoli. Otteniamo questo: È facile vedere ora che Orange si sta muovendo in senso orario e in senso antiorario verde. Come posso dire in quale direzione si stanno …
Ho una proiezione prospettica. Quando l'utente fa clic sullo schermo, voglio calcolare il raggio tra i piani vicino e lontano che sporge dal punto del mouse, in modo da poter fare un po 'di codice di intersezione raggio con il mio mondo. Sto usando le mie classi di matrici, vettori …
Ho un oggetto room definito da una raccolta di segmenti di linea ciclica per i quali devo calcolare l'area. Le classi possono essere descritte come segue (in pseudo-codice): class Point { float x; float y; ... float distanceFrom(Point p); } class Segment { Point start; Point end; ... float length(); …
Sto imparando ad usare vettori normalizzati nei miei giochi. Ho imparato che per conoscere l'angolo tra due vettori, posso usare il prodotto punto. Questo mi dà un valore tra -1 e 1, dove 1 indica che i vettori sono paralleli e rivolti nella stessa direzione (l'angolo è di 180 gradi). …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.