Illusions / Ponzo
Ponzo illusion
Two equal bars between converging rails.
Measured from the image
Sliders
How the effect works
Two rails run toward each other like train tracks heading to the horizon. Two red bars cross them, one near the narrow end and one near the wide end. The upper bar looks longer. Both bars have the same length.
The build script measures both bars and prints the lengths. It also measures the gap between the rails at the height of each bar. The upper bar sits where the rails are close together. The lower bar sits where the rails are far apart. One common account says your visual system reads converging lines as distance, so a bar placed farther along the rails looks bigger than a bar of equal length placed nearer.
Narrow the angle between the rails and the gap difference shrinks. The sweep table follows the convergence angle and prints the rail gap at each bar. Move the two bars closer together with the bar gap slider and compare. Make the bars longer or shorter and see whether the pull changes for you. The bars match at every setting, since the renderer draws both from the same two numbers.
Measured at the default settings
Image size: 700 by 480 px. The build script read these values from the rendered pixels.
- Top Bar Length Px
- 120
- Bottom Bar Length Px
- 120
- Top Bar
- y 174, x0 290, x1 410
- Bottom Bar
- y 354, x0 290, x1 410
- Rail Width At Top Bar Px
- 58
- Rail Width At Bottom Bar Px
- 121
- Convergence Degrees
- 20
Where the effect weakens
The table sweeps Angle between the rails (degrees) and scores a geometric proxy from 0 to 1: Rail gap difference between the two bars, as a share of the bar length. The proxy comes from the image geometry. The proxy measures geometry and not perception. Your own eyes decide what you see. Rows below 0.5 are marked weak.
Weak range: 5 to 15 deg. Proxy at the default setting: 0.525.
| convergence (deg) | Proxy | Bar Top Px | Bar Bottom Px | Rail Width Top Px | Rail Width Bottom Px |
|---|---|---|---|---|---|
| 5 | 0.133 (weak) | 120 | 120 | 14 | 30 |
| 10 | 0.258 (weak) | 120 | 120 | 29 | 60 |
| 15 | 0.4 (weak) | 120 | 120 | 43 | 91 |
| 20 | 0.525 | 120 | 120 | 58 | 121 |
| 25 | 0.667 | 120 | 120 | 73 | 153 |
| 30 | 0.8 | 120 | 120 | 88 | 184 |
| 35 | 0.95 | 120 | 120 | 103 | 217 |
| 40 | 1 | 120 | 120 | 119 | 250 |
Try this
- Set the convergence angle to its smallest value. Compare the bars again.
- Move the bars closer together with the bar gap slider. Note what happens to the difference you see.
- Make the bars longer, then shorter. See whether the pull changes.
History
- The illusion is named for the Italian psychologist Mario Ponzo. Sources disagree on the year (1911 or 1913), so the site gives no date. Source
Only facts confirmed against a source appear here. Where sources disagree, this site leaves the detail out.
More illusions
Entertainment only. Not a vision or health test.





