---
title: "Back-face detection algorithm"
subject: "Computer Graphics"
chapter: 7
key: "semester_5/computer_graphics:back-face-detection-method"
source: https://www.bctengineer.com/q/semester_5/computer_graphics/back-face-detection-method
site: BCT Engineering
---

# Back-face detection algorithm

Computer Graphics · Chapter 7: Visible Surface Determination

- Asked in: 2073 Shrawan, 4 marks; 2073 Chaitra, 8 marks; 2068 Bhadra (old course), 6 marks; 2076 Chaitra, 3 marks; 2075 Chaitra, 5 marks; 2079 Baisakh, 4 marks; 2081 Chaitra (new course), 1 marks; 2066 Magh (old course) (asked 8 times)
- Video: [Back Face Detection | CG | Computer Graphics | Lec-52 | Bhanu Priya](https://www.youtube.com/watch?v=tAtb7zt8Sk0) — Education 4u
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/computer_graphics/back-face-detection-method
- Whole chapter: https://www.bctengineer.com/md/semester_5/computer_graphics/chapter-7

## Question

Explain the back-face detection algorithm (method) used to detect visible surfaces.

## Short answer

Back-face detection checks the dot product of view vector and outward surface normal. In standard viewing (looking along −z), a polygon is a back face if its plane coefficient C ≤ 0; such faces are culled.

## Answer

A polygon surface is a **back face** if it faces away from the viewer. Such faces cannot be seen on a closed solid object, so they are removed before further processing. It is an object-space method.

**Condition.** Let the plane of the polygon be Ax + By + Cz + D = 0, with the outward normal N = (A, B, C) (vertices in counter-clockwise order seen from outside). Let V be the vector from the surface to the viewer (eye).

- If **V · N ≤ 0**, the polygon is a back face (hidden).
- If **V · N > 0**, it is a front face (possibly visible).

In viewing coordinates, where the viewer looks along the negative z-axis, V = (0, 0, 1), so V · N = C. The polygon is a back face if **C ≤ 0**.

```text
        eye
         \  V
          \
   N ^     \
     |  front face (V.N > 0)
  ---+---------
   back face has N pointing away
```

**Algorithm**
1. For each polygon, compute N = (V2 − V1) × (V3 − V1) from its vertices (or take A, B, C from the surface table).
2. Compute V = eye position − a point on the polygon.
3. Compute V · N.
4. If V · N ≤ 0, discard the polygon, otherwise keep it for further processing.

**Features:** about half of the polygons of a closed convex object are removed, so rendering becomes roughly twice as fast. For a single convex polyhedron it gives the exact visible surfaces. For concave objects or overlapping objects it must be used along with another method (z-buffer, depth sorting).

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Using V (towards viewer) and outward normal N, when is a polygon a back face?
   A. V . N > 0
   B. V . N <= 0
   C. V . N = 1
   D. N x V = 0 only
   Answer: B. If V . N <= 0 the face points away from the viewer and is hidden. (Key point: Back-face test)

2. With the viewer looking along the negative z-axis, V = (0,0,1). What is the back-face condition?
   A. C >= 0
   B. A <= 0
   C. C <= 0
   D. D <= 0
   Answer: C. V . N reduces to C, so a polygon with C <= 0 is a back face. (Key point: Viewing coordinates shortcut)

3. How is N computed from polygon vertices V1, V2, V3?
   A. N = (V2 - V1) x (V3 - V1)
   B. N = (V2 - V1) . (V3 - V1)
   C. N = V1 + V2 + V3
   D. N = (V2 + V1) x (V3 + V1)
   Answer: A. The cross product of two edge vectors gives the plane normal. (Key point: Computing the normal)

4. Which statement about back-face detection is correct?
   A. It gives exact visibility for any scene
   B. It sorts polygons by depth
   C. It is an image-space method
   D. It removes about half the polygons of a closed convex object but needs help for concave or overlapping objects
   Answer: D. It is an object-space culling test; concave and overlapping objects need another method such as z-buffer. (Key point: Effect and limits)

## Related in Computer Graphics

- [Limitations of back-face detection](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aback-face-limitations-overcome) — Computer Graphics, chapter 7, asked 2×
- [Back-face test with given normals](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aback-face-normals-frontface) — Computer Graphics, chapter 7
- [Back-face visibility of BED and ABCD](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aback-face-bed-abcd-observer) — Computer Graphics, chapter 7
- [Scan-line method of visible surface](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Ascan-line-visible-surface) — Computer Graphics, chapter 7, asked 3×

## Related in other subjects

- [Back propagation algorithm](https://www.bctengineer.com/question.md?key=semester_6%2Fartificial_intelligence%3Aback-propagation-algorithm) — Artificial Intelligence, chapter 6, asked 3×
- [Orders for entire visible spectrum](https://www.bctengineer.com/question.md?key=semester_1%2Fengineering_physics%3Agrating-orders-visible-spectrum) — Engineering Physics, chapter 4, asked 2×
- [Deadlock conditions, detection, action](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Adeadlock-conditions-detection-recovery-action) — Operating System, chapter 7
