Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve popolo di pierotofy. sto lavorando a un algoritmo per rilasciare una nuova versione di NeverPH. dovete ragionare in termini di utenti di Neverball. l'algoritmo serve per creare una fila di monete colorate distanziate l'una dall'altra di 40 punti. l'utente inserisce tre numeri rappresentanti le ccordinate dell'inizio della fila, e tre numeri rappresentanti le coordinate della fine. tramite questo algoritmo, attraverso vari cicli, dovremmo avere una linea perfetta di monete. purtroppo il codice non funziona sempre, perchè quando la differenza fra le X è più grande della differenza fra le Y, va in obliquo per un po' e poi nell'ultimo pezzo va dritto. anche viceversa.
considerate che dlight(int,int,int,int) crea una singola moneta.
Codice sorgente - presumibilmente C++
void tlight(int x, int y, int z, int xx, int yy, int zz, int light)
il problema di queste cose è che le si affronta senza una vaga idea della geometria analitica...
per risolvere il problema semplicemente va calcolata la retta che passa per il punto iniziale e per il punto finale, dopodichè si itera lungo questa retta posizionando una moneta ogni tot.
devi calcolare: x0, l, y0, m, z0 e n risolvendo in maniera generale il sistema di lineare di primo grado delle coordinate di input.
oppure puoi calcolare direttamente i due angoli che identificano la retta con due colpi di trigonometria.
una volta che hai gli angoli iteri lungo la retta sommando i componenti di ogni dimensione moltiplicati per seno o coseno a seconda di quale angolo si tratta.
ora non ho tempo per scrivere uno pseudocodice, ma il succo è questo.
cerca, documentati e studia