Info: sviluppare codice per la mappatura e rotazione di una sfera

di il
7 risposte

Info: sviluppare codice per la mappatura e rotazione di una sfera

Ragazzi avrei bisogno di alcune dritte, per chi ne sà molto più di me...

devo creare un software che su una sfera possa essere mappata un'mmagine, ad esempio in .jpg, ma non è strettamente necessario che sia in .jpg... potrebbe anche essere un'immagine in .bmp, oppure in .gif, oppure in .png...

fatto questo, utilizzando i tasti freccia della tastiera, dovrei fare in modo che la sfera ruoti nella direzione del tasto freccia corrispondente premuto, quindi dovrebbe dare l'illusione che ruoti con la sfera anche la sua mappatura.

Mettiamo caso che io voglia creare un mappamondo che ruoti a DX se premo il tasto freccia verso destra, oppure ruoti verso l'alto se premo il tasto freccia verso l'alto, ecc. ecc.

Naturalmente non basta schiaffare un'immagine .jpg su un cerchio disegnato, e farlo muovere verso DX, oppure verso l'alto, secondo i tasti freccia che si premono in quel momento, ma vorrei proprio far mappare un'immagine .jpg intorno ad una sfera e dare la reale parvenza che questa ruoti su un asse centrale arbitrario...

Dovrei realizzare il tutto in un linguaggio che è molto simile al basic, diciamo pure che trattasi di basic avanzatissimo per la creazione di grafica... quindi mettendo da parte la questione "gestione delle animazioni grafiche a decente velocità", perchè tanto con questo linguaggio posso tranquillamente gestire velocità di gestione della grafica a livello umano...

CHIEDO a voi:

sapete darmi suggerimenti validi per implementare un progetto del genere in tempi umani senza che debba forzatamente iscrivermi ad un corso di laurea in matematica avanzata ?

A parte gli scherzi, ho delle solide basi di matematica e fisica, sarei laureato in fisica, e come molti di voi immaginano, sono un discreto... anzi direi ottimo informatico da oltre un 20ennio.

Quindi i suggerimenti che chiedo sono riferiti a:
- libri di testo
- esempi di codice (in qualsiasi linguaggio di programmazione ad esclusione di linguaggio esoterici quali: Befunge oppure Brainfuck oppure ancora FALSE, ecc. ecc.)
- eventuali librerie tipo le allegro per la gestione della grafica

Cose che non siano roba da marziani naturalmente...

E' un'esperienza che mi piacerebbe sviluppare per la gestione della grafica animata, magari da implementare in futuro per la creazione di videogiochi oppure di software scientifico specifico in ambito Fisico/Matematico.

Ps. sono settimane che provo a cercare su internet argomenti che possano aiutarmi a tale riguardo, ma non mi pare di aver avuto fortuna fino ad oggi... ecco perchè chiedo lumi a voi.

Qualcuno sà qualcosa in merito ?

Grazie anticipatamente a tutti.

7 Risposte

  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    Puoi procedere cosi':

    1) scegli il numero di righe ed il numero di colonne da utilizzare
    2) converti l'immagine nello stesso numeri di pixel
    3) prendi la sfera e la suddividi nello stesso numero di righe e colonne
    4) colori ogni cella della sfera nello stesso colore dell'immagine ricampionata
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    In pratica l'idea sarebbe quella di dividere la sfera e l'immagine in più sottoparti che vengono poi assemblate sulla sfera stessa successivamente...

    Suddividere la sfera in poligoni, dico bene ?

    Maggiore è il numero di poligoni e migliore sarà il dettaglio finale, ma nello stesso tempo con l'aumentare del numero di poligoni aumenta anche la lentezza dell'animazione...

    Si... l'idea è buona e non mi era venuta in mente, chissà se esistono altre alternative ?

    In tal modo mi farei un'idea generale di tutto e procederei meglio con quella che per me sarebbe la migliore e la più fattibile

    Solo una cosa... ma documentazione a riguardo esiste qualcosa ?
    Possibile che tutte le software house si tengano ben stretti gli algoritmi che danno una soluzione semplice riguardo questo argomento ?
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    Innanzitutto l'immagine ha la forma giusta? Perché per mapparla su una sfera deve essere un'ellisse.
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    Non è un'immagine a forma ellittica. Comunque non è proprio cosi, anche immagini a forma rettangolare possono essere mappate su una sfera.

    Cioè immaginiamo che voglia mappare un'immagine rettangolare che non è altro che una fotografia di un cielo nuvoloso... direi di poterla mappare su una sfera, se ci sono parti che eventualmente si sovrappongono neanche si noterebbero considerato che un cielo nuvoloso ha una disposizione molto casuale.

    Ma sinceramente credo esistano dei metodi più semplici e immediati... ad esempio: mi chiedevo se esistessero delle librerie dedicate a svolgere questo tipo di compiti...

    Oggi non dovrebbe essere complicato mappare una immagine su una sfera e ruotarla in qualsiasi direzione.
    Dovrebbe essere una cosa abbastanza banale per quelli che sono i nostri tempi informatici in fatto di progressione e sviluppo.
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    Prova a dare un'occhiata qua:

    https://www.khronos.org/opengl/wiki/Texturing_a_Spher
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    Interessante, ci darò un'occhiata domani... adesso è veramente tardi, vado a riposare.
    Grazie a tutti per l'aiuto che mi state dando... sono sicuro di riuscire a fare qualcosa di concreto in merito tra poco tempo
  • Re: Info: sviluppare codice per la mappatura e rotazione di una sfera

    ramcrack ha scritto:


    Cioè immaginiamo che voglia mappare un'immagine rettangolare che non è altro che una fotografia di un cielo nuvoloso... direi di poterla mappare su una sfera, se ci sono parti che eventualmente si sovrappongono neanche si noterebbero considerato che un cielo nuvoloso ha una disposizione molto casuale.
    Certo, ma in generale non è così (se vuoi rappresentare un cielo nuvoloso sulla sfera fai prima a colorarla a caso). Tra l'altro, anche la griglia che suddivide l'immagine deve avere la forma della griglia formata da meridiani e paralleli su un planisfero. In alternativa puoi partire da un'immagine rettangolare, ma poi devi distorcerla opportunamente. Oppure ancora proietti la sfera su un rettangolo (come si fa per alcuni tipi di planisfero) segnandoti le corrispondenze tra le coordinate sulla sfera e sul rettangolo, poi mappi l'immagine su questo rettangolo e infine la riporti sulla sfera. Un'implementazione di quest'ultimo approccio: https://patentimages.storage.googleapis.com/cd/08/58/2df56b471cf659/US5446833.pdf
Devi accedere o registrarti per scrivere nel forum
7 risposte