0
$\begingroup$

As this question and its answers point out, projecting a sphere on a flat picture plane, with perspective projection, may result in a ellipse, not a circle, and my understanding is that the only way a sphere can be projected as a circle is when its center perfectly align with the center of vision, in other words, when the viewer's eye or the camera is oriented so that the sphere is smack-dab at the center of the rendered image. But in pretty much all 3D programs imaginable out there, the image of a sphere is always a circle, not matter where the sphere is in the image, left, right, top, bottom. The only time a sphere looks stretched is when it exceeds the bound of the image.

So my question is: how does 3D graphic software adjust for distortion (such as a sphere being projected as an ellipse)? What are the possible different solutions for minimize distortion when you're working on a scene (for example, through a viewport, when you're placing objects, modeling, simulating, etc.) as opposed to when you render (in which case, factors such as the camera's sensor size, focal length, etc. are taken into consideration)? Is it possible that 3D software doesn't actually project image onto a picture plane, but some sort of picture sphere instead, which I figure will cause no distortion? And does the way 3D graphic software adjusts for distortion relate to how real-life camera adjust?

$\endgroup$
9
  • 1
    $\begingroup$ Use orthographic projection. $\endgroup$
    – lightxbulb
    Jun 18 at 6:57
  • 1
    $\begingroup$ It's typically distorted. Just avoid really wide angle projections to minimise it <shrug> $\endgroup$
    – Simon F
    Jun 18 at 13:13
  • $\begingroup$ Most seerious design applications default to othrogragraphic. Games engines and visualisation apps default as perspective. So nearly all cad apps begin in parallel projection. Including but not limitted to Creo, Catia , solidworks, inventor, autocad, rhino.... $\endgroup$
    – joojaa
    Jun 19 at 8:57
  • $\begingroup$ Anyway i think your question is wrong. I the applications dont do anything to the distortion. Its just that with normal focal lengths the distortion is minimal. So small that your brain is correcting them to rounds. When i made my animation in the example question thread i used a really really uncomfortably wide angle lense. $\endgroup$
    – joojaa
    Jun 19 at 9:05
  • $\begingroup$ @joojaa Sir, I would gloss over bad spelling under normal circumstances, but given that you have made several ridiculous statements, riddled with bad spelling, I'm starting to doubt whether you know what you're talking about. $\endgroup$ Jun 19 at 9:12
2
$\begingroup$

They dont. The distortion of a perfect pinhole camera at any smaller view angle is really minimal. Whether the projection plane is flat or spherical does not matter.

It is vey unlikely that any nonspecialized software would do a spherical projection since you cant do that with homogeneous coordinates that form the basis of most 3D engines that dont rely on software implementation or raytracing.

Normally the human brain constructs a corrected model of the world. Your brain simply corrects ovals as a circle as long as the perspective is within the ballpark of what people experience normally.

(We had a discussion on orthographic views. People who do modeling work get used to seeing in orthographic very quickly. But beginners actually see a reverse illusion of what is there when rotating the view. So beginners often experience orthographic as having upside down perspective untill their brain adjusts its model)

$\endgroup$
5
  • $\begingroup$ It's interesting that you immediately thought of orthographic projection. Whenever I think of the "default" view mode or the "default" render mode, it'd be in perspective view. Crack open any 3D application, as simple as Windows' built-in 3D Viewer and that's pretty much always the case, you'll be in perspective view by default. Orthographic view would be something you have to consciously enable, and of course there's not as much distortion in orthographic view as in perspective view. Anyway, I guess the perspective tag wasn't enough, so I edited my question for clarity. $\endgroup$ Jun 19 at 2:02
  • $\begingroup$ @Vun-HughVaw Orthographic induces no distortion whatsoever. If you want to avoid distortion due to perspective projection specifically, while minimising distortion then you'll have to use a spherical film. $\endgroup$
    – lightxbulb
    Jun 19 at 12:18
  • $\begingroup$ @joojaa Not necessarily, you can just find an appropriate mapping from the spherical angle to the screen. There are similar projections that work even with a rasterisation pipeline, e.g. Panini: github.com/shaunlebron/blinky $\endgroup$
    – lightxbulb
    Jun 19 at 12:47
  • $\begingroup$ @joojaa I never claimed that this is distortion free, I quote: "while minimising distortion". I said appropriate, as in appropriate for your application. If you just want to find someone to argue with look elsewhere. $\endgroup$
    – lightxbulb
    Jun 19 at 13:09
  • $\begingroup$ @lightxbulb apologies yes you said that. So distortion of your choosing is possible. $\endgroup$
    – joojaa
    Jun 19 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.