Spline (matematik) - Spline (mathematics)

1/3 ve 2 / 3'teki tek düğümler, üç kübik polinomdan oluşan bir eğri oluşturur. C2 süreklilik. Aralığın her iki ucundaki üçlü düğümler, eğrinin bitiş noktalarını interpolasyonunu sağlar.

İçinde matematik, bir eğri özel işlevi tanımlı parça parça tarafından polinomlar.İçinde enterpolasyon sorunlar spline enterpolasyonu genellikle tercih edilir polinom enterpolasyonu düşük dereceli polinomları kullanırken bile benzer sonuçlar verirken, Runge fenomeni daha yüksek dereceler için.

İçinde bilgisayar Bilimi alt alanları Bilgisayar destekli tasarım ve bilgisayar grafikleri, spline terimi daha sık parçalı bir polinomu ifade eder (parametrik) eğri. Spline'lar, yapılarının basitliği, değerlendirme kolaylığı ve doğruluğu ve karmaşık şekillere yaklaşma kapasiteleri nedeniyle bu alt alanlardaki popüler eğrilerdir. eğri uydurma ve etkileşimli eğri tasarımı.

Spline terimi esnek eğri gemi yapımcıları tarafından kullanılan cihazlar ve ressamlar pürüzsüz şekiller çizmek için.

Giriş

"Spline" terimi, veri enterpolasyonu ve / veya düzgünleştirme gerektiren uygulamalarda kullanılan geniş bir fonksiyon sınıfını ifade etmek için kullanılır. Veriler tek boyutlu veya çok boyutlu olabilir. Enterpolasyon için spline fonksiyonları normalde enterpolasyon kısıtlamalarına tabi olan uygun pürüzlülük ölçümlerinin (örneğin integral kare eğriliği) minimize edicileri olarak belirlenir. Düzleştirme eğrileri, gözlenen veriler ve pürüzlülük ölçüsü üzerindeki ortalama kare yaklaşıklık hatasının ağırlıklı bir kombinasyonunu en aza indirmek için fonksiyonların belirlendiği enterpolasyon eğrilerinin genelleştirmeleri olarak görülebilir. Pürüzlülük ölçüsünün bir dizi anlamlı tanımı için, spline fonksiyonlarının doğası gereği sonlu boyutlu olduğu bulunmuştur; bu, hesaplamalarda ve temsillerde kullanımlarının birincil nedenidir. Bu bölümün geri kalanı için, tamamen tek boyutlu, polinom eğrilere odaklanıyoruz ve bu sınırlı anlamda "spline" terimini kullanıyoruz.

Tanım

Tartışmamızı şununla sınırlandırarak başlıyoruz: tek değişkenli polinom durumu. Bu durumda, spline bir parça parça Polinom fonksiyonu Bu işlevi çağırın S, bir aralıktan [a,b] ve bunları , kümesi gerçek sayılar,

İstiyoruz S parça parça tanımlanacak. Bunu başarmak için, aralığın [a,b] kapsamına girmek k ikili ayrık sıralı alt aralıklar iç mekanlar,

Bunların her birinde k "parçaları [a,b], bir polinom tanımlamak istiyoruz, buna Pben.

.

Üzerinde beninci alt aralığı [a,b], S tarafından tanımlanır Pben,

Verilen k + 1 puan tben arandı düğümler. Vektör denir düğüm vektör spline için. düğümler aralık içinde eşit uzaklıkta dağıtılmışsa [a,b] spline'ın üniforma, aksi takdirde öyle deriz tek tip olmayan.

Polinom parçaları Pben her birinin en fazla derecesi var n, sonra spline'ın olduğu söylenir derece (veyasipariş n + 1).

Eğer bir mahallede tben, sonra spline'ın pürüzsüzlük (en azından) -de tben. Yani tben iki parça Pi-1 ve Pben 0 derecesinin türevinden (fonksiyon değeri) sıra türevine kadar benzer türev değerleri paylaşır rben (başka bir deyişle, iki bitişik polinom parçası birbirine bağlanır pürüzsüzlük kaybı en fazla n - rben).

Bir vektör spline'ın düzgünlüğü olacak şekilde -de tben için denir pürüzsüzlük vektör spline için.

Düğüm vektörü verildiğinde , bir derece nve pürüzsüzlük vektörü için , tüm derece eğrilerinin kümesi düşünülebilir düğüm vektörüne sahip olmak ve pürüzsüzlük vektörü . İki fonksiyon ekleme (noktasal toplama) ve fonksiyonların gerçek katlarını alma işlemiyle donatılmış bu set, gerçek bir vektör uzayı haline gelir. Bu spline alanı genellikle şu şekilde gösterilir: .

Polinom eğrilerinin matematiksel çalışmasında, iki düğüm olduğunda ne olacağı sorusu, tben ve tben+1, birlikte taşındığının kolay bir cevabı var. Polinom parçasıPben(t) kaybolur ve parçalarPben−1(t) ve Pben+1(t) için süreklilik kayıplarının toplamı ile birleştirintben ve tben+1.Yani,

nerede

Bu, bir düğüm vektörünün daha genel bir şekilde anlaşılmasına yol açar.Herhangi bir noktadaki süreklilik kaybının sonucu olarak düşünülebilir.çoklu düğümler bu noktada bulunur ve bir spline türü, derecesi ile tamamen karakterize edilebilir n ve Onun Genişletilmiş düğüm vektör

nerede tben Tekrarlanır jben zamanlar .

Bir parametrik eğri aralıkta [a,b]

bir eğri eğri ikisi de olursa X ve Y o aralıktaki aynı uzatılmış düğüm vektörlerine sahip aynı derecedeki spline fonksiyonlardır.

Örnekler

[a,b] [0,3] ve alt aralıklar [0,1], [1,2] ve [2,3] şeklindedir. Polinom parçalarının 2. derece olduğunu ve [0,1] ve [1,2] 'deki parçaların değer ve birinci türevi ( t= 1) [1,2] ve [2,3] üzerindeki parçalar basitçe değer olarak birleşirken ( t = 2) .Bu, bir tür spline tanımlar S(t) hangisi için

bu türden bir üye olabilir ve ayrıca

bu tipin bir üyesi olacaktır. (Not: polinom parçası 2 ikent ikinci dereceden değildir, sonuç yine ikinci dereceden eğri olarak adlandırılır. Bu, bir spline derecesinin, polinom parçalarının maksimum derecesi olduğunu gösterir.) Bu tip spline için uzatılmış düğüm vektörü (0, 1, 2, 2, 3) olacaktır.

En basit spline 0 derecesine sahiptir. basamak fonksiyonu Bir sonraki en basit eğri 1. dereceye sahiptir. doğrusal eğri. Düzlemdeki kapalı bir doğrusal eğri (yani, ilk düğüm ve sonuncusu aynıdır) sadece bir çokgen.

Yaygın bir eğri, doğal kübik eğri süreklilik ile 3. derece C2"Doğal" kelimesi, spline polinomlarının ikinci türevlerinin, interpolasyon aralığının uç noktalarında sıfıra eşit olarak ayarlandığı anlamına gelir.

Bu, düzlüğünü bozmadan spline'ı aralığın dışında düz bir çizgi olmaya zorlar.

Doğal kübik eğrileri hesaplamak için algoritma

Kübik spline'lar formdadır .
Verilen koordinatlar bir set bulmak istiyoruz spline'lar için

Bunlar tatmin etmelidir:

  • .

Bir kübik spline tanımlayalım 5 tuple olarak nerede ve daha önce gösterilen formdaki katsayılara karşılık gelir ve eşittir

Doğal Kübik Eğriyi hesaplamak için algoritma:
Girdi: koordinat seti , ile
Çıktı: aşağıdakilerden oluşan eğrileri ayarlayın n 5 tuple.

  1. Yeni dizi oluştur a boyut n + 1 ve için Ayarlamak
  2. Yeni diziler oluştur b ve d her boyutta n.
  3. Yeni dizi oluştur h boyut n ve için Ayarlamak
  4. Yeni dizi oluştur α boyut n ve için Ayarlamak .
  5. Yeni diziler oluştur c, l, μ, ve z her boyutta .
  6. Ayarlamak
  7. İçin
    1. Ayarlamak .
    2. Ayarlamak .
    3. Ayarlamak .
  8. Ayarlamak
  9. İçin
    1. Ayarlamak
    2. Ayarlamak
    3. Ayarlamak
  10. Yeni set Spline'lar oluşturun ve bunu output_set olarak adlandırın. Şununla doldurun n spline'lar S.
  11. İçin
    1. Ayarlamak Sben,a = aben
    2. Ayarlamak Sben,b = bben
    3. Ayarlamak Sben,c = cben
    4. Ayarlamak Sben,d = dben
    5. Ayarlamak Sben,x = xben
  12. Output output_set

Notlar

Daha ne anlama geldiği sorulabilir n bir düğüm vektöründe birden çok düğüm vardır, çünkü bu,

bu yüksek çokluğun bulunduğu yerde. Geleneksel olarak, bu tür herhangi bir durum, iki bitişik polinom parçası arasındaki basit bir süreksizliği gösterir. Bu, bir düğüm varsa tben daha fazla görünüyor n + 1 kez genişletilmiş bir düğüm vektöründe, tüm örnekleri (n + 1) spline karakterini değiştirmeden kaldırılabilir, çünkü tüm çokluklar n + 1, n + 2, n + 3 vb. Aynı anlama sahiptir. Yaygın olarak, herhangi bir tür spline'ı tanımlayan herhangi bir düğüm vektörünün bu şekilde ayıklandığı varsayılır.

Klasik eğri derecesi türü n sayısal analizde kullanılan sürekliliğe sahiptir

Bu, her iki bitişik polinom parçasının değerlerinde buluştuğu anlamına gelir ve n - Her düğümde 1 türev. En yakından modelleyen matematiksel eğri düz eğri kübiktir (n = 3), iki kez sürekli türevlenebilir (C2), uç noktalarda ek koşullar uygulanan bu klasik tipte bir spline olan doğal spline a ve b.

Grafiklerde çok kullanılan başka bir spline türü, örneğin çizim programlarında Adobe Illustrator itibaren Adobe Sistemleri, kübik ancak sürekliliği en fazla olan parçalara sahip

Bu spline türü ayrıca PostScript bazı bilgisayar tipografik yazı tiplerinin tanımında olduğu gibi.

Üst düzey grafikler ve animasyonlar için tasarlanmış birçok bilgisayar destekli tasarım sistemi, örneğin genişletilmiş düğüm vektörlerini kullanır. Maya itibaren Alias Bilgisayar destekli tasarım sistemleri, genellikle bir spline olarak bilinen genişletilmiş bir Düzgün olmayan rasyonel B-spline (NURBS).

Bir işlevden veya fiziksel bir nesneden örneklenmiş veriler mevcutsa, spline enterpolasyonu bu verilere yaklaşan bir spline oluşturmaya yönelik bir yaklaşımdır.

Genel İfade C2 Kübik Spline Enterpolasyon

İçin genel ifade beninci C2 bir noktada kübik spline enterpolasyonu x doğal durumda formül kullanılarak bulunabilir

nerede

  • ikinci türevin değerleridir beninci düğüm.
  • fonksiyonun değerleridir beninci düğüm.

Beyanlar ve İsimler

Belirli bir aralık için [a,b] ve bu aralıktaki belirli bir uzatılmış düğüm vektörü, derecenin eğrileri n oluşturmak vektör alanı. Kısaca bu, belirli bir türdeki herhangi iki spline'ın eklenmesi, o türden spline'ın üretildiği ve belirli bir tipteki spline'ın herhangi bir sabitle çarpılmasının, o tipte bir spline'ın üretildiği anlamına gelir. boyut Belirli bir türdeki tüm spline'ları içeren boşluk, genişletilmiş düğüm vektöründen sayılabilir:

Boyut, derece artı çoklukların toplamına eşittir

Bir spline türünün kendisine uygulanan ek doğrusal koşulları varsa, ortaya çıkan spline bir alt uzayda yer alacaktır. Örneğin, tüm doğal kübik eğrilerin uzayı, tüm kübik eğrilerin uzayının bir alt uzayıdır. C2 spline'lar.

Spline literatürü, özel spline türleri için isimlerle doludur.Bu isimler aşağıdakilerle ilişkilendirilmiştir:

  • Spline'ı temsil etmek için yapılan seçimler, örneğin:
  • Genişletilmiş düğüm vektörünü oluştururken yapılan seçimler, örneğin:
    • tek düğüm kullanmak Cn-1 süreklilik ve bu düğümleri eşit aralıklarla yerleştirmek [a,b] (bize ver tekdüze eğriler)
    • boşluk sınırlaması olmaksızın düğümler kullanmak (bize üniform olmayan eğriler)
  • Spline'a uygulanan özel koşullar, örneğin:
    • sıfır saniye türevlerini uygulamak a ve b (bize ver doğal eğriler)
    • Verilen veri değerlerinin eğri üzerinde olmasını gerektiren (bize spline'ların enterpolasyonu)

Genellikle yukarıdaki ana öğelerin iki veya daha fazlasını karşılayan bir spline türü için özel bir ad seçilmiştir. Örneğin, Hermite eğri her bir polinom parçasını temsil etmek için Hermite polinomları kullanılarak ifade edilen bir spline'dır. Bunlar çoğunlukla n = 3; yani Kübik Hermite eğrileri. Bu derecede, ek olarak sadece teğet-sürekli olacak şekilde seçilebilirler (C1); bu, tüm iç düğümlerin çift olduğu anlamına gelir. Bu tür spline'ları belirli veri noktalarına uydurmak için çeşitli yöntemler icat edilmiştir; yani, onları enterpolasyonlu spline haline getirmek ve bunu, her iki polinom parçasının buluştuğu makul teğet değerleri tahmin ederek yapmaktır (bize Kardinal eğriler, Catmull-Rom eğrileri, ve Kochanek-Bartels spline'lar, kullanılan yönteme bağlı olarak).

Gösterimlerden her biri için, spline değerlerinin talep üzerine üretilebilmesi için bazı değerlendirme yöntemleri bulunmalıdır. Her bir polinom parçasını ifade eden temsiller için Pben(t) derece için bazı temeller açısından n polinomlar, bu kavramsal olarak basittir:

  • Argümanın belirli bir değeri için tyattığı aralığı bul
  • Bu aralık için seçilen polinom tabanına bakın
  • Her bir taban polinomunun değerini bulun t:
  • Bu aralıkta spline'ı veren temel polinomların doğrusal kombinasyonunun katsayılarına bakın. c0, ..., ck-2
  • Spline değerini elde etmek için temel polinom değerlerinin doğrusal kombinasyonunu toplayın: t:

Bununla birlikte, değerlendirme ve özetleme adımları genellikle akıllı yollarla birleştirilir. Örneğin, Bernstein polinomları, özel tekrarlama ilişkileri kullanılarak verimli bir şekilde doğrusal kombinasyonlarda değerlendirilebilen polinomlar için bir temel oluşturur. Bu, özüdür De Casteljau'nun algoritması, hangi özellikler Bézier eğrileri ve Bézier spline'lar.

Bir spline'ı temel spline'ların lineer bir kombinasyonu olarak tanımlayan bir gösterim için daha karmaşık bir şeye ihtiyaç vardır. de Boor algoritması değerlendirmek için etkili bir yöntemdir B-spline'lar.

Tarih

Bilgisayarlar kullanılmadan önce sayısal hesaplamalar elle yapılırdı. Parçalı tanımlanmış işlevlere rağmen işaret fonksiyonu veya basamak fonksiyonu kullanıldı, polinomlar genellikle daha kolay çalışıldıkları için tercih edildi. Bilgisayarların ortaya çıkmasıyla spline'lar önem kazanmıştır. İlk önce interpolasyonda polinomların yerine, daha sonra bilgisayar grafiklerinde pürüzsüz ve esnek şekiller oluşturmak için bir araç olarak kullanıldılar.

Spline'lara ilk matematiksel referansın 1946 tarihli makalesi olduğu yaygın olarak kabul edilir. Schoenberg Bu, muhtemelen "spline" kelimesinin pürüzsüz, parçalı polinom yaklaşımı ile bağlantılı olarak kullanıldığı ilk yerdir. Bununla birlikte, fikirlerin kökleri uçak ve gemi yapımı endüstrilerindedir. Önsözde (Bartels ve diğerleri, 1987), Robin Forrest tanımlar "çatı katı ", İngiliz uçak endüstrisinde kullanılan bir teknik Dünya Savaşı II ince ahşap şeritlerden ("spline'lar ") gemi-gövde tasarımından ödünç alınan bir teknik olan, büyük bir tasarım loftunun zeminine yerleştirilen noktalardan geçerek. Gemi tasarımı pratiğinde yıllarca küçükler tasarlamak için modeller kullanıldı. Başarılı tasarım daha sonra grafik kağıdına çizildi ve arsanın kilit noktaları, daha büyük bir grafik kağıdına tam boyutta yeniden çizildi. İnce ahşap şeritler, önemli noktaların düzgün eğriler halinde enterpolasyonunu sağladı. Şeritler, farklı noktalarda (Forrest tarafından "ördekler" olarak adlandırılır) ; Schoenberg "köpekleri" veya "fareleri" kullandı) ve bu noktalar arasında minimum gerinim enerjisine sahip şekiller varsayılır.Form'a göre, bu süreç için matematiksel bir model için olası bir itici güç, tüm bir uçak için kritik tasarım bileşenlerinin potansiyel kaybıydı. çatı katına bir düşman bombası çarparsa. Bu, ördekler arasındaki eğrinin konumunu modellemek için konik bölümleri kullanan "konik yükselme" ye yol açtı. 1960'ların başlarında konik çatı katının yerini, 1960'ların başlarında spline olarak adlandıracağımız şey aldı. tarafından iş üzerine edindi J. C. Ferguson -de Boeing ve (biraz sonra) tarafından M.A. Sabin -de British Aircraft Corporation.

"Spline" kelimesi aslında bir Doğu Angliyen lehçe kelime.

Otomobil gövdelerini modellemek için spline kullanımının birkaç bağımsız başlangıcı var gibi görünüyor. Adına kredi talep edildi de Casteljau -de Citroën, Pierre Bézier -de Renault, ve Birkhoff, Garabedyan, ve de Boor -de Genel motorlar (bkz.Birkhoff ve de Boor, 1965), tümü 1960'ların başlarında veya 1950'lerin sonlarında gerçekleşen işler içindir. De Casteljau'nun makalelerinden en az biri 1959'da yayınlandı, ancak geniş çapta yayınlanmamıştı. De Boor'un Genel motorlar 1960'ların başında yayınlanan bazı temel çalışmalarla sonuçlandı. B-spline'lar.

Pratt & Whitney Aircraft'ta da çalışmalar yapılıyordu, burada (Ahlberg ve diğerleri, 1967) - spline'ların ilk kitap boyu tedavisi - yazarlarından ikisi istihdam edildi ve David Taylor Model Havzası, Feodor Theilheimer tarafından. İş Genel motorlar (Birkhoff, 1990) ve (Young, 1997) 'de güzel bir şekilde detaylandırılmıştır. Davis (1997) bu materyalin bir kısmını özetlemektedir.

Referanslar

  • Ferguson, James C, Çok değişkenli eğri enterpolasyonu, J. ACM, cilt. 11, hayır. 2, sayfa 221-228, Nisan 1964.
  • Ahlberg, Nielson ve Walsh, Spline Teorisi ve Uygulamaları, 1967.
  • Birkhoff, Akışkanlar dinamiği, reaktör hesaplamaları ve yüzey gösterimi, içinde: Steve Nash (ed.), Bilimsel Hesaplama Tarihi, 1990.
  • Bartels, Beatty ve Barsky, Bilgisayar Grafiklerinde ve Geometrik Modellemede Kullanılacak Spline'lara Giriş, 1987.
  • Birkhoff ve de Boor, Parçalı polinom enterpolasyonu ve yaklaşımı, H. L. Garabedian (ed.), Proc. 1964 General Motors Sempozyumu, s. 164–190. Elsevier, New York ve Amsterdam, 1965.
  • Davis, B-spline'lar ve Geometrik tasarım, SIAM Haberleri, vol. 29, hayır. 5, 1997.
  • Epperson, Spline'ların Tarihçesi, NA Digest, vol. 98, hayır. 26, 1998.
  • Stoer & Bulirsch, Sayısal Analize Giriş. Springer-Verlag. s. 93-106. ISBN  0387904204
  • Schoenberg, Eşit mesafeli verilerin analitik fonksiyonlar ile yaklaştırılması problemine katkılar, Quart. Appl. Matematik., vol. 4, s. 45–99 ve 112–141, 1946.
  • Young, Garrett Birkhoff ve uygulamalı matematik, AMS'nin bildirimleri, vol. 44, hayır. 11, s. 1446–1449, 1997.
  • Chapra, Canale, "Mühendisler için Sayısal Yöntemler" 5. baskı.

Dış bağlantılar

Teori

Excel İşlevi

Çevrimiçi yardımcı programlar

Bilgisayar kodu