Aracılığıyla paylaş


GDI+'daki Ana Eğri Cetvelleri

Kardinal spline, daha büyük bir eğri oluşturmak için birleştirilen tek tek eğri dizisidir. Spline, bir nokta dizisi ve bir gerilim parametresi tarafından belirtilir. Kardinal spline dizideki her noktadan sorunsuz bir şekilde geçer; eğrinin darlığında keskin köşeler ve ani değişiklikler yoktur. Aşağıdaki çizimde, kümedeki her noktadan geçen bir nokta kümesi ve bir kardinal spline gösterilmektedir.

Cardinal Spline

Fiziksel ve Matematiksel Eğriler

Fiziksel spline, ince bir ahşap parçası veya diğer esnek malzemedir. Matematiksel eğrilerin ortaya çıkmasından önce tasarımcılar eğrileri çizmek için fiziksel eğriler kullanırdı. Tasarımcı, spline'ı bir kağıda yerleştirir ve belirli bir nokta kümesine sabitler. Tasarımcı daha sonra kalem veya kalemle eğri boyunca çizim yaparak bir eğri oluşturabilir. Belirli bir nokta kümesi, fiziksel eğrinin özelliklerine bağlı olarak çeşitli eğriler verebilir. Örneğin, bükmeye karşı direnci yüksek olan bir eğri, son derece esnek bir eğriden farklı bir eğri üretir.

Matematiksel eğriler için formüller esnek çubukların özelliklerini temel alır, bu nedenle matematiksel eğriler tarafından üretilen eğriler bir zamanlar fiziksel eğriler tarafından üretilen eğrilere benzer. Farklı gerilimin fiziksel eğrileri, belirli bir nokta kümesi aracılığıyla farklı eğriler üreteceği gibi, gerilim parametresi için farklı değerlere sahip matematiksel eğriler de belirli bir nokta kümesi aracılığıyla farklı eğriler üretecektir. Aşağıdaki çizimde, aynı nokta kümesinden geçen dört kardinal spline gösterilmektedir. Her spline için gerilim gösterilir. 0 gerilimi sonsuz fiziksel gerilime karşılık gelir ve eğriyi noktalar arasında en kısa yolu (düz çizgiler) almaya zorlar. 1'in gerilimi fiziksel bir gerilime karşılık gelir ve spline'ın en az toplam bükülme yolunu izlemesine izin verir. Gerilim değerleri 1'den büyükse, eğri sıkıştırılmış bir yay gibi davranır ve daha uzun bir yol almaya itilir.

Cardinal Splines

Önceki çizimdeki dört spline, başlangıç noktasında aynı tanjant çizgisini paylaşır. Tanjant, başlangıç noktasından eğri boyunca bir sonraki noktaya çizilen çizgidir. Benzer şekilde, bitiş noktasındaki paylaşılan tanjant, bitiş noktasından eğrideki önceki noktaya çizilen çizgidir.

Bir kardinal spline çizmek için sınıfının bir örneğine Graphics , bir Penöğesine ve bir nesne dizisine Point ihtiyacınız vardır Sınıfın Graphics örneği, spline'ı çizen yöntemini sağlar DrawCurve ve çizgi genişliği ve Pen renk gibi spline özniteliklerini depolar. Nesne dizisi Point , eğrinin geçeceği noktaları depolar. Aşağıdaki kod örneği, içindeki myPointArraynoktalardan geçen bir kardinal spline'ın nasıl çizildiğini gösterir. Üçüncü parametre gerilimdir.

myGraphics.DrawCurve(myPen, myPointArray, 1.5f);
myGraphics.DrawCurve(myPen, myPointArray, 1.5F)

Ayrıca bkz.