Unlock the Geometry Puzzle: Minimum Pictures Needed

Click For Summary
SUMMARY

The forum discussion centers on calculating the minimum number of pictures required to capture a 3D object, specifically a toy car, from all possible angles. The initial assumption of 576 images is corrected to a more efficient 266 images by considering camera movement around the object instead of rotating the object itself. The discussion emphasizes the need for equidistant camera angles and the use of polyhedral geometry to optimize image capture. Participants agree that the problem's framing should focus on covering the surface of a sphere with minimal angular deviation from camera angles.

PREREQUISITES
  • Understanding of 3D geometry and angles
  • Familiarity with polyhedral structures and their properties
  • Knowledge of camera positioning and image capture techniques
  • Basic principles of solid angles and spherical geometry
NEXT STEPS
  • Research the properties of regular polyhedra and their application in 3D imaging
  • Learn about solid angles and how they relate to camera positioning
  • Explore techniques for optimizing image capture in 3D modeling
  • Investigate algorithms for distributing camera angles evenly over a spherical surface
USEFUL FOR

3D modelers, photographers, computer graphics professionals, and anyone interested in optimizing image capture techniques for 3D objects.

DaveC426913
Gold Member
2025 Award
Messages
24,258
Reaction score
8,383
A geometry puzzle:

Say I want to obtain an image of an object (eg. a toy car) from every possible angle in 3-dimensions, in, say, 15 degree increments. How many pictures would I need to take?

The immediate answer is 576.
1] Rotate the car around X axis through 360 degrees in 15 degree increments. Take 24 pictures.
2] Now rotate the car around Y axis by 15 degrees.
3] Repeat steps 1 and 2 23 more times.

24x24=576.

But here's the thing, many shots will be duplicates, merely the same angle of the object but with the image rotated.

So, what is the minimum number of pictures I would need to take?

It occurs to me that this might be simpler if I left the object stationary and moved the camera. Then I would sidestep the whole duplicate angle thing...
 
Mathematics news on Phys.org
114 Shots

Imagin a globe with the car at the middle

First shot is the north pole
2-17 are 15Deg South
18-34 are at 30 Deg
exc...
Last shot is the south pole

1+16*7+1=114

Im pritty sure this is right
 
Move the camera around (360 degrees in 15 degrees increments) the car, from north pole to south pole (180 degrees in 15 degrees increments).
But you have only 1 picture at the poles.

So, the total is :
1 + 11*24 + 1 = 266
 
Last edited:
I get a different answer each time I find a different way to add it up.

It occurs to me that this is not an optimal way of getting pics, isnce the difference between two shots varies, depending on whether you're near the poles or the equator.

Ideally, you'd want equidistant points - which I guess means you'd be forming the vertices of a regular polyhedra. There are distorted polyhedra larger then 20 siders, as any board gamer will know. (I've seen 30 and even 100-siders.)
 
I (too?) feel that the definition is inadequit or at the very least non-optimal. "15 deg increments" isn't well specified in 3d. It makes more sense to use a polyhedra confined to a sphere with angles being normals to the sphere.
 
Rogerio said:
Move the camera around (360 degrees in 15 degrees increments) the car, from north pole to south pole (180 degrees in 15 degrees increments).
But you have only 1 picture at the poles.

So, the total is :
1 + 11*24 + 1 = 266


Where are you getting 11*24 from?

Not counting the 2 poles there would only be 7 Shots for each 15 deg move.
And 16 moves.
 
xJuggleboy said:
Where are you getting 11*24 from?

Not counting the 2 poles there would only be 7 Shots for each 15 deg move.
And 16 moves.

a] Are you considering the shots from below? (That's why I chose a toy car rather than a real car as the example.)

b] 15 goes into 360 24 times, not 16 times.

So, at elevation = 0, one complete rotation about the vertical axis requires 24 shots.

There are five elevations above 0 (15,30,45,60,75)
And five below (-15,-30,-45,-60,-75)
For a total of 11 elevations.

We're at 24x11.
Plus the two poles
= 266.


Thanks Rogerio.
 
would it be fairer (more tractable) to state the problem as you wish to cover the surface of sphere so that no point on the surface is more than 7.5 degrees away from a camera angle?

The problem with the question as possed is that choice of more "open" networks allows you to choose arrangements that fail to cover some areas well.

from your choice of words "say 15 degrees" I take it that the actual angle is not important. thus I suggest you frame the problem the other way round "Given n cameras what is the minimum maximum angle that (either one camera has to it's nearest neighbour OR that a direction can be from all the cameras)"

You should then have pretty well defined function

n=1 neighbour=360 point=180
n=2 neighbour=180 point=90
n=3 neighbour=120? point=90? (equilateral triangle)
n=4 neighbour=104? point=? (tetrahedral)
n=5 neighbour=90 point=? (trigonal bipyramid)
n=6 neighbour=90 point=? (octahedron)
n=7 ?
n=8 (cube)
etc

after a while it should smooth out to be good enough to just interpolate
 
  • #10
gnpatterson said:
would it be fairer (more tractable) to state the problem as you wish to cover the surface of sphere so that no point on the surface is more than 7.5 degrees away from a camera angle?

The problem with the question as possed is that choice of more "open" networks allows you to choose arrangements that fail to cover some areas well.

from your choice of words "say 15 degrees" I take it that the actual angle is not important. thus I suggest you frame the problem the other way round "Given n cameras what is the minimum maximum angle that (either one camera has to it's nearest neighbour OR that a direction can be from all the cameras)"

You should then have pretty well defined function

n=1 neighbour=360 point=180
n=2 neighbour=180 point=90
n=3 neighbour=120? point=90? (equilateral triangle)
n=4 neighbour=104? point=? (tetrahedral)
n=5 neighbour=90 point=? (trigonal bipyramid)
n=6 neighbour=90 point=? (octahedron)
n=7 ?
n=8 (cube)
etc

after a while it should smooth out to be good enough to just interpolate

You are entirely correct, this is the same conclusion I was coming to as I thought it through. There's two problems with that though:
1] a high possibility that "desirable" angles would not be covered (i.e exactly polar, or exactly equatorial or exactly head-on)
2] logistical troubles with actually setting the camera at those angles (cuz it'll be different for each shot)
 
  • #11
DaveC426913 said:
a] Are you considering the shots from below? (That's why I chose a toy car rather than a real car as the example.)

b] 15 goes into 360 24 times, not 16 times.

So, at elevation = 0, one complete rotation about the vertical axis requires 24 shots.

There are five elevations above 0 (15,30,45,60,75)
And five below (-15,-30,-45,-60,-75)
For a total of 11 elevations.

We're at 24x11.
Plus the two poles
= 266.


Thanks Rogerio.


I admit it.. I have no ideia what I was thining when I wrote that :smile:
We had the same ideia... I just got my numbers WAY wrong =-(
 
  • #12
Yep, the solid angle should be used to describe and bound the condition. Get the 15 deg increments is equivalent to the quantity of the solid angle, then devided by the 4PI. you will get the answer, maybe it is not a integer, you should think about the taken point actually. I am pretty sure it is the right way.

LarrrSDonald said:
I (too?) feel that the definition is inadequit or at the very least non-optimal. "15 deg increments" isn't well specified in 3d. It makes more sense to use a polyhedra confined to a sphere with angles being normals to the sphere.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 9 ·
Replies
9
Views
1K
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
871
  • · Replies 6 ·
Replies
6
Views
1K
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 33 ·
2
Replies
33
Views
3K
  • · Replies 49 ·
2
Replies
49
Views
5K
  • · Replies 9 ·
Replies
9
Views
3K