0

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?

Vun-Hugh Vaw
  • 129
  • 3
  • 1
    Use orthographic projection. – lightxbulb Jun 18 '21 at 06:57
  • 1
    It's typically distorted. Just avoid really wide angle projections to minimise it – Simon F Jun 18 '21 at 13:13
  • 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.... – joojaa Jun 19 '21 at 08:57
  • 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. – joojaa Jun 19 '21 at 09:05
  • @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. – Vun-Hugh Vaw Jun 19 '21 at 09:12
  • First of all, the idea that only CAD programs are "seerious design applications", whatever that means, is ridiculous. Second, a question may have a false premise, but a question in and of itself is not a statement of fact, it cannot be "wrong". Third, I never claimed that the programs themselves cause the distortion; distortion is an inherent, inevitable part of trying to project any foreshortened curve onto a flat surface. – Vun-Hugh Vaw Jun 19 '21 at 09:12
  • My question concerns about how programs minimize distortion. For example, how do they typically calculate the field of view based on a given sensor size for the camera? Do they really use perspective projection on a flat surface, or is it projection on a sphere? – Vun-Hugh Vaw Jun 19 '21 at 09:18
  • Apologies i must type on a phone with no predictive text (because predictive text works badly in a setting where i write 4 languages daily). Well its unlikely that any normal engine used by a normal programmer would use a spherical projection. Anyway you may notice that I am one of the answers in your thread. The distortions in the images are there because i am using a ridiculously wide angle view. You would never see something like that by default. As for orthographic, most modellers need to work in orthographic views inorder to think of the shapes properly when modeling hard structures. – joojaa Jun 19 '21 at 09:36

1 Answers1

2

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)

joojaa
  • 8,437
  • 1
  • 24
  • 47
  • 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. – Vun-Hugh Vaw Jun 19 '21 at 02:02
  • 1
    @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. – lightxbulb Jun 19 '21 at 12:18
  • @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: https://github.com/shaunlebron/blinky – lightxbulb Jun 19 '21 at 12:47
  • @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. – lightxbulb Jun 19 '21 at 13:09
  • @lightxbulb apologies yes you said that. So distortion of your choosing is possible. – joojaa Jun 19 '21 at 13:12