Jurnal Teknologi, 38(C) Jun 003: 5 8 Universiti Teknologi Malaysia RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 5 RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN YEOH WENG KANG & JAMALUDIN MD. ALI Abstrak. Rumus untuk lingkaran kubik Bezier satahan [4] telah diperkenalkan sebagai satu pilihan dalam rekabentuk menggunakan grafik komputer. Dalam kertas ini, rumus am bagi lingkaran tersebut telah dicari dengan menggunakan enam sifat yang dipunyai oleh rumus asal. Kelebihan rumus am ini yang mempunyai enam darjah kebebasan (berbanding dengan lima darjah kebebasan bagi rumus asal) telah dibincang di sini. Kata kunci: Lingkaran kubik Bezier satahan; darjah kebebasan Abstract. Formula for planar cubic Bezier spiral [4] is intruduced as an alternative in computer graphic design. In this paper, a more general formula is obtained by using six properties of the original formula. The advantage of this general formula that has six degrees of freedom (compared with five in the original formula) is discussed. Key words: Planar cubic Bezier spiral; degrees of freedom.0 PENGENALAN Lengkung kubik Bezier dan lengkung kubik B-Splines [,] digunakan secara meluas dalam bidang Rekabentuk Berbantukan Komputer(RBK) dan Rekabentuk Geometri Berbantukan Komputer(RGBK). Namun demikian, disebabkan oleh kedua-dua lengkung tersebut bersifat polinomial, maka wujudlah keadaan-keadaan yang tidak diingini dalam persekitaran rekabentuk yang menggunakan grafik komputer. Antara keadaan-keadaan tersebut adalah kemungkinan besar tembereng bagi lengkung yang dilukis mempunyai juring, gelung dan titik lengkok balas [3]. Oleh itu, untuk mengatasi masalah yang wujud ini, pelbagai percubaan telah dilakukan. Antaranya ialah memperkenalkan lingkaran kubik Bezier satahan yang dikemukakan oleh Walton dan Meek [4]. Tujuan kertas ini adalah mengemukakan rumus bagi lingkaran Bezier kubik satahan secara am. Dengan rumus ini, kita dapat memperluaskan kegunaan lengkung ini dalam bidang RGBK dan RBK. Beberapa simbol yang digunakan dalam kertas ini dibincangkan secara ringkas dalam bahagian. Bahagian 3 pula memperkenalkan teori asas bagi lengkung kubik Bezier berlingkar, serta penggunaan beberapa sifat sebagai panduan untuk, Pusat Pengajian Sains Matematik, Universiti Sains Malaysia, 800 Minden, Pulau Pinang, Malaysia. JT38C[B].pmd 5 0/6/007, 0:38
6 YEOH WENG KANG & JAMALUDIN MD. ALI mendapatkan rumus am bagi lengkung tersebut dilakukan dalam bahagian 4. Seterusnya, satu kegunaan tentang rumus yang didapati telah dikemukakan dalam bahagian 5 dan diikuti oleh kesimpulan ringkas dalam bahagian 6..0 SIMBOL DAN KEBIASAAN Simbol untuk sesuatu titik dan vektor ditunjukkan dalam huruf tebal. Hasil darab bintik untuk dua vektor, V dan W diwakili sebagai V W. Norma bagi sesuatu vektor V diwakili oleh V = V V. Sudut yang diukur secara lawan arah jam adalah bernilai positif. Walaupun simbol V W biasanya mewakili hasil darab silang yang melibatkan kuantiti vektor, tetapi dalam kertas ini simbol tersebut mewakil V W sin θ yang berkuantiti skalar dengan θ ialah sudut yang diukur secara lawan arah jam dari vektor V kepada vektor W. Vektor tangen bagi sesuatu lengkung parameter satahan, Q(u) disimbolkan sebagai Q' (u). Jika T ialah vektor unit tangen bagi Q(u) pada u, maka vektor unit normal, N, bagi Q(u) pada u dapat ditentukan dengan sudut yang diukur secara lawan arah jam dari T kepada N ialah π/. Kelengkungan bagi sesuatu lengkung satahan Q(u) diwakilkan seperti berikut [5]: Q '(u) Q ''(u) κ (u) =, 3 Q '(u) () manakala simbol untuk sesuatu jejari adalah salingan kepada (). Terbitan pertama bagi () ialah v (u) κ' (u) =, Q'(u) 5 () dengan d v (u) = { Q'(u) Q'(u)} { Q'(u) Q" (u)} -- 3{ Q'(u) Q" (u)}{ Q'(u) Q" (u)} du (3) 3.0 TEORI ASAS UNTUK LINGKARAN KUBIK BEZIER SATAHAN Beberapa sifat bagi lingkaran kubik Bezier satahan diperkenalkan dalam bahagian ini. Sifat-sifat ini berguna dalam proses untuk mendapatkan rumus secara am bagi lengkung kubik tersebut. Diberi titik permulaan, B 0, vektor unit tangen awal, T, vektor unit tangen akhir, T, dan nilai kelengkungan akhir, c, mentakrifkan lingkaran kubik Bezier JT38C[B].pmd 6 0/6/007, 0:38
dengan RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 7 3 3 0 3 Q(u) = B ( u) + 3 B ( u) u + 3 B ( u)u + B u, 0 u, (4) 5 tan θ B = B 0 + T, (5) 54 c kos θ 5 tan θ B = B + T, (6) 54 c kos θ 5tan θ B3 = B + T, (7) 9c yang θ ialah sudut yang diukur secara lawan arah jam dari T ke-t. Pusat bulatan bagi kelengkungan di B 3 dianggap terletak di sebelah kiri garis yang melalui B 3 dan berarah T, iaitu c > 0. Untuk kes yang berlawanan, iaitu c < 0, boleh ditakrifkan secara terbalik. Parameter sedemikian dipilih supaya penambahan bagi u akan menambahkan magnitud kelengkungan. Perhatikan bahawa pendaraban bintik dan pendaraban silang akan memberi T T = kos θ > 0, T T = sin θ > 0 (8) Turutan daripada (8), didapati 0 < θ < π/ dengan c > 0. Sifat-sifat yang didapati daripada lengkung kubik tersebut adalah seperti berikut: Q'(0) = T, Q'(0) (9) κ (0) = 0, (0) Q'() = T, Q'() () κ () = c, () κ '() = 0, (3) dan κ' (u) 0bagi0 u <. (4) Pembuktian bagi sifat-sifat di atas telah ditunjukkan dalam [4]. Apa yang diminati di sini adalah bagaimana keenam-enam sifat tersebut memainkan peranan sebagai panduan untuk memperoleh rumus bagi lingkaran kubik Bezier satahan secara am. JT38C[B].pmd 7 0/6/007, 0:38
8 YEOH WENG KANG & JAMALUDIN MD. ALI B 0 N N c q θ B 3 T T B 0 T B B Rajah Lingkaran Bezier Kubik Satahan 4.0 RUMUS AM UNTUK LINGKARAN KUBIK BEZIER SATAHAN Bermula dengan (4), didapati terbitan pertama dan terbitan kedua bagi persamaan itu ialah 0 3 Q' (u) = 3( B B )( u) + 6( B B )( u)u + 3( B B )u, (5) Q'' (u) = 6( B B )( u) + 6( B B )( u) + 6( B B )u, (6) yang 0 u. Daripada (5) dan (6), didapati 0 3 Q' (0) = 3( B B ), (7) 0 Q' () = 3( B B ), (8) 3 Q'' (0) = 6( B B ) + 6( B B ), dan (9) 0 Q'' () = 6( B B ) + 6( B B ). (0) 3 Oleh itu, dengan menggunakan (7) dan (8), (9) dan () menjadi B B0 T = B B 0, () JT38C[B].pmd 8 0/6/007, 0:38
RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 9 B3 B T =. B B 3 () Seterusnya, dengan menggunakan (), (7) dan (9), (0) sekarang menjadi B B0 B B sinφ = 0, (3) dengan φ ialah sudut yang diukur secara lawan arah jam dari B B 0 ke B B. Disebabkan oleh B B 0 dan B B masing-masing merupakan magnitud bukan sifar, maka mengikut (3), φ semestinya bersudut sifar, dan ini mengimplikasikan bahawa B 0, B, dan B adalah segaris. Biar θ ialah sudut yang diukur secara lawan arah jam dari T ke T. Dengan menggunakan (), (8) dan (0), () menghasilkan Daripada (5) dan (6), didapati 3c B3 B B B =. (4) sinθ 4 3 0 0 Q' (u) Q' (u) = 9{( u) B B + 4( u) u B B B B + ( u) u B B0 B3 B kos θ + 4( u) u B B 3 + 4( u)u B B B3 B kos θ 4 + u B B }, 3 (5) 3 0 Q' (u) Q'' (u) = 8{ ( u) B B + ( u) ( 4u) B B B B + ( u) ( u)u B B B B kos θ + ( u)( u)u B B + (3 4u)u B B B B + u B B }, 3 3 0 0 3 3 (6) Q' (u) Q'' (u) = 8u {( u) B B 0 + u B B } B B sin θ,dan 3 (7) JT38C[B].pmd 9 0/6/007, 0:38
0 YEOH WENG KANG & JAMALUDIN MD. ALI d { Q' (u) Q'' (u)} = 8 {( u) B B0 du + u B B } B B sin θ. 3 (8) Oleh itu, dengan menggantikan u = ke dalam (), (3) dan (5) (8), maka didapati (3) sekarang menjadi B B B B + 4B B B B = 6B B kos θ. (9) 0 3 3 Biar B B = α B B, α >. (30) 0 0 Gunakan (30) dan (4), didapati (9) sekarang menjadi ( α + 4) tan θ B3 B =, 9c dan seterusnya gantikan (3) ke dalam (4), menghasilkan ( α + 4) tan θ B B =, 54c kos θ serta gantikan (3) ke dalam (30), menghasilkan ( α + 4) α tan θ B B0 =, 54c kos θ Kemudian gantikan (33) ke dalam (), didapati (3) (3) (33) ( α + 4) α tan θ B = B0 + T. (34) 54c kos θ Disebabkan oleh B B 0 dan B B adalah segaris, maka dengan menggunakan () dan (3), didapati ( α + 4) tan θ B = B + T, 54c kos θ serta gantikan (3) ke dalam (), menghasilkan ( α + 4) tan θ B3 = B + T. 9c Seterusnya nilai α perlu dicari supaya memenuhi (4). (35) (36) JT38C[B].pmd 0 0/6/007, 0:38
RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN Disebabkan oleh c yang dipilih bernilai positif, maka dari (0) dan (), diketahui bahawa κ(u) > 0, 0 u, (37) dengan menggunkan (37) dan (3), (4) sekarang menjadi κ' (u) > 0, 0 u <. (38) (κ' (u) < 0 diperoleh jika c yang dipilih bernilai negatif, iaitu c < 0.) Dengan menggunakan () dan (3), (5) (8), serta (30) (3) didapati (38) menjadi 4 (α ) {(α + 4) (α ) + (α + α 5) kos θ} u 5 + 5 {(α + 4) (α ) ( 3α + 6α ) 4 (α 3 + α 6α + ) kos θ} u 4 + 4 (α + 4) (α ) {(α + 4) (5α 0α + ) + 4α kos θ} u 3 + (α + 4)α {(α + 4) ( 5α + 0α 3) α kos θ} u + (α + 4) α 3 > 0, 0 u <. (39) Untuk memudahkan kiraan bagi memperoleh nilai α yang memenuhi (39), biar κ ' (u) = H, yang H = A ( u) 5 + 5B ( u) 4 u + 0C ( u) 3 u + 0D ( u) u 3 + 5E ( u) u 4 + F u 5, (40) dengan A, B, C, D, E dan F merupakan pemalar-pemalar bukan negatif (dan bukan kesemuanya bernilai sifar) yang perlu dicari supaya H > 0, 0 u <. (4) Dengan menyusun semula (40) dan gantikan ke dalam (4), didapati ( A + 5B 0C + 0D 5E + F) u 5 + (5A 0B + 30C 0D + 5E) u 4 + ( 0A + 30B 30C + 0D) u 3 + (0A 0B + 0C) u + ( 5A + 5B) u + A > 0, 0 u <. (4) JT38C[B].pmd 0/6/007, 0:38
YEOH WENG KANG & JAMALUDIN MD. ALI Sekarang (39) dan (4) merupakan dua ketaksamaan dalam keadaan yang sama, maka (39) dan (4) dibanding supaya pemalar-pemalar A, B, C, D, E dan F dapat ditentukan. Dengan membandingkan pekali-pekali u untuk (39) dan (4), didapati A = (α + 4) α 3, (43) B = A = (α + 4) α 3, (44) C = 5 (α + 4)α {(α + 4) (0α 3) α kos θ}, (45) D = 5 (α + 4) {(α + 4) (3α ) ( α + 4)α kos θ}, (46) E = 5 {(α + 4) 4 ( α + α + 5) kos θ}, (47) dan F = 0. (48) Diketahui bahawa A, B, C, D dan E masing-masing merupakan pemalar bukan negatif, maka dari (44), diperoleh 3 ( α + 4) α 0, iaitu α 0. (49) Untuk C 0, (45) menjadi (α + 4) (0α 3) α kos θ 0. (50) Perhatikan bahawa (50) tidak akan dipenuhi jika α 3/0. Untuk kes α > 3/0, didapati ungkapan α kos θ selalunya akan memberi nilai negatif. Keadaan ini mungkin dapat menyebabkan sesuatu nilai α dalam kes ini tidak memenuhi (50). Jadi, untuk menyelesaikan situasi ini, nilai untuk α kos θ seharusnya dipilih sebesar yang mungkin supaya α yang dicari selalu memenuhi (50). Diketahui bahawa 0 < kos θ < turutan dari (8), maka kos θ = dipilih supaya ungkapan α kos θ memberi nilai terbesar yang mungkin. Oleh itu dengan menggantikan kos θ = ke dalam (50), didapati α ( 5 05 ),dan 0 (5) α ( 5 + 05). 0 (5) JT38C[B].pmd 0/6/007, 0:38
RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 3 Dengan menggunakan anggapan dari (30), didapati bahawa hanya (5) yang memenuhi C 0. Seterusnya, untuk D 0, (46) menjadi (α + 4) (3α ) ( α + 4)α kos 0. (53) Perhatikan bahawa α 4 akan memenuhi (53). Manakala (53) tidak akan dipenuhi jika α /3. Untuk kes /3 < α < 4, didapati ungkapan ( α + 4)α kos θ selalunya akan memberi nilai negatif. Jadi dengan menggunakan perbincangan yang lebih kurang sama seperti (50), gantian kos θ = ke dalam (53) memperoleh α ( 0),dan 5 (54) α ( + 0). (55) 5 Di sini, hanya (55) merupakan penyelesaian kepada D 0. Untuk E 0, (47) menjadi (α + 4) 4 ( α + α + 5) kos θ 0. (56) Perhatikan bahawa (56) selalu dipenuhi jika α ( + ). Untuk kes α ( + ), didapati ungkapan 4 ( α + α + 5) kos θ selalunya memberi nilai negatif. Dan sekali lagi perbincangan yang sama seperti (50) digunakan, didapati gantian kos θ = akan menghasilkan α ( 6),dan 5 (57) α ( + 6). (58) 5 Maka (58) merupakan penyelesaian kepada E 0. Dengan menggantikan (49), (5), (55) dan (58) masing-masing ke dalam (39), didapati α = ( + 6) merupakan batas bawah yang memenuhi (39). Maka (58) 5 merupakan selang α yang tepat memenuhi (38). Oleh itu, tercarilah rumus am bagi lingkaran kubik Bezier satahan dan dikemukakan sekali lagi seperti berikut dengan menggunakan (4), (34) (36) dan (58): Q(u) = B 0 ( u) 3 + 3B ( u) u + 3B ( u) u + B 3 u 3, 0 u, JT38C[B].pmd 3 0/6/007, 0:38
4 dengan YEOH WENG KANG & JAMALUDIN MD. ALI ( α + 4) α tan θ B = B0 + T, 54c kos θ ( α + 4) tan θ B = B + T. 54c kos θ ( α + 4) tan θ B3 = B + T, 9c α ( 6 ), 5 yang θ, T, T, c dan B 0 ditakrifkan seperti dalam bahagian 3. Perhatikan bahawa rumus am di atas akan menjadi rumus dalam bahagian 3 jika α digantikan dengan nilai, iaitu apabila B merupakan titik tengah kepada titik B 0 dan B. Turutan daripada rumus am yang dicari, didapati rumus tersebut mempunyai enam darjah kebebasan. Ini adalah termasuk dua dari B 0, dan masing-masing satu dari α, c, θ, dan vector unit tangen, T. Perhatikan bahawa vektor unit tangen T boleh diperoleh dalam (8) dengan menetapkan nilai θ dan T. 5.0 CONTOH KEGUNAAN LINGKARAN KUBIK BEZIER SATAHAN Dalam bahagian ini, lingkaran kubik Bezier satahan telah digunakan untuk menggabungkan satu garis lurus dengan satu bulatan. Terdapat dua bentuk penyelesaian yang mungkin boleh didapati dalam gabungan tersebut. Di sini hanya salah satu daripada bentuk penyelesaian dibincang. Ini adalah disebabkan oleh bentuk penyelesaian yang satu lagi boleh diperoleh dengan melakukan analisis secara berlawanan. Teorem 5. Diberi satu titik, P, satu vektor unit, T, dan satu bulatan Ω dengan jejarinya r > 0. Pusat bulatan tersebut terletak di C, dengan T (C P ) > 0. Biar L ialah satu garis lurus yang melalui titik P dan selari dengan T. Katakan d ialah jarak tegak dari C ke L, dan G = C P. Jika r < d, maka wujud satu famili lingkaran kubik Bezier (seperti yang dikemukakan dalam bahagian 4) yang menggabungkan L kepada Ω supaya titik-titik pertemuan berada dalam keadaan G. Sudut-sudut dari T ke- T bagi famili lingkaran kubik Bezier tersebut didapati memenuhi ( α + 4) d tan θ sin θ + kos θ = 0 9 r (59) JT38C[B].pmd 4 0/6/007, 0:38
RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 5 dengan menetapkan nilai-nilai untuk α yang bersesuaian, iaitu α ( 6 ). 5 Bukti. Untuk memudahkan kiraan, unit vektor normal pada Q(0), iaitu pada P, diberi sebagai dan G ( G T ) T N = G ( G T ) T (60) Disebabkan oleh Q(0) terletak pada garis L, dan Q() terletak pada bulatan Ω, jadi Q (0) = P + αt (6) Q () = P + ( G T + r sin θ) T + ( d r kos θ) N. (6) Dari rumus am bagi lingkaran kubik Bezier satahan, didapati Q (0) = B 0 (63) dan ( α + 4) ( α + ) tan θ ( α + 4) tan θ Q () = B0 + r r T + T. 54 kos θ 9 Dengan membandingkan (6) dan (63), didapati (64) P = B αt (65) 0. N G Ω d C θ r θ B 3 T P T B 0 L Rajah Penetapan nilai α untuk menggabungkan garis lurus kepada bulatan JT38C[B].pmd 5 0/6/007, 0:38
6 YEOH WENG KANG & JAMALUDIN MD. ALI Seterusnya gantikan (65) ke dalam (6) dan bandingkan dengan (64), menghasilkan ( α + 4) ( α + ) r tan θ ( α + 4) r tan θ 0 = αt + T + T 54 kos θ 9 ( G T + r sin θ) T ( d r kos θ) T. (66) Persamaan (59) diperoleh dengan melakukan hasil darab bintik antara (66) dengan N, diikuti pembahagian dengan r. Perhatikan bahawa di sini T N = 0 dan T N = sin θ. Biar ( α + 4) d q( θ) = tan θ sin θ + kos θ. 9 r d Sekarang q(0) = < 0, q( θ π / ) > 0, dan r θ θ = sin α θ α α θ + + > q' ( ) [( 5) kos 4] 0,dengan ( 6 ). 9kos 5 Ini telah menunjukkan bahawa (59) mempunyai penyelesaian untuk 0 < θ < π/. Rumus bagi σ diperoleh dengan melakukan hasil darab bintik antara (66) dengan T, iaitu ( α + 4) ( α + ) r tan θ σ = G T + (5 α) r sin θ. 9 54 kos θ Melalui teorem 5., didapati lingkaran kubik Bezier yang berjaya menggabungkan L kepada Ω bukanlah unik. Ini disebabkan oleh nilai untuk α masih bebas dipilih. Perhatikan bahawa nilai d diperoleh dengan menetapkan C, P dan T. Jadi dengan menggunakan nilai α yang berbeza, diperoleh lingkaran kubik Bezier yang berlainan. Dalam Rajah 3, tiga lingkaran kubik Bezier telah dilukis untuk menggabungkan L kepada Ω dengan menggunakan tiga nilai α yang berlainan (α < α < α 3 ). Perhatikan bahawa ketiga-tiga lingkaran ini mempunyai titik mula B 0 dan titik akhir B 3 yang berlainan walaupun dilukis dengan skala yang sama dan juga menggunakan nilai P, T, Ω, r, C serta anggapan untuk L dan d yang sama. Akhir sekali, didapati meningkatkan nilai α akan menyebabkan titik mula menjauhi bulatan Ω, iaitu lengkung yang lebih panjang terbentuk untuk menggabungkan L kepada Ω. 6.0 KESIMPULAN Daripada rumus am yang dicari, kita dapati rumus tersebut mempunyai enam darjah kebebasan, iaitu lebih satu darjah kebebasan berbanding dengan rumus dalam bahagian 3. Jadi, dengan tercarinya rumus am bagi lingkaran kubik Bezier satahan, JT38C[B].pmd 6 0/6/007, 0:38
RUMUS AM LINGKARAN KUBIK BEZIER SATAHAN 7 α = α a=a ΩW B 0 B0 B3 B 3 L L α = α a=a B 0 B0 ΩW B3B 3 L α = α 3 a=a 3 ΩW B 0 B0 BB 33 L L Rajah 3 Menggabungkan L kepada Ω dengan nilai yang berlainan wujudlah pilihan yang lebih banyak untuk menyelesaikan berbagai-bagai situasi yang ditemui dalam bidang RGBK dan RBK. RUJUKAN [] Duncan March. 999. Applied Geometry for Computer Graphics and CAD. London: Springer. [] Gerald Farin. 988. Curves and Surfaces for Computer Aided Geometric Design. San Diego, CA: Academic Press. [3] D. S. Meek and Walton D. J. 990. Shape determination of planar uniform cubic B-spline segments. Computer-Aided Design. : 434-44. [4] D. J. Walton and Meek D. S. 996. A planar cubic Bezier spiral. J. Comput. Appl. Math. 7: 85-00. [5] D. J. Walton and D. S. Meek. 999. Planar G transition between two circles with a fair cubic Bezier curve. Computer-Aided Design. 3: 857-866. JT38C[B].pmd 7 0/6/007, 0:38