---
title: "Ellipse symmetry and drawing algorithm"
subject: "Computer Graphics"
chapter: 2
key: "semester_5/computer_graphics:ellipse-symmetry-algorithm"
source: https://www.bctengineer.com/q/semester_5/computer_graphics/ellipse-symmetry-algorithm
site: BCT Engineering
---

# Ellipse symmetry and drawing algorithm

Computer Graphics · Chapter 2: Scan-Conversion

- Asked in: 2082 Kartik (new course), 2+5 marks
- Video: [CGMM Lecture 17 : Midpoint Ellipse Drawing Algorithm Part 1 in Hindi/English](https://www.youtube.com/watch?v=3FDusdODHI8) — Easy Engineering Classes
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/computer_graphics/ellipse-symmetry-algorithm
- Whole chapter: https://www.bctengineer.com/md/semester_5/computer_graphics/chapter-2

## Question

How is the symmetric property vital while drawing an ellipse? Write an algorithm to draw an ellipse in raster graphics system.

## Short answer

An ellipse has four-way symmetry about the axes, so computing only the first quadrant yields four pixels per point, reducing work. The midpoint ellipse algorithm splits the quadrant at slope -1: region 1 steps x, uses p1=ry²−rx²·ry+rx²/4; region 2 steps y, initial p2=ry²(x+0.5)²+rx²(y−1)²−rx²ry², then plots (±x,±y) shifted to center.

## Answer

#### Symmetry in ellipse drawing
An ellipse centred at the origin is symmetric about the x-axis and the y-axis. So if (x, y) is a point on the ellipse, then (−x, y), (x, −y) and (−x, −y) are also on it. This **four-way symmetry** means only the first quadrant needs to be calculated, and every calculated point gives 4 pixels, reducing the computation to one fourth. (Unlike a circle, an ellipse has no symmetry about y = x.)

#### Midpoint ellipse algorithm (rx, ry, centre (xc, yc))
The first quadrant is divided into region 1 (slope magnitude < 1, x is the unit step) and region 2 (slope magnitude ≥ 1, y is the unit step). The boundary is where 2ry²x = 2rx²y. The ellipse function f(x, y) = ry²x² + rx²y² − rx²ry² is tested at the midpoint of the two candidate pixels.

```text
Input rx, ry and centre (xc, yc).
Region 1 (slope magnitude < 1):
  x = 0, y = ry
  p1 = ry² − rx²·ry + rx²/4
  while 2·ry²·x < 2·rx²·y:
      plot the 4 symmetric points of (x, y)
      x = x + 1
      if p1 < 0:
          p1 = p1 + 2·ry²·x + ry²
      else:
          y = y − 1
          p1 = p1 + 2·ry²·x − 2·rx²·y + ry²
Region 2 (slope magnitude ≥ 1), start from last (x, y):
  p2 = ry²(x + ½)² + rx²(y − 1)² − rx²·ry²
  while y ≥ 0:
      plot the 4 symmetric points of (x, y)
      y = y − 1
      if p2 > 0:
          p2 = p2 − 2·rx²·y + rx²
      else:
          x = x + 1
          p2 = p2 + 2·ry²·x − 2·rx²·y + rx²
Each plotted point is shifted by (xc, yc): (xc±x, yc±y).
```

## Check yourself

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

1. An ellipse centred at the origin has which symmetry, and what does it give?
   A. Four-way symmetry about the axes: (x,y) gives (−x,y), (x,−y), (−x,−y)
   B. Eight-way symmetry including y = x
   C. Two-way symmetry about the x-axis only
   D. No symmetry unless rx = ry
   Answer: A. Only axis symmetry holds, so one quadrant is computed and reflected. (Key point: Symmetry of ellipse)

2. How does the symmetry help?
   A. It removes the need for a decision parameter
   B. Only one quarter of the points need computing, reducing the work to one fourth
   C. It makes the ellipse a circle
   D. It halves the plotting resolution
   Answer: B. Each computed point plots four pixels. (Key point: Benefit)

3. Why can't an ellipse use the y = x symmetry used for circles?
   A. Because ellipse points are not integer
   B. Because y = x passes through the centre
   C. Because rx ≠ ry, swapping x and y does not give a point on the ellipse
   D. Because the ellipse is not closed
   Answer: C. (y,x) lies on the ellipse only when rx = ry. (Key point: Why not y = x)

## Related in Computer Graphics

- [Symmetry property of a circle](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Acircle-symmetry-property) — Computer Graphics, chapter 2, asked 4×
- [Process of drawing an ellipse](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aellipse-drawing-process) — Computer Graphics, chapter 2
- [Raster versus vector graphics](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Araster-vs-vector-graphics) — Computer Graphics, chapter 1, asked 4×
- [Pixel access rate of raster system](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Apixels-per-second-access-time) — Computer Graphics, chapter 1
- [Compare DDA/Bresenham; midpoint ellipse](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Acompare-dda-bresenham-midpoint-ellipse) — Computer Graphics, chapter 2
- [Raster display and frame buffer load time](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Araster-system-load-time) — Computer Graphics, chapter 1

## Related in other subjects

- [Isometric crystal system with symmetry elements](https://www.bctengineer.com/question.md?key=semester_3%2Fengineering_geology_i%3Aisometric-crystal-system-with-symmetry) — Engineering Geology I, chapter 3, asked 5×
- [Axis of symmetry; isometric system](https://www.bctengineer.com/question.md?key=semester_3%2Fengineering_geology_i%3Aaxis-of-symmetry-isometric-system) — Engineering Geology I, chapter 3
- [CTFT conjugation and conjugate symmetry](https://www.bctengineer.com/question.md?key=semester_4%2Fsignals_and_systems%3Actft-conjugation-symmetry) — Signals and Systems, chapter 3, asked 2×
- [Harmonic exponentials; CTFS conjugate symmetry](https://www.bctengineer.com/question.md?key=semester_4%2Fsignals_and_systems%3Aharmonic-exponentials-conjugation) — Signals and Systems, chapter 2
