Saturday, June 15, 2019

Menggambar Busur-busur Melalui Tiga Titik dan Mewarnai Daerah yang Dibatasinya

Anda tahu, untuk melintasi suatu lintasan berupa busur, Anda memerlukan tiga unsur, yaitu sudut awal, sudut akhir, dan jari-jari dengan mengacu kepada titik pusatnya. Anda dapat menemukan keterangan tentang hal itu dalam beberapa tulisan di blog ini. Misalnya di situ. Yang lainnya silakan jelajahi saja tautannya dari sana.
Untuk melingkupi daerah yang dibatasi oleh busur-busur itu, Anda hanya perlu ``merangkaikannya'' saja dalam perintah atau opsi fill.
Mungkin Anda tahu koordinat titik pusat dan panjang jari-jarinya tetapi bagaimana bila besar sudut awal dan sudut akhirnya ``tidak pasti''? Menjadi kesulitan tersendiri, bukan? Bayangkanlah, bagaimana Anda mengisi warna untuk ``daerah apel'' di samping ini.
Untuk mengatasi hal itu Anda akan merangkai beberapa busur dengan melalui tiga buah koordinat dalam suatu perintah path (atau fill), kemudian mengisinya oleh suatu warna. Anda cukup mengetahui pusatnya dan menetapkan tiga buah koordinat yang dilintasi oleh tiap busur itu. Perhatikan juga orientasinya, apakah searah putar jarum jam (clockwise/cw)  atau berlawanan arah putar jarum jam (counterclockwise/ccw). Teknis ini penulis pinjam dari Qrrbrbirlbel (seorang pakar di forum) yang memberikan makro berikut ini.

Mari kita gunakan makro tersebut melalui contoh sederhana berikut ini.
Persegi ABCD seluas 1 satuan luas memuat busur seperempat lingkaran dan dua busur setengah lingkaran yang kongruen. Berapakah luas daerah (berwarna) yang dibatasi oleh ketiga busur itu?
Pada mukadimah Anda memerlukan dukungan dari paket tikz dan kepustakaannya sebagai berikut.
\usepackage{tikz}
\usetikzlibrary{intersections,calc}
Sebelum membuat gambar tikz (tikzpicture), silakan Anda hitung, jari-jari busur setengah lingkaran haruslah $r=\displaystyle\sqrt{2}-1$ dan jari-jari busur seperempat lingkaran haruslah $R=\displaystyle1-\sqrt{2}+\sqrt{4-2\sqrt{2}}$ sehingga (sebaiknya) dapat Anda tetapkan
\pgfmathsetmacro\r{sqrt(2)-1}
\pgfmathsetmacro\R{1-sqrt(2)+sqrt(4-2*sqrt(2))}
Anda akan menggambar persegi berukuran $1$ satuan luas dengan faktor perbesaran $4$. Dapat Anda siapkan lingkup perintah gambar tikz sebagai berikut. 
\begin{tikzpicture}[scale=4,font=\footnotesize,line join=round]
...
\end{tikzpicture}
Kemudian, di dalam lingkup perintah gambar tikz, Anda tetapkan keempat koordinat titik sudut persegi itu sebagai
\coordinate[label=above:$A$] (A) at (0,1);
\coordinate[label=below:$B$] (B) at (0,0);
\coordinate[label=below:$C$] (C) at (1,0);
\coordinate[label=above:$D$] (D) at (1,1);
dan persegi itu Anda gambar oleh
\draw[thick] (B) rectangle (D);
Sekarang Anda akan menggambar busur setengah lingkaran. Anda berangkat dari titik $B$ ke arah kanannya dengan jari-jari $r$ seperti yang telah ditetapkan. Dengan demikian (mengacu kepada titik pusatnya) Anda berangkat dari sudut $180^\circ$ ke sudut $0^\circ$. Jika Anda berjalan membentuk busur setengah lingkaran dari titik $D$ ke arah bawahnya maka (mengacu kepada titik pusatnya) Anda berangkat dari sudut $90^\circ$ ke sudut $270^\circ$. Kemudian Anda akan menggambar busur seperempat lingkaran dengan berangkat dari koordinat di atas titik $B$. Koordinat itu haruslah $(0,\{1-R\})$. Dari titik itu (mengacu kepada titik pusatnya) Anda berangkat dari sudut $-90^\circ$ ke sudut $0^\circ$ (atau dari sudut $270^\circ$ ke sudut $360^\circ$) dengan jari-jari $R$. Ketiga busur itu dapat Anda gambar oleh satu perintah berikut ini.
\draw[thick] (B) arc(180:0:\r) (D) arc(90:270:\r) (0,{1-\R}) arc(-90:0:\R);
Sekarang Anda sediakan baris-baris kosong di antara perintah \coordinate dan kedua perintah \draw barusan. Anda akan menetapkan titik-titik potong dan mewarnai daerah. Perhatikan ilustrasinya pada Gambar 2. Untuk memperoleh tiga titik ``pembentuk busur'' Anda harus menetapkan titik potong dari dua busur dan titik potong dari busur dan diagonal persegi itu.  Mula-mula Anda tetapkan busur dari $B$ sebagai bsr1busur dari $D$ sebagai bsr2, dan busur berpusat di $A$ sebagai bsr3
\path[name path=bsr1] (B) arc(180:0:\r) ;
\path[name path=bsr2] (D) arc(90:270:\r) ;
\path[name path=bsr3] (0,{1-\R}) arc(-90:0:\R);
Kemudian tetapkan titik potong dari tiap dua busur itu sebagai titik $K$, $L$, dan $M$.
\path [name intersections={of = bsr1 and bsr2, by={K}}];
\path [name intersections={of = bsr2 and bsr3, by={L}}];
\path [name intersections={of = bsr1 and bsr3, by={M}}];
Sekarang Anda memerlukan titik ketiga untuk tiap busur itu, sebagai $P$, $Q$, dan $R$, yang merupakan titik potong dari tiap busur itu dengan diagonal persegi. Anda tetapkan kedua diagonal persegi itu sebagai g1 dan g2
\path[name path=g1] (B)--(D) ;
\path[name path=g2] (A)--(C) ;
Perhatikan bahwa terdapat dua titik potong antara bsr1 dan g1, demikian juga bsr2 dan g1, tetapi hanya satu titik potong antara bsr3 dan g2.
\path [name intersections={of = bsr1 and g1, by={S,P}}];
\path [name intersections={of = bsr2 and g1, by={T,Q}}];
\path [name intersections={of = g2 and bsr3, by={R}}];
Nah, sekarang Anda sudah cukup syarat untuk mengisi warna daerah yang yang dibatasi oleh ketiga busur itu. Berkat makro di atas, Anda dapat membentuk (tanpa menggambarkan garisnya) lintasan ketiga busur itu dan mengisinya oleh suatu warna. (Penulis gunakan warna Plum dari dvipsnames dalam paket xcolor.) Anda dapat mengawali berangkat dari titik $M$ ke arah $K$ dengan melewati titik $P$ dalam arah searah putar jarum jam, dilanjutkan ke arah $L$ dengan melewati titik $Q$ dalam arah searah putar jarum jam, dan berakhir kembali ke $M$ dengan melewati titik $R$ dalam arah searah putar jarum jam.
\path[fill=Plum,opacity=.7] (M) to[arc through cw=(P)] (K) to[arc through cw=(Q)] (L) to[arc through cw=(R)] (M);
Dengan demikian Anda sudah memperoleh gambar seperti tampak pada Gambar 1. Bagaimana?
Demikian semoga bermanfaat.

$\square$ Adjie Gumarang Pujakelana 2019

No comments:

Related Posts Plugin for WordPress, Blogger...