---
title: "3D scaling about arbitrary point"
subject: "Computer Graphics"
chapter: 4
key: "semester_5/computer_graphics:scale-3d-arbitrary-point"
source: https://www.bctengineer.com/q/semester_5/computer_graphics/scale-3d-arbitrary-point
site: BCT Engineering
---

# 3D scaling about arbitrary point

Computer Graphics · Chapter 4: Three-Dimensional Graphics

- Asked in: 2069 Asar, 6 marks
- Video: [3D Scaling | CG | Computer Graphics | Lec-27 | Bhanu Priya](https://www.youtube.com/watch?v=YjtC6tbUUgs) — 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/scale-3d-arbitrary-point
- Whole chapter: https://www.bctengineer.com/md/semester_5/computer_graphics/chapter-4

## Question

Derive a three dimensional matrix expression to scale a point with respect to any arbitrary point A(Xp, Yp, Zp).

## Short answer

Translate point A to origin, scale, then translate back. Composite matrix M = T(A) S(sx,sy,sz) T(-A) = [sx 0 0 xp(1-sx); 0 sy 0 yp(1-sy); 0 0 sz zp(1-sz); 0 0 0 1]. Coordinates transform as x' = sx·x + xp(1-sx), y' = sy·y + yp(1-sy), z' = sz·z + zp(1-sz).

## Answer

To scale about a fixed point A(xp, yp, zp) (so that A does not move): translate A to the origin, scale about the origin, then translate back.

M = T(xp, yp, zp) · S(sx, sy, sz) · T(−xp, −yp, −zp)

```text
T(A)              S                T(-A)
| 1 0 0 xp |   | sx 0  0  0 |   | 1 0 0 -xp |
| 0 1 0 yp |   | 0  sy 0  0 |   | 0 1 0 -yp |
| 0 0 1 zp |   | 0  0  sz 0 |   | 0 0 1 -zp |
| 0 0 0 1  |   | 0  0  0  1 |   | 0 0 0  1  |
```

First S · T(−A):

```text
| sx 0  0  -sx·xp |
| 0  sy 0  -sy·yp |
| 0  0  sz -sz·zp |
| 0  0  0   1     |
```

Then multiplying by T(A) on the left:

```text
M = | sx 0  0  xp(1 - sx) |
    | 0  sy 0  yp(1 - sy) |
    | 0  0  sz zp(1 - sz) |
    | 0  0  0  1          |
```

Equations: x' = sx·x + xp(1 − sx), y' = sy·y + yp(1 − sy), z' = sz·z + zp(1 − sz).

Check: for P = A, x' = sx·xp + xp − sx·xp = xp, so the fixed point stays unchanged.

## Check yourself

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

1. To scale about A(xp,yp,zp), the matrix is:
   A. T(A)·S·T(-A)
   B. T(-A)·S·T(A)
   C. S·T(A)
   D. S only
   Answer: A. Move A to origin, scale, move back. (Key point: Order)

2. The last column of the composite is:
   A. xp·sx, yp·sy, zp·sz
   B. xp(1 - sx), yp(1 - sy), zp(1 - sz)
   C. -xp, -yp, -zp
   D. xp(sx - 1) with sign reversed for z only
   Answer: B. T(A)·S·T(-A) gives xp - sx·xp, etc. (Key point: Translation entries)

3. The point A after scaling:
   A. Moves to origin
   B. Is scaled by sx
   C. Remains unchanged
   D. Is doubled
   Answer: C. x' = sx·xp + xp(1 - sx) = xp. (Key point: Check)

## Related in Computer Graphics

- [Scaling about arbitrary fixed point](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Ascaling-about-fixed-point) — Computer Graphics, chapter 3
- [3D rotation about arbitrary axis](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Arotate-3d-arbitrary-axis-steps) — Computer Graphics, chapter 4, asked 2×
- [Derive perspective projection matrix](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aperspective-projection-matrix-derive) — Computer Graphics, chapter 4, asked 3×
- [3D world to viewing coordinate matrix](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aworld-to-viewing-3d-matrix) — Computer Graphics, chapter 4, asked 2×
- [3D shearing and matrix](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Awhat-is-3d-shearing) — Computer Graphics, chapter 4, asked 3×
- [Derive oblique projection matrix](https://www.bctengineer.com/question.md?key=semester_5%2Fcomputer_graphics%3Aoblique-projection-matrix-derive) — Computer Graphics, chapter 4, asked 3×

## Related in other subjects

- [Derive three point analytical resection](https://www.bctengineer.com/question.md?key=semester_4%2Fsurveying_ii%3Athree-point-analytical-resection-derivation) — Surveying II, chapter 5, asked 2×
- [Derive one-dimensional heat equation](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Aheat-eq-derive) — Applied Mathematics, chapter 3, asked 5×
- [Derive one-dimensional wave equation](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Awave-eq-derive) — Applied Mathematics, chapter 3, asked 2×
- [Derive two-dimensional heat equation](https://www.bctengineer.com/question.md?key=semester_4%2Fapplied_mathematics%3Aheat-eq-2d-derive) — Applied Mathematics, chapter 3, asked 2×
