Algoritma Bulatan Titik Tengah Mari Cuba Lukis Soalan Penyelesaian (Input Pengguna)
| Soalan Contoh dan Penyelesaian |
Di beri jejari bulatan, r = 10 dan pusat bulatan (10, 20). Dapatkan titik-titik pada oktan pertama bagi bulatan tersebut. Sila tunjukkan jalan penyelesaiannya menggunakan Algoritma Bulatan Titik Tengah / Midpoint Circle.
Penyelesaian :
1. Inputkan jejari, r = 10 dan pusat bulatan (Xc, Yc) sebagai (10, 20)
Tetapkan titik pertama di atas lilitan bulatan yang berpusat di asalan sebagai (0, r) --> (0, 10)
2. Cari nilai awal pemalar penentu (Po) :
Po = 5/4 - r
= 5/4 - 10
= -35/4 @ -8.75
3. Seterusnya, pada setiap xk, bermula pada k = 0, uji nilai pemalar penentu tadi :
Jika pk < 0, titik seterusnya adalah ( xk + 1, yk ) dan
pk+1 = pk + 2xk+1 + 1
Jika pk > 0, titik seterusnya adalah (xk+1, yk-1) dan
pk+1 = pk + 2x k+1 + 1 – 2yk+1
* Berdasarkan nilai pemalar penentu (Po) yang diperolehi adalah -35/4 @ -8.75 maka :
* Po memenuhi syarat :
pk < 0, titik seterusnya adalah xk akan bertambah 1 dan yk adalah tetap (xk = 1, yk = 10)
Seterusnya cari Pk di mana, p1 = pk + 2xk+1 + 1
= -8.75 + 2(1) +1
= -5.75

pk < 0, titik seterusnya adalah xk akan bertambah 1 dan yk adalah tetap (xk = 2, yk = 10)
Seterusnya cari Pk di mana, p2 = pk + 2xk+1 + 1
pk < 0, titik seterusnya adalah xk akan bertambah 1 dan yk adalah tetap (xk = 3, yk = 10)
Seterusnya cari Pk di mana, p3 = pk + 2xk+1 + 1

pk > 0, titik seterusnya adalah xk akan bertambah 1 dan yk akan berkurang sebanyak 1(xk = 4, yk = 9)
Seterusnya cari Pk di mana, p2 = pk + 2xk+1 + 1 - 2yk+1
pk < 0, titik seterusnya adalah xk akan bertambah 1 dan yk adalah tetap (xk = 5, yk = 9)
Seterusnya cari Pk di mana, p5 = pk + 2xk+1 + 1

pk > 0, titik seterusnya adalah xk akan bertambah 1 dan yk akan berkurang sebanyak 1(xk = 6, yk = 8)
Seterusnya cari Pk di mana, p6 = pk + 2xk+1 + 1 - 2yk+1
pk > 0, titik seterusnya adalah xk akan bertambah 1 dan yk akan berkurang sebanyak 1(xk = 7, yk = 7)
Seterusnya cari Pk di mana, p7 = pk + 2xk+1 + 1 - 2yk+1

Jadual di bawah menunjukkan titik-titik simetri bagi oktan yang pertama berdasarkan pengiraan di atas
di mana pengiraan akan berhenti sekiranya x >= y :
|
k |
Pk |
X |
Y |
X + Xc |
Y + Yc |
| 0 | -35/4 @ -8.75 | 1 | 10 | 11 | 30 |
| 1 | -5.75 | 2 | 10 | 12 | 30 |
| 2 | -0.75 | 3 | 10 | 13 | 30 |
| 3 | 6.25 | 4 | 9 | 14 | 29 |
| 4 | -2.75 | 5 | 9 | 15 | 29 |
| 5 | 8.25 | 6 | 8 | 16 | 28 |
| 6 | 5.25 | 7 | 7 | 17 | 27 |
4. Tentukan titik-titik simetri pada 7 oktan yang lain menggunakan simetri 8 hala.
Jadual di bawah menunjukkan titik-titik simetri bagi 7 oktan yang lain :
| Oktan3 (b, -a) @ (x, -y) | ![]() |
|
|
x |
-y | |
|
10 |
-1 | |
|
10 |
-2 | |
|
10 |
-3 | |
|
9 |
-4 | |
|
9 |
-5 | |
|
8 |
-6 | |
|
7 |
-7 | |
| Oktan4 (a, -b) @ (x, -y) | ![]() |
|
|
x |
-y
|
|
|
1 |
-10 |
|
|
2 |
-10
|
|
|
3 |
-10
|
|
|
4 |
-9
|
|
|
5 |
-9 |
|
|
6 |
-8 |
|
|
7 |
-7 |
|
| Oktan5 (-a, -b) @ (-x, -y) | ![]() |
|
|
-1 |
-10 |
|
|
-2 |
-10 |
|
|
-3 |
-10 |
|
|
-4 |
-9 |
|
|
-5 |
-9 |
|
|
-6 |
-8 |
|
|
-7 |
-7 |
|
| Oktan6 (-b, -a) @ (-x, -y) | ![]() |
|
|
-x |
||
|
-10 |
-1 |
|
|
-10 |
-2 |
|
|
-10 |
-3 |
|
|
-9 |
-4 |
|
|
-9 |
-5 |
|
|
-8 |
-6 |
|
|
-7 |
-7 |
|
| Oktan7 (-b, a) @ (-x, y) | ![]() |
|
|
y |
||
|
-10 |
1 | |
| -10 | 2 | |
| -10 | 3 | |
| -9 | 4 | |
| -9 | 5 | |
| -8 | 6 | |
| -7 | 7 | |
| Oktan8 (-a, b) @ (-x, y) | ![]() |
|
| -1 | 10 | |
| -2 | 10 | |
| -3 | 10 | |
| -4 | 9 | |
| -5 | 9 | |
| -6 | 8 | |
| -7 | 7 | |