Menggambar Kurva Bezier Spline C#

Beziers Splines Windows Form C#
Beziers Splines Windows Form C#

Sebelumnya kita telah mempelajari mengenai Kurva Cardinal Splines dan cara membuatnya dengan bahasa pemrograman C#. Materi kali ini akan membahas mengenai Kurva Bezier Splines pada windows form dan membuatnya dengan C#.

Kurva Bezier adalah kurva yang sering digunakan pada Komputer Grafis untuk pembuatan Kurva yang halus. Pada 1962, Seorang insinyur asal Prancis menggunakannya untuk merancang badan mobil.

Kurva Bezier menggunakan 4 macam titik poin koordinat yaitu :

  • Koordinat Awal.
  • 2 buah Titik Kontrol.
  • Koordinat Akhir.

Awal merupakan posisi dimana dimulainya sebuah kurva untuk digambar. Titik Kontrol digunakan untuk mengatur lekukan yang ada pada Kurva, dan Akhir merupakan titik dimana gambar kurva akan berakhir.

Menggambar Kurva Bezier Spline Tunggal C#

Kita akan mencoba menggambar kurva Bezier tunggal dengan titik koordinat sebagai berikut :

  • Awal ( 10, 100 ).
  • Akhir ( 200, 100 ).
  • Kontrol 1 ( 100, 10 ).
  • Kontrol 2 ( 150, 150 ).

Berikut merupakan kode program yang digunakan :

 private void Panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics idgraphic = panel1.CreateGraphics();
            Brush black = new SolidBrush(Color.Black);
            Pen blackPen = new Pen(black, 5);           

            Point p1 = new Point(10, 100);   
            Point c1 = new Point(100, 10);   
            Point c2 = new Point(150, 150);  
            Point p2 = new Point(200, 100);  

            idgraphic.DrawBezier(blackPen, p1, c1, c2, p2);
            
        }

Kemudian akan menghasilkan Kurva seperti gambar dibawah ini :

Kurva Bezier Windows Form C#

Apakah ada yang bertanya, lantas dimanakah letak Titik koordinat yang dipakai ?

Untuk melihat titik koordinat kamu dapat memanfaatkan Polygon, jadi kita masukan koordinat yang digunakan kedalam array kemudian dapat kita panggil dengan Draw Polygon, dan hasilnya akan terlihat seperti dibawah ini :

Titik Koordinat Kurva Bezier Windows Form C#

Selain menggunakan kode di atas, kamu juga dapat menggunakan Array ketika menggambar Bezier, namun perlu diperhatikan, untuk menggunakan array perintah yang digunakan bukan lagi Draw.Bezier akan tetapi Draw.Beziers.

 Point[] idPointArray = {
                new Point (10, 100),
                new Point (100, 10),
                new Point (150, 150),
                new Point (200, 100)
            };
           
 idgraphic.DrawBeziers(blackPen,idPointArray);

Menggambar Sequence of Bezier Splines C#

Sequence of Bezier merupakan Lebih dari satu Kurva Bezier yang di urutkan, jadi dapat dianalogikan kamu mempunyai banyak kurva bezier dan diurutkan hingga membentuk suatu gambar atau grafik tertentu.

 private void Panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics idgraphic = panel1.CreateGraphics();
            Brush black = new SolidBrush(Color.Black);
            Brush red = new SolidBrush(Color.Red);
            Pen blackPen = new Pen(black, 5);
            Pen redPen = new Pen(red, 2);

            Point[] idPointArray = {
              
                   new Point(10, 100),   // Titik Awal Kurva Pertama
                   new Point(75, 10),    // Titik Kontrol 1 Kurva Pertama
                   new Point(80, 50),    // Titik Kontrol 2 Kurva Pertama

                   new Point(100, 150),  // Titik Akhir Kurva Pertama dan Titik Awal Kurva kedua
                                         // start point of second spline

                   new Point(125, 80),   // Titik Kontrol 1 Kurva Kedua
                   new Point(175, 200),  // Titik Kontrol 2 Kurva Kedua
                   new Point(200, 80)   //  Titik Akhir Kurva Kedua

             };
           
            idgraphic.DrawBeziers(blackPen,idPointArray);
            idgraphic.DrawPolygon(redPen,idPointArray);

        }

Dari kode diatas, akan menghasilkan kurva seperti dibawah ini :

Titik Koordinat Kurva Sequence o Bezier Windows Form C#

Mungkin Cukup sekian penjelasan mengenai Kurva Bezier Spline pada Windows Form, apabila ada pertanyaan, jangan sungkan untuk mengisi kolom komentar.

Mungkin Anda juga menyukai