Czy kula rzutowana w przestrzeń 2D zawsze powoduje elipsę?

22

Moją intuicją zawsze było to, że kiedy jakakolwiek sfera jest rzutowana w przestrzeń 2D, wynik zawsze będzie matematycznie elipsą (lub kołem w zdegenerowanych przypadkach).

W przeszłości, kiedy aktywnie zajmowałem się programowaniem graficznym i rozmawiałem z innymi ludźmi, byli nieugięci, że się mylę. Jeśli dobrze pamiętam, wierzyli, że wynikiem może być coś „w kształcie jajka”.

Kto miał rację?


Ponieważ została już przesłana jedna odpowiedź, nie chcę całkowicie zmieniać mojego pytania, ale zdaję sobie sprawę, że pominąłem ważne szczegóły z powodu utraty znajomości tej dziedziny z biegiem lat.

Chciałem zapytać konkretnie o rzutowanie perspektywiczne, w którym rzutowanie ma charakter liniowy .

Inne projekcje są oczywiście interesujące dla wielu zastosowań, więc nie chciałbym, aby zostały w tym momencie usunięte. Byłoby jednak wspaniale, gdyby odpowiedzi mogły mieć projekcję perspektywiczną jako najważniejszą część.

hippietrail
źródło
3
Zakładając rzut perspektywiczny, AFAICS „granica” utworzona przez horyzont punktów widokowych będzie stożkiem (obciętym), a zatem większość rzutowania będzie sekcją stożkową: en.wikipedia.org/wiki/Conic_section . Elipsa jest zatem możliwością, ale nie jedyną.
Simon F
1
W takim przypadku przedstawię moje komentarze do odpowiedzi ...
Simon F
1
musisz dodać ograniczenie. Rybie oko jest również rzutem perspektywicznym i nie dostaniesz elips. ograniczeniem, którego potrzebujesz, jest liniowość.
v.oddou
1
Wolę powiedzieć coś w stylu „gdzie projekcja jest aplikacją liniową”. Może być na to jakiś skrót, na przykład „liniowy epimorfizm” czy coś takiego, ale już dawno o tym zapomniałem.
v.oddou
1
Powinno to pójść gdzieś w tym wątku, więc dodajmy
Mikkel Gjoel

Odpowiedzi:

18

Zakładając rzut perspektywiczny i punkt widzenia zewnętrzny względem kuli, wówczas „granica” utworzona przez punkt widzenia i okrąg na kuli, który tworzy horyzont WRT punkt widzenia, będzie stożkiem.

Wykonanie rzutu perspektywicznego (na płaszczyznę) jest następnie równoważne przecięciu tego stożka z płaszczyzną, która w ten sposób wytwarza odcinek stożkowy. FYI cztery przypadki nie zdegenerowane pokazano na tym zdjęciu z Wikipediiwprowadź opis zdjęcia tutaj

Elipsa / okrąg jest więc możliwą, ale nie jedyną - nieograniczonymi parabolami lub hiperbolami (i myślę, że jeśli samolot przejdzie przez oko, nawet zdegenerowane przypadki) są możliwe.

Simon F.
źródło
1
Nie jestem w stanie wyobrazić sobie, jak wynikiem może być parabola lub hiperbola pomimo absolutnej logiki twojego argumentu. Świetnie wyglądałyby niektóre słowa wyjaśniające, do jakiego rodzaju układu do nich doprowadzą. Najlepsze, na co mogę sobie
pozwolić,
3
Może coś równoważnego może pomóc. Wyobraź sobie, że trzymasz pochodnię (latarkę dla tych w Ameryce Północnej), która tworzy stożkową wiązkę, i jesteś w ciemnym, pustym (nieskończonym) magazynie. Świecąc pochodnię na podłodze zobaczysz elipsę. Teraz stopniowo przechyl oś pochodni z powrotem w kierunku poziomym. Elipsa będzie się wydłużać do momentu, gdy najwyższa „krawędź” samej belki będzie pozioma, tj. Równoległa do podłogi. Teraz projekcja jest parabolą i ciągnie się na zawsze. Dalsze przechylenie spowoduje powstanie hiperboli.
Simon F
1
@hippietrail: Być może warto zauważyć, że z płaszczyzną widzenia przed kamerą jedynym sposobem na uzyskanie paraboli lub hiperboli jest to, że przynajmniej część kuli znajduje się między punktem ogniskowym a płaszczyzną widzenia.
Ilmari Karonen,
@IlmariKaronen: Co w tym kontekście oznacza „punkt centralny”? Punkt, na którym skupia się oko? Znikający punkt? (Nauczyłem się rotacji i projekcji perspektywy 3D jako 12 lub 13 lat i nigdy nie zyskałem biegłości w matematyce i terminologii.)
hippietrail
@hippietrail W tym kontekście punktem centralnym byłby wierzchołek stożka. Skutecznie „otworkowa” w perspektywicznym modelu otworkowej kamery. (PS Czy nazwa sugeruje spotkanie z „dziwną damą. Denerwowała mnie ..”?)
Simon F
14

To jest bardziej jak długi komentarz do odpowiedzi @ SimonF, że próbuję zrobić coś samowystarczalnego.

Możliwe są wszystkie nacięcia stożka, hiperbola, parabola i owale. Można to łatwo przetestować, rysując obrazy w silniku 3D za pomocą kamery o bardzo szerokim kącie. Obróć kamerę, aby powiedzieć pod kątem 30 stopni, aby obiekt nie znalazł się w środku ostrości. Następnie stopniowo zbliżaj aparat do kuli.

wprowadź opis zdjęcia tutaj

Zdjęcie 1: Latanie bardzo blisko kuli wyglądającej lekko na boki. Zauważ, jak nagle przebiliśmy formę wewnątrz.

Podsumowując, gdy kula jest bardzo blisko i wychodzi z obrazu na szerokim obrazie, może to być parabola lub hiperbola. Ale kształt po prostu opuści ramkę, aby to zrobić.

joojaa
źródło
1
Co może być naprawdę miłe, jeśli twoja animacja może zmienić cieniowanie dla różnych wyników: Powiedz biel dla elipsy, zielony (dla „jednej klatki” paraboli) i czerwony dla hiperboli. :-)
Simon F
2
@ SimonF Myślałem o tym, planowałem coś w stylu Nathana Reeda. Ale trochę się spieszyłem, miałem szczęście, że udało mi się wykonać ten rendering. Początkowo byłem nieco sceptyczny, czy hiperbola może w ogóle istnieć, ale tak, teraz wydaje się to oczywiste.
joojaa
13

Systemy projekcyjne służą do przekształcania kształtu 3D w kształt płaski (2D).

Zgodnie z rodzajem systemu projekcji z kuli można wytwarzać różne wyniki i kształty, takie jak prostokąty, ciasta, elipsy, koła ...

Systemy projekcyjne można klasyfikować według cech generowanego przez nie wyniku.

Aby kontynuować, chciałbym użyć bardzo dotykalnego i powszechnego przykładu, który wszyscy widzieliśmy wcześniej, kuli ziemskiej i globalnych szerokich map, są one wszędzie.

Załóżmy, że twoja kula jest ziemią!

Wyobraź sobie ziemię jako swoją kulę i płaską mapę świata, która jest utworzona z kulistego kształtu ziemi. Na większości map świata widać, że kraje znajdujące się w pobliżu biegunów stają się znacznie większe niż w rzeczywistości, na przykład Islandia, która w rzeczywistości stanowi 1/14 kontynentu afrykańskiego, ale mapa pokazuje je jako równe. Dzieje się tak, ponieważ pomijając jeden wymiar, tracimy jedną cechę charakterystyczną naszych kształtów.

Różne systemy projekcji i ich wyniki

Jest to rzut płaski, który nie zachowuje odległości, kątów ani powierzchni. Czerwone kółka pokazują ilość przesady, która jest wynikiem tej projekcji.

Pierwszy

Równy Obszar, spójrz na Islandię i Afrykę w tym jednym i porównaj z powyższym.

druga

Systemy projekcyjne można sklasyfikować według tego, co zachowują.

  1. Równy obszar.
  2. Równy kąt, który zachowuje kształt bez zniekształceń (zgodny).
  3. Równa odległość.
  4. ......

Rzuty konformalne zachowują kształty, ale obszar nie zostanie zachowany (pierwszy obrazek powyżej) ten jest najbardziej znanym systemem rzutowania, który jest używany w wielu aplikacjach. Twoja kula jest tutaj prostokątem!


Nie można więc powiedzieć, że kula będzie zawsze rzutowana na elipsę. Jak wspomniano powyżej, kula może być rzutowana na prostokąt (pierwszy kształt) lub może być elipsą, ale o różnych cechach (równy kąt, odległość, kształt, pole - patrz poniższy rysunek), lub możesz również rzutować kulę na stożkowy a następnie otwórz stożek, aby uzyskać ciasto.

Każdy z powyższych systemów projekcji można zastosować za pomocą iteracyjnych lub bezpośrednich algorytmów, które można znaleźć w Internecie. Nie mówiłem o formule i transformacjach, ponieważ nie pytałeś. Chociaż życzę ci, aby ta odpowiedź była przydatna.

Trzeci


W rzutach perspektywicznych mówię tak, tylko sfery będą wytwarzane z kul

Cięcie stożka za pomocą płaszczyzny poziomej tworzy okrąg.

Cięcie ukośną płaszczyzną tworzy fazę, która byłaby elipsą lub hiperbolą w zależności od kąta cięcia, a gdy ten kąt będzie nachylony do pionu, utworzy się parabola (poniższy rysunek).

Elipsa

Może to oczywiste, ale spójrz na ich równania.

Dla uproszczenia założyłem, że wszystkie geometrie są wyśrodkowane.

Równania:

x2+y2=r2

x2/a2+y2/b2=1

x2/a2y2/b2=1

y2=4ax

Morfologia:

Elipsa ma oczywiście dwa ogniska. Okrąg jako szczególny rodzaj elipsy ma również dwa ogniska, ale są one zbieżne. Hiperbola jest jednak zwierciadłem osi równej elipsy i ma również dwa ogniska. Parabola ma jedno ognisko, ale w rzeczywistości ma dwa, ponieważ drugie znajduje się w nieskończoności: gdy płaszczyzna cięcia pochyla się do 90 stopni (kąt namiaru), drugie ogniskowanie przechodzi w nieskończoność.

Wniosek

Jak widać, wszystkie są elipsami, jednak możesz nazwać je inaczej w celu opisania specjalnych przypadków, ale jeśli zamierzasz zaimplementować je w grze, musisz przyjąć równanie elipsy i to wystarczy. Nie mogę powiedzieć, który z was ma rację, ty czy twój przyjaciel, ponieważ obaj mogą mieć rację.

Iman
źródło
2
Dzięki za odpowiedź. Proszę zobaczyć moje uzupełnienia dotyczące projekcji perspektywicznej. Przepraszamy za niedopatrzenie w moim oryginalnym brzmieniu.
hippietrail
2
Tak, próbowałem opisać to w moim pierwotnym pytaniu. Punkty i segmenty linii to także inne zdegenerowane elipsy.
hippietrail,
3
@hippietrail: Ziemia jest tak naprawdę doskonałym przykładem również do projekcji perspektywicznych. Jeśli zrobisz zwykłe zdjęcie na zewnątrz, kierując aparat w stronę horyzontu, to (zakładając, że twój obiektyw nie ma zniekształceń i że Ziemia jest w przybliżeniu idealną kulą), obraz Ziemi na zdjęciu będzie (fragment) bardzo szeroka hiperbola.
Ilmari Karonen,
1
@IlmariKaronen: Wow, to sprawia, że ​​jest bardzo jasne i jest warte własnej odpowiedzi! Czy istniałaby wersja tego, która prowadziłaby do paraboli?
hippietrail
1
@hippietrail Dodaję wyjaśnienie na końcu mojej odpowiedzi, mam nadzieję, że może odpowiedzieć na nowe aspekty edytowanego pytania. i dzięki za uzupełnienie.
Iman
11

Rozumowanie SimonFa w zasadzie mnie przekonało, ale postanowiłem zrobić kontrolę zdrowia psychicznego. Załadowałem poziom UE4, który ma pewne sfery, takie jak ten:

wprowadź opis zdjęcia tutaj

Ustawiłem pole widzenia kamery na 160 stopni, aby uzyskać duże zniekształcenie perspektywy, i ustawiłem go tak, aby kula znajdowała się w pobliżu rogu obrazu:

wprowadź opis zdjęcia tutaj

Potem wziąłem to do Inkscape i użyłem narzędzia elipsy, aby na nim narysować:

wprowadź opis zdjęcia tutaj

Niespodzianka! Idealnie pasuje!

Nathan Reed
źródło
1
Bardzo ładnie ilustracyjny! Co sądzisz o rozwiązywaniu przypadków paraboli i hiperboli?
hippietrail
2
@hippietrail Niestety, programy grafiki wektorowej nie mają narzędzi paraboli i hiperboli, tak jak narzędzia elipsy, więc byłoby trochę trudniej ... :)
Nathan Reed
@NathanReed na pewno, ale mają ogólne narzędzia do tworzenia wykresów, (jeśli nie możesz dostać ode mnie) wykreśl ogólną parabolę i skaluj / obracaj, aby dopasować.
joojaa
-1

Nie ma żadnych paraboli ani hiperbol powstających podczas krojenia kuli raz. Nie ma też elips, z wyjątkiem specjalnego przypadku, którym jest okrąg. Rezultatem jest zawsze okrąg. Jeśli rzutujesz kulę na nachyloną płaszczyznę, otrzymujesz elipsę

Liz
źródło
1
Pozostałe odpowiedzi wskazują, że możliwe są kształty inne niż elipsa. Czy możesz wykazać, dlaczego mogą być niepoprawne?
Simon F