Una sfera proiettata nello spazio 2D si traduce sempre in un'ellisse?


22

La mia intuizione è sempre stata che quando una sfera viene proiettata nello spazio 2D, il risultato sarà sempre matematicamente un'ellisse (o un cerchio in casi degeneri).

In passato, quando stavo facendo attivamente la mia programmazione grafica e la facevo conoscere ad altre persone, erano irremovibili di sbagliarmi. Se ricordo bene, credevano che il risultato potesse essere qualcosa di vagamente "a forma di uovo".

Chi aveva ragione?


Dato che è già stata inviata una risposta, non desidero cambiare totalmente la mia domanda, ma mi rendo conto di aver tralasciato dettagli importanti a causa della perdita di familiarità con il campo nel corso degli anni.

Ho intenzione di chiedere in particolare sulla proiezione prospettica in cui la proiezione è un'applicazione lineare .

Le altre proiezioni sono ovviamente interessanti per molti usi, quindi non vorrei che fossero rimosse a questo punto. Ma sarebbe bello se le risposte potessero avere la proiezione prospettica come la loro sezione più importante.


3
Supponendo una proiezione prospettica, AFAICS il "confine" formato dall'orizzonte dei punti di vista sarà un cono (troncato) e quindi la maggior parte della proiezione sarà una sezione conica: en.wikipedia.org/wiki/Conic_section . Un'ellisse è quindi una possibilità, ma non l'unica.
Simon F,

1
In tal caso, promuoverò i miei commenti a una risposta ...
Simon F,

1
devi aggiungere un vincolo. il fisheye è anche una proiezione prospettica e non otterrai ellissi. il vincolo di cui hai bisogno è la linearità.
v

1
Preferirei dire qualcosa del tipo "dove la proiezione è un'applicazione lineare". Potrebbe esserci un termine scorciatoia per questo, come "epimorfismo lineare" o qualcosa del genere, ma l'ho dimenticato da tempo.
v.oddou,

1
Questo dovrebbe andare da qualche parte in questo thread, quindi aggiungilo qui :) Proiezione della sfera analitica di Inigo Quilez: shadertoy.com/view/XdBGzd
Mikkel Gjoel

Risposte:


18

Supponendo una proiezione prospettica e un punto di vista esterno alla sfera, quindi il "confine" formato dal punto di vista e il cerchio sulla sfera che forma l'orizzonte WRT il punto di vista, sarà un cono.

Fare una proiezione prospettica (su un piano) equivale quindi a intersecare questo cono con il piano che produce così una sezione conica. Cordiali saluti i quattro casi, non degenerati, sono mostrati in questa immagine da Wikipediainserisci qui la descrizione dell'immagine

Un'ellisse / un cerchio è quindi una possibilità, ma non l'unico - sono possibili parabole o iperbolle illimitate (e immagino che se l'aereo passa attraverso l'occhio, anche casi degeneri) sono possibili.


1
Non riesco a immaginare come il risultato possa essere una parabola o un'iperbole nonostante la logica assoluta della tua argomentazione. Alcune parole che chiariscono quale tipo di layout porterebbe a questi sarebbero grandi. Il meglio che riesco a mettere in
testa

3
Forse qualcosa di equivalente potrebbe aiutare. Immagina di avere in mano una torcia (torcia per quelli del Nord America), che crea un raggio conico, e ti trovi in ​​un magazzino buio (infinito) vuoto. Splendente la torcia sul pavimento si vede un'ellisse. Ora inclina gradualmente l'asse della torcia verso l'orizzontale. L'ellisse diventerà sempre più lunga fino al punto in cui il "bordo" più alto della trave stessa è orizzontale, cioè parallelo al pavimento. Ora la proiezione è una parabola e si estende per sempre. Inclinarlo ulteriormente formerà un'iperbole.
Simon F,

1
@hippietrail: forse vale la pena notare che, con un piano di vista davanti alla telecamera, l'unico modo in cui puoi finire con una parabola o un'iperbole è se almeno una parte della sfera è tra il punto focale e il piano della vista.
Ilmari Karonen,

@IlmariKaronen: Cosa significherebbe "punto focale" in questo contesto? Il punto su cui si sta concentrando l'occhio? Il punto di fuga? (Mi sono insegnato a ruotare e proiettare la prospettiva 3D come un bambino di 12 o 13 anni e non ho mai acquisito fluidità in matematica e terminologia.)
hippietrail,

@hippietrail Il punto focale, in questo contesto, sarebbe l'apice del cono. Effettivamente il "foro stenopeico" della prospettiva, modello di fotocamera a foro stenopeico. (PS Il nome implica incontrare "una strana signora. Mi ha reso nervoso .."?)
Simon F

14

Questo è più simile a un lungo commento alla risposta di @ SimonF che sto cercando di rendere un po 'autonomo.

Sono possibili tutti i tagli di cono, iperbole, parabola e ovali. Questo è facile da testare disegnando immagini in un motore 3D da una fotocamera estremamente grandangolare. Ruota la fotocamera per dire con un angolo di 30 gradi in modo che l'oggetto non sia nel mezzo della tua messa a fuoco. Quindi avvicinare gradualmente la videocamera alla sfera.

inserisci qui la descrizione dell'immagine

Immagine 1: volare molto vicino a una sfera che guarda leggermente lateralmente. Nota come improvvisamente perforiamo la forma superficiale all'interno.

Quindi, per ricapitolare quando la sfera è molto vicina in modo da uscire dall'immagine in un'immagine ampia, può essere una parabola o un'iperbole. Ma la forma uscirà dalla cornice per farlo.


1
Ciò che potrebbe essere davvero bello è se la tua animazione potrebbe cambiare l'ombreggiatura per i vari risultati: dì bianco per ellisse, verde (per il "telaio" di parabola) e rosso per iperbole. :-)
Simon F

2
@SimonF Ci ho pensato, stavo pianificando qualcosa come Nathan Reed. Ma avevo un po 'di fretta, sono stato fortunato a ottenere questo rendering. Inizialmente ero un po 'scettico sul fatto che potesse esistere un'iperbole, ma sì ora sembra ovvio.
joojaa,

13

I sistemi di proiezione vengono utilizzati per convertire una forma 3D in una forma planare (2D).

Secondo il tipo di sistema di proiezione, risultati diversi e forme come rettangoli, torte, ellissi, cerchi, ... possono essere prodotti da una sfera.

I sistemi di proiezione possono essere classificati in base alle caratteristiche del risultato che generano.

Per continuare, vorrei usare un esempio molto tangibile e comune che tutti abbiamo visto prima, sfera terrestre e mappe globali, sono ovunque.

Supponiamo che la tua sfera sia la terra!

Immagina la terra come la tua sfera e una mappa del mondo planare creata dalla forma sferica della terra. Nella maggior parte delle mappe del mondo vedi che i paesi vicini ai poli stanno diventando molto più grandi di quanto non siano in realtà, come l'Islanda che in realtà è 1/14 del continente africano ma la mappa li mostra entrambi uguali. Questo perché quando omettiamo una dimensione perdiamo una caratteristica delle nostre forme.

Diversi sistemi di proiezione e i loro risultati

Questa è una proiezione planare che non conserva distanza, angoli o area. I cerchi rossi mostrano la quantità di esagerazione che è il prodotto di questa proiezione.

Primo

Pari aree, guarda Islanda e Africa in questo e confronta con sopra.

Secondo

I sistemi di proiezione possono essere classificati in base a ciò che conservano.

  1. Pari area.
  2. Angolo uguale che preserva la forma senza distorsione (conforme).
  3. Uguale distanza.
  4. ......

Le proiezioni conformi preservano le forme ma l'area non verrà preservata (la prima immagine sopra) questo è il sistema di proiezione più famoso che viene utilizzato in molte applicazioni. La tua sfera è un rettangolo qui!


Quindi non puoi dire che una sfera verrà proiettata sempre su un'ellisse. Come accennato in precedenza, una sfera può essere proiettata su un rettangolo (prima forma) o può essere un'ellisse ma con caratteristiche diverse (angolo uguale, distanza, forma, area - vedere la figura seguente), oppure si può anche proiettare una sfera in una conica e quindi apri la conica in modo da avere una torta.

Ciascuno dei sistemi di proiezione di cui sopra può essere applicato con algoritmi iterativi o diretti che possono essere trovati su Internet. Non ho parlato della formula e delle trasformazioni perché non me l'hai chiesto. Anche se ti auguro di trovare utile questa risposta.

Terzo


Nelle proiezioni prospettiche dico di sì solo le ellissi saranno prodotte da sfere

Il taglio di una conica con un piano orizzontale crea un cerchio.

Il taglio con un piano obliquo crea una smussatura che sarebbe un'ellisse o un'iperbole a seconda dell'angolo di taglio e quando questo angolo tende ad essere verticale creerà una parabola (immagine seguente).

Ellisse

Forse questo è ovvio, ma dai un'occhiata alle loro equazioni.

Per semplicità ho assunto che tutte le geometrie siano centrate sull'origine.

Le equazioni:

Cerchio: X2+y2=r2

Ellisse: X2/un'2+y2/B2=1

Iperbole: X2/un'2-y2/B2=1

Parabola: y2=4un'X

Morfologia:

Un'ellisse ha ovviamente due fuochi. Un cerchio come un tipo speciale di ellissi ha anche due fuochi ma sono coincidenti. Un'iperbole tuttavia è uno specchio dell'asse della sua uguale ellissi e ha anche due fuochi. Una parabola ha un focus ma in realtà ne ha due perché il secondo è all'infinito: quando il piano di taglio si inclina di 90 gradi (angolo di rilevamento), il secondo focus va all'infinito.

Conclusione

Come vedi tutti sono ellissi, tuttavia puoi chiamarli in modo diverso per descrivere casi speciali, ma se hai intenzione di implementarlo in un gioco, devi assumere un'equazione ellittica ed è sufficiente. Non so chi di voi ragazzi abbia ragione, tu o il tuo amico, perché entrambi potrebbero avere ragione.


2
Grazie per la tua risposta. Si prega di consultare le mie aggiunte sulla proiezione prospettica. Mi scuso per questa svista nella mia formulazione originale.
hippietrail,

2
Sì, ho provato a coprirlo nella mia domanda originale. I punti e i segmenti di linea sono anche altre ellissi degenerate.
hippietrail,

3
@hippietrail: La Terra è in realtà un eccellente esempio anche per le proiezioni prospettiche. Se scatti una normale fotografia all'aperto, puntando la fotocamera verso l'orizzonte, (supponendo che l'obiettivo non abbia distorsioni e che la Terra sia approssimativamente una sfera perfetta), l'immagine della Terra nell'immagine sarà (una sezione di) un'iperbole molto ampia.
Ilmari Karonen,

1
@IlmariKaronen: Wow, questo lo rende super chiaro ed è degno di una sua risposta! Ci sarebbe una versione di questo che si tradurrebbe in una parabola?
hippietrail,

1
@hippietrail Aggiungo qualche spiegazione alla fine della mia risposta, spero che possa rispondere a nuovi aspetti della domanda modificata. e grazie per il tuo complemento.
Iman,

11

Il ragionamento di SimonF mi ha sostanzialmente convinto, ma ho deciso di fare un controllo di sanità mentale. Ho caricato un livello UE4 che sembra avere delle sfere, come questo:

inserisci qui la descrizione dell'immagine

Ho impostato il FOV della fotocamera su 160 gradi per dare molta distorsione prospettica e l'ho posizionato in modo che la sfera fosse vicino all'angolo dell'immagine:

inserisci qui la descrizione dell'immagine

Poi ho preso questo in Inkscape e ho usato lo strumento ellisse per disegnarlo:

inserisci qui la descrizione dell'immagine

Sorpresa! È una misura perfetta!


1
Molto graziosamente illustrativo! Cosa ne pensi di affrontare i casi di parabola e iperbole?
hippietrail,

2
@hippietrail Sfortunatamente, i programmi di arte vettoriale non hanno gli strumenti di parabola e iperbole nel modo in cui hanno strumenti di ellisse, quindi sarebbe un po 'più difficile ... :)
Nathan Reed,

@NathanReed certo ma hanno strumenti grafici generali, (se non puoi ottenerne uno da me) traccia una grafica di una parabola generica e scala / ruota per adattarla.
joojaa,

-1

Non ci sono parabole o iperbole formate quando si affetta una sfera una volta. Non ci sono nemmeno ellissi tranne il caso speciale che è un cerchio. Il risultato è sempre un cerchio. Se si proietta la sfera su un piano inclinato, si ottiene un'ellisse


1
Le altre risposte indicano che sono possibili forme diverse da un'ellisse. Puoi dimostrare perché potrebbero non essere corretti?
Simon F
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.