Menggambar Spline Kardinal

Spline kardinal adalah kurva yang melewati dengan lancar melalui set titik tertentu. Untuk menggambar spline kardinal, buat objek Grafis dan teruskan alamat array titik ke metode Graphics::D rawCurve . Contoh berikut menggambar spline kardinal berbentuk lonceng yang melewati lima titik yang ditunjuk:

Point points[] = {Point(0, 100),
                  Point(50, 80),
                  Point(100, 20),
                  Point(150, 80),
                  Point(200, 100)};

Pen pen(Color(255, 0, 0, 255));
graphics.DrawCurve(&pen, points, 5);

Ilustrasi berikut menunjukkan kurva dan lima poin.

ilustrasi spline kardinal yang melewati satu set lima poin

Anda dapat menggunakan metode Graphics::D rawClosedCurve dari kelas Grafis untuk menggambar spline kardinal tertutup. Dalam spline kardinal tertutup, kurva berlanjut melalui titik terakhir dalam array dan terhubung dengan titik pertama dalam array.

Contoh berikut menggambar spline kardinal tertutup yang melewati enam titik yang ditunjuk.

Point points[] = {Point(60, 60),
   Point(150, 80),
   Point(200, 40),
   Point(180, 120),
   Point(120, 100),
   Point(80, 160)};

Pen pen(Color(255, 0, 0, 255));
graphics.DrawClosedCurve(&pen, points, 6);

Ilustrasi berikut menunjukkan spline tertutup bersama dengan enam poin:

ilustrasi spline kardinal tertutup yang melewati satu set enam poin

Anda dapat mengubah cara spline kardinal membungkuk dengan meneruskan argumen ketegangan ke metode Graphics::D rawCurve . Contoh berikut menggambar tiga spline kardinal yang melewati set titik yang sama:

Point points[] = {Point(20, 50),
                  Point(100, 10),
                  Point(200, 100),
                  Point(300, 50),
                  Point(400, 80)};

Pen pen(Color(255, 0, 0, 255));
graphics.DrawCurve(&pen, points, 5, 0.0f);  // tension 0.0
graphics.DrawCurve(&pen, points, 5, 0.6f);  // tension 0.6
graphics.DrawCurve(&pen, points, 5, 1.0f);  // tension 1.0

Ilustrasi berikut menunjukkan tiga spline bersama dengan nilai ketegangannya. Perhatikan bahwa ketika ketegangan adalah 0, titik dihubungkan oleh garis lurus.

ilustrasi tiga spline kardinal melewati set titik yang sama tetapi pada ketegangan yang berbeda