Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

4.3 Oblique Projections - Cavalier and Cabinet

Lesson 29 of 32 in the free Computer Graphics notes on Siksha Sarovar, written by Rohit Jangra.

Definition

An oblique projection is a parallel projection where the projectors are not perpendicular to the view plane. Faces parallel to the view plane keep their true size and shape; depth lines recede at an angle.

Setup

Suppose the view plane is the z = 0 plane and the projection direction makes angle alpha with the plane (and angle phi in the plane). A point (x, y, z) maps to: x' = x + z L cos(phi) y' = y + z L sin(phi) where L = cot(alpha) is the depth scale.

Cavalier

Depth scale L = 1. Lines along z preserve length.

  • Pros: simple to draw; orthogonal vertices align cleanly.
  • Cons: appears elongated and unnatural for cubes.
  • Standard receding angle phi = 30 or 45 degrees.

Cabinet

Depth scale L = 0.5. Depth is halved, simulating roughly the way furniture catalogs depict cabinets.

  • Pros: looks more realistic than cavalier; minimal distortion.
  • Cons: not a true projection of any single physical viewpoint - depth measurements are not literal.

Comparison Table

FeatureCavalierCabinet
Depth scale L1.00.5
LookElongatedNatural
Common angle30 / 45 deg30 / 45 deg
UseQuick sketchesFurniture catalogs

Worked Example

Cube with side 1 at origin. Oblique with phi = 45, cabinet (L = 0.5).

  • (0,0,0) -> (0, 0).
  • (1,0,0) -> (1, 0).
  • (1,1,0) -> (1, 1).
  • (0,1,0) -> (0, 1).
  • (0,0,1) -> (0.5cos45, 0.5sin45) = (0.354, 0.354).
  • (1,0,1) -> (1 + 0.354, 0.354) = (1.354, 0.354).

The cube becomes a hexagonal silhouette in the plane.

Matrix Form

M_oblique = [ 1 0 Lcos(phi) 0 ] [ 0 1 Lsin(phi) 0 ] [ 0 0 0 0 ] [ 0 0 0 1 ]

When to Use

Oblique projections are not common in modern 3D engines (which use perspective). They survive in:

  • Educational diagrams to depict 3D shape with simple geometry.
  • Vintage video games (Q*bert, SimCity 1) and pixel-art style.
  • Architectural sketches.

Caveats

Oblique projection is a parallel projection - parallel lines stay parallel, no foreshortening except along the depth axis. Combining oblique projection with perspective is unusual and produces visual oddities.