Failure is an Options!

Keep Strugle for what you want to achieve

The Future is in your hand,

Future bright only if you have a plan and action to making happen.

The Maturity and Wisely!

Success people always have positive vibe with maturity of thinking and wisely attitude in living

The time is limited

Never waste your time, Because time is precious like a life and money

Kamis, 24 Oktober 2013

Grafika Komputer Output Primitive : Ellips Midpoint Circle

ELLIPS
  • Ellips didefinisikan sebagai himpunan titik yangjumlah jarak dari 2 posisi yang tetap adalah sama untuk setiap titik.
  •  Persamaan Ellips dengan pusat 0,0 dan jari-jari Rx dan Ry adalah:














  
Algoritma Pembentukan elips
• Kuadran pertama dibagi menjadi 2 (dua) region danndengan menggunakan algoritma midpoint ellipse, plot titik untuk region pertama, kemudian koordinat akhir pada region I menjadi koordinat awal untuk region II.

Region 1 dan 2 dapat digunakan dengan berbagai macam cara. Pertama dimulai dari posisi (0,r) dan  melangkah searah jarum jam sepanjang jalur ellips pada kuadran pertama. Pergeseran dengan unit step dalam x pada saatslope lebih besar dari 1.

Cara mengerjakan algoritma ellipse hampir sama langkahnya dengan lingkaran, bedannya ellipse memiliki dua jari-jari dan memiliki dua daerah, yaitu region I & II, region I harus diselesaikan terlebih dahulu sebelum lanjut mengerjakan ke region II.

 Contoh soal ellips:

Studi Kasus!



Selasa, 22 Oktober 2013

Grafika Komputer Output Primitive : Lingkaran Midpoint Circle



Setelah sebelumnya membahasa algoritma DDA dan Bresenham, sekarang aku mau share  tentang algoritma midpoint circle untuk lingkaran dan ellips. 




















Persamaan Lingkaran
•   Lingkaran dapat digambarkan dengan menggunakan
persamaan koordinat rectangular tsb akan tetapi
pendekatan ini menimbulkan dua masalah yaitu :
–  Persamaan tersebut mengandung perhitungan akar yang
operasinya memakan waktu.
–  Timbul gap yang cukup signifikan pada lingkaran ketika
digambarkan. 










Midpoint Circle Algorithm
•   Untuk mengatasi masalah yang timbul dari penerapan koordinat polar maupun rectangular, Bresenham menyusun suatu algoritma pembentukan lingkaran yang hanya menggunakan aritmetika integer. Secara prinsip algoritma ini sejenis dengan algoritma penggambaran garis yang disusun oleh orang yang sama.

•   Lingkaran merupakan objek yang simetris sehingga karakteristik ini dapat dimanfaatkan untuk mengurangi pekerjaan pada saat menggambar lingkaran. Lingkaran dibagi menjadi 8 oktan (lihat
gambar 3.x), misalkan kita menyusun algoritma untuk menggambarkan lingkaran di oktan pertama, maka koordinat untuk 7 oktan selanjutnya dapat ditentukan.

 


 Midpoint Circle Algorithm
 















Langkah-langkah mengerjakan algortima midpoint circle
1. Input jari-jari (r) dan koordinar pusat lingkaran (xc,yc), kemudian tentukan koordinat untuk titik  awal (xo,yo) = (x, r)
2. Hitung nilai awal untuk parameter keputusan Po = 1 -  r
3. Untuk setiap xk, mulai dari k = 0, periksa/cek kondisi berikut :
  • Jika nilai pk < 0 maka, titik selanjutnya pada lingkaran dgn pusat (0,0) adalah                                   xk+1=x +1, nilai  y tetap; dan  pk+1 = pk + 2.x + 1
Selain itu berarti,
  •  pk > 0 maka, titik selanjutnya adalah xk+1 = x + 1, yk+1 = y - 1; dan  pk+1 = pk + 2x - 2y + 1
4. Ulangi langkah 3 sampai 4, hentikan perhitungan ketika x  > atau =  y


Contoh 1 :

















x^2 + y^2 = 100
Dari mana y = 10 ?  liat tabel pada plot awal (x,y)=(x,r) = (0,10)
ternyata 100 apabila di akar kan, maka hasilnya sama dengan 10
Po = 1 -  r  = 1 - 10 = -9
jadi, skrng jari-jarinya sudah diketahui = 10  dan  2x = 0,  2y = 20 , pk = -9

Nah..  tinggal menghitung k, dimulai dari k=0, sampai  batas yang di tentukan (x  > atau =  y).
Liat Algoritma midpoint circle dan Perhatikan Langkah-langkah mengerjakan algortima midpoint circle!
k=0
pk = 1 - r = 1 - 10 = -9
periksa pk,  pk < 0 maka,
xk+1 = 0 + 1 = 1 , nilai  10 tetap;
pk+1 = pk + 2.x + 1
         = -9  + 2 .1 + 1 =  -6
2x = 2
2y = 20

k=1
periksa pk,  pk < 0 maka,
xk+1 = 1 + 1 = 2 , nilai  10 tetap;
pk+1 = pk + 2.x + 1
         = -6 + 2 . 2 + 1 = -1
2x = 4
2y = 20

k=2
periksa pk,  pk < 0 maka,
xk+1 = 2 + 1 = 3 , nilai  10 tetap;
pk+1 = pk + 2.x + 1
         = -1 + 2 . 3 + 1 = 6
2x = 6
2y = 20

k=3
periksa pk,  pk > 0 maka,
xk+1 = 3 + 1 = 4, yk+1 = 10 - 1 = 9
pk+1 = pk + 2x - 2y + 1 
         =  6 + 2 . 4 - 2 . 9 + 1 =  6 + 8 - 18 + 1 = -3
2x = 8
2y = 18

Lanjutkan sampai (x  > atau =  y), selesai.


Contoh 2 :
1.Diketahui titik pusat lingkaran (0,0) dan radius 8, perhitungan berdasarkan otktan dari kuadran

pertama dimana x = 0  hingga y = 0. Nilai parameter dapat ditentukan dengan Po = 1 - r (jari-jari).
Buatlah garis lingkaran dengan algoritma midpoint circle?

Penyelesaian :
koordinat titik pusat sama dengan kuadran pertama (x,y) = (x, r) = (0,8)
Po = 1 -  r
     = 1 - 8 =  -7


K
PK
( xk + 1, yk + 1)
-
-
0,8
0
-7
1,8
1
-4
2,8
2
1
3,8
3
-6
4,7
4
3
5,7
5
0
6,6

k=0
pk= 1 - r = 1 - 8 = -7
periksa pk,  pk < 0 maka,
xk = x + 1 = 0 + 1 = 1 , nilai y tetap  8 ;

k=1
periksa pk,  pk < 0 maka,
xk = x + 1 =  1 + 1 = 2 , nilai y tetap  8 ;
pk+1 = pk + 2.x + 1
         = -7 + 2 . 1 + 1 =  -4

k=2
periksa pk,  pk < 0 maka,
xk = x + 1 = 2 + 1 = 3 ,  nilai y tetap  8;
pk+1 = pk + 2.x + 1
         = - 4 + 2 . 2 + 1 =  1

k=3
periksa pk, pk > 0 maka,
xk = x + 1 = 3 + 1 = 4 ; yk = y - 1 = 8 - 1 = 7
pk+1 = pk + 2x - 2y + 1 
         =  1 +  2.3 - 2.7 + 1 = 1 + 6 - 14 + 1= -6
k=4
periksa pk, pk < 0 maka,
xk = x + 1 = 4 + 1 = 5 ,  nilai y tetap  7;
pk+1 = pk + 2.x + 1
         = - 6 + 2 . 4 + 1 =  3

k=5
periksa pk, pk > 0 maka,
xk = x + 1 = 5 + 1 = 6 ; yk = y - 1 = 7 - 1 = 6
pk+1 = pk + 2x - 2y + 1 
         =  1 +  2.5 - 2.6 + 1 = 1 + 10 - 12 + 1= 0

Proses di hentikan karena (x  > atau =  y).

Kode Program Lingkaran akan di suguhkan nanti.. Stay tuned!!


Latihan 
Dengan menggunakan midpoint circle algortihm, buat
lingkaran berdasarkan persamaan berikut ini :
–    x 2 + y 2 = 64
–    x 2 + y 2 = 49