Bagikan melalui


Cara: Menggambar Spline Kardinal

Spline kardinal adalah kurva yang melewati dengan lancar melalui set titik tertentu. Untuk menggambar spline kardinal, buat Graphics objek dan teruskan alamat array titik ke DrawCurve metode .

Menggambar Spline Kardinal Berbentuk Lonceng

  • Contoh berikut menggambar spline kardinal berbentuk bel yang melewati lima titik yang ditunjuk. Ilustrasi berikut menunjukkan kurva dan lima poin.

    Diagram yang menunjukkan spline kardinal berbentuk bel.

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

Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points);
Dim points As Point() = { _
   New Point(0, 100), _
   New Point(50, 80), _
   New Point(100, 20), _
   New Point(150, 80), _
   New Point(200, 100)}

Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points)

Menggambar Spline Kardinal Tertutup

  • DrawClosedCurve Gunakan metode Graphics kelas 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 menarik spline kardinal tertutup yang melewati enam poin yang ditunjuk. Ilustrasi berikut menunjukkan spline tertutup bersama dengan enam poin:

Diagram yang memperlihatkan spline kardinal tertutup.

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

Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawClosedCurve(pen, points);
Dim points As Point() = { _
   New Point(60, 60), _
   New Point(150, 80), _
   New Point(200, 40), _
   New Point(180, 120), _
   New Point(120, 100), _
   New Point(80, 160)}

Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawClosedCurve(pen, points)

Mengubah Bungkuk Spline Kardinal

  • Ubah cara garis spline kardinal membungkuk dengan meneruskan argumen ketegangan ke DrawCurve metode . Contoh berikut menggambar tiga spline kardinal yang melewati set titik yang sama. Ilustrasi berikut menunjukkan tiga spline bersama dengan nilai ketegangannya. Perhatikan bahwa ketika ketegangan adalah 0, titik dihubungkan oleh garis lurus.

Diagram yang menunjukkan tiga spline kardinal.

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

Pen pen = new Pen(Color.FromArgb(255, 0, 0, 255));
e.Graphics.DrawCurve(pen, points, 0.0f);
e.Graphics.DrawCurve(pen, points, 0.6f);
e.Graphics.DrawCurve(pen, points, 1.0f);
Dim points As Point() = { _
   New Point(20, 50), _
   New Point(100, 10), _
   New Point(200, 100), _
   New Point(300, 50), _
   New Point(400, 80)}

Dim pen As New Pen(Color.FromArgb(255, 0, 0, 255))
e.Graphics.DrawCurve(pen, points, 0.0F)
e.Graphics.DrawCurve(pen, points, 0.6F)
e.Graphics.DrawCurve(pen, points, 1.0F)

Mengompilasi Kode

Contoh sebelumnya dirancang untuk digunakan dengan Formulir Windows, dan memerlukan PaintEventArgs e, yang merupakan parameter penanganan Paint aktivitas.

Lihat juga