B-Spline'lar ve Beziers aşağı yukarı aynı şeyin paralel icatlarıdır. Beziers teğet uydurma fikrinden başlamaya çalıştığı yer. B-Spline'lar temel fonksiyonlar fikri ile başlar. NURB Spline'lar (ya da aslında rasyonel kısım) sadece B-Spline'ların genellemesidir, böylece mühendislikle özel ilgi duydukları için doğru konik bölümleri * tanımlayabilirsiniz.
Önce basit bir NURB Spline terminolojisi ile başlayalım. Bu eğrilerin mantığı Beziers için olandan biraz farklıdır. İlk olarak bir açıklık kavramı var. Bir aralık kabaca tüm Bezier spline'a eşit olacaktır, ancak nurbs'ta herhangi bir sayıda açıklığa sahip olabilirsiniz.
Resim 1 : Bir kübik NURBS açıklığı. Bu formülasyonda biraz atipik
Her aralık eğri derecesi + 1 kontrol noktası ** tarafından oluşturulur. Her eğri herhangi bir sayıda noktadan oluşabilir. Her ardışık aralık, bir noktayı düşürüp listede bir puan daha alarak önceki açıklıktaki noktaları yeniden kullanır. Bu nedenle, daha karmaşık eğriler yapmak, eğriye daha fazla nokta eklemek kadar kolaydır.
NOT : Görüntü eğrileri biraz atipik olarak parametrelendirilmiştir, bir sonraki bölümde bunun ne anlama geldiğini açıklayamayız. Düğüm kavramını aldığımda. Bu, eğrilerin nasıl yapıştırıldığını açıklamanın daha kolay bir yoludur.
Resim 2 : 2 küp birbiri ardına yayılır, her açıklık 4 nokta kullanır. birlikte bir eğri oluştururlar. En çok puanı birbirleriyle paylaşırlar.
Şimdiye kadar muhtemelen karmaşıklık ekleme ile ilgili 2 soruyu cevapladık. Ancak, bu şemanın bezier eğrisinden daha iyi süreklilik sağladığını eklemek isterim. Ayrıca, gövde döngüsünü oluşturan nokta dizisini yapabilirsiniz. Kapalı bir eğri oluşturma.
Resim 3 : Kapalı bir kübik NURBS yüzeyi, noktaları kadar açıklığa sahiptir. Her renk bir açıklıktır.
Parametreler
Bu noktaya kadar, açıklıkların birbirine bağlanmasının Bezier eğrilerini "dikmek" gibi bir numara olduğunu söyleyebiliriz. Ama bir fark var. Eğri uzunluğu boyunca parametrelenir. Böylece eğriler ayrı değildir, Beziers gibi her açıklıkta 0 ila 1 formunu enterpolasyon etmezler. Bunun yerine, altta yatan eğri cusomizable bir parametre aralığına sahiptir. Parametre düğüm adı verilen bir şeyde saklanır ve her düğüm dizide rastgele artan bir değere sahip olabilir. Böylece u eğrilerinin tamamını 0 - 1 veya 0 ila 12 arasında parametrelendirebilirsiniz. Parametrelemenin aynı zamanda tekdüze olması da gerekmez.
Bu parametrelendirme eğrinin şeklini değiştirir. Bu neden faydalı olabilir? Biri için eğri boyunca gerginliği ayarlayabilirsiniz. Veya eğrinin uzunluğunu U parametresine kodlayabilirsiniz. Bir tuhaf kullanım, NURBS eğrisinin tamamen veya sadece kısmen Bezier eğrisi gibi hareket etmesini sağlamaktır (örneğin uçlarda olduğu gibi bezier ancak ortada değil).
Resim 4 : Aynı nokta farklı düğüm dizileri. Yeşil NURBS eğrisi, 0-1 yerine 0-2 parametre aralığına sahip bir Bezier eğrisine karşılık gelir
Peki düğümler ne? Bunlar basitçe temel fonksiyonların aralıklarıdır. 4 noktalı kübik b-spline 4 enterpolasyon fonksiyonuna sahip olduğundan 8 knot'a ihtiyaç duyar. Yalnızca 3 işlevin üst üste geldiği ve 1,0'a kadar topladığı alanlar çizgi çizilebilir.
Resim 5 : 2 farklı temel fonksiyon, bir bezier benzeri ve düzgün bir segment parametresi, 0-1 aralığına yayıldı.
Ve şimdi çoğunlukla soru 1'in cevabını açıkladık. Aralık tanımlanmamış olarak gördüğünüz gibi temel fonksiyonları genişletebilirsiniz. Ve son olarak düğüm vektörü basitçe temel fonksiyonlar için parametre aralıkları üretir. Halen eğrinin şeklini yöneten bir şey daha var ve bu ağırlık vektörü. Ama bu başka bir yerde anlatılacak başka bir hikaye.
* Bu durumda bu rasyonel, bir NURBS eğrisinin polinom olması gerekmediği anlamına gelir, çünkü polinomları olan bir daireyi tanımlayamazsınız.
** Başka tür noktalar tanımlanabilir.