Geometrik modelleme ve yazılımlar arasında veri aktarım standartları

Grafik boyama yapan mühendislik yazılımlarının birbirleri arasında geometri verisi paylaşımı yapabilmeleri için standart çalışmaları yapılmış ve bilinen pek çok dosya tipleri tanımlanmıştır. Bunlardan bazıları: IGES, STEP, Parasolid (Siemens NX firması), ACIS-Sat (Spatial firması), Dxf (Autodesk firması), STL, VRML... dosyalarıdır.

Örneğin IGES ve STEP standartları açıktır ve tanımlamaları ticari ödeme yapılmadan kullanılabilmektedir. Parasolid gibi ticari anlaşmalar ile kullanılan sistemlerde vardır. Örneğin Siemens NX firması geometri motoru olarak Parasolid kernelini hem veri transferi amaçlı, hem de geliştiricilerin kendi uygulamalarında kullanmaları amaçlı lisans anlaşmaları ile ticari olarak satmaktadır.

IGES örneği ile digital ürün bilgisi paylaşımının tanıtılması

IGES dokümanı tam sayılar, gerçek sayılar, karakter dizileri (katarlar) gibi temel veri tiplerini tanımlar. Ürün bilgisinin yazılacağı IGES – iges uzantılı belgeler ASCII karakterleri ile yazılan metin dosyalarıdır. Bu dosyanın formatı oldukça belirli bir şekilde bölümleri ile açıklanmıştır.

Bu temel tanımları kullanan geometrik, topolojik ve benzeri birçok eleman tipleri dosyaya yazdırılarak bir tasarım yazılımından diğerine aktarım yapılabilir. IGES dokümanı "entity" olarak isimlendirdiği elemanları da detaylı olarak tanımlar. Bunlardan geometri bilgisi aktarmak için kullanılan temel yapılar aşağıda listelenmiştir:

IGES Eleman Tipleri

Eleman Tip Kodu Eleman Tipi
100 Dairesel Ark
102 Kompozit Eğri
104 Konik Ark
106 Poligon
108/11 2D Lineer Yol
108/12 3D Lineer Yol
108/83 Düzlemde Kapalı Yol
110 Düzlem
112 Çizgi
114 Parametrik Spline Eğri
116 Parametrik Spline Yüzey
118 Nokta
120 Işın Yüzey
122 Döndürülmüş Yüzey
124 Ekstrüzyon Yüzey
126 Transformasyon Matrisi
128 Flash
130 Rasyonel B-Spline Eğri
132 Rasyonel B-Spline Yüzey
140 Ofset Eğri
141 Ofset Yüzey
142 Sınır
143 Parametrik Yüzey Üzerinde Eğri
144 Sınırlandırılmış Yüzey
146 Kesilmiş Parametrik Yüzey
190 Düzlem Yüzey
192 Sağ Dairesel Silindirik Yüzey
194 Sağ Dairesel Konik Yüzey
196 Küre Yüzey

Örnek Katı Cisim ve Bu Çizimin IGES ile Aktarımı

Aşağıdaki resimde sol tarafta görülen katı cisimin geometri bilgisini IGES dosyası ile aktarırız, tipi 144 olan 7 adet kesilmiş parametrik yüzey içeren bir dosya oluşabilir.

Katı cisim ve IGES aktarımı

En üstte üzerinde delik olan yüzeyi ele alalım. Bu yüzey bilgisini içeren kesilmiş parametrik yüzey öncelikle bir kesilmemiş yüzey tanımı içeren başka tipe işaretçi verir. Kesilmemiş yüzey herhangi bir parametrik yüzey olabilir. Raylı yüzey (118), ekstrüzyon (122) veya Rasyonel B-spline yüzey (128) aynı geometriyi tanımlamak için kullanılabilir. Yüzeyi u ve v parametreleri ile noktalara çeviren kesilmemiş parametrik yüzeyi nasıl sınırlandıracağımız bilgisini vermek için yine işaretçi kullanılır. Bu defa işaretçi yüzeyin dış sınırları ve içinde kalan boşaltmalar için Parametrik yüzey üzerinde eğri elemanlarına işaret eder. 142 koduyla tanımlanan bu parametrik yüzey üzerinde eğri elemanları farklı parametrik eğri tipleri kullanarak yüzeyin parametre uzayındaki 2 boyutlu u, v noktaları üreten ve/veya üç boyutlu uzayda yer alan ama hepsi yüzeyin üzerinde olan eğriler işaret eder. Bu eğriler dairesel ark (100), konik ark (104), rasyonel b-spline eğriler (126), polylineler (106) olabilir. Kompozit eğriler (102) ise uç noktaları birbirine değen arka arkaya eğrilerden oluşur. Parametrik yüzeydeki eğri nesneleri kompozit eğrileri de kullanabilir.

Parametrik Eğriler ve Yüzeyler

Polinom B-spline Eğrileri

İlk örnek olarak polinom B-spline eğrileri gösterebiliriz. B-spline eğriler, t0, t1 aralığında verilen t parametresini uzayda bir noktaya dönüştüren matematiksel fonksiyonlardır. Parametrik eğri kümesi içindedirler.

\[ C(t) = \vec{P} \begin{pmatrix} x_c \\ y_c \\ z_c \end{pmatrix} \]

B-spline eğri tanımlamak için bir dizi kontrol noktası ve bir dizi knot sayıları verilir. Knot diye adlandırılan t parametresi aralıklardır. B-spline eğrinin derecesi de verilir. 2. derece kuadratik, 3. derece kübik B-spline olarak da isimlendirilir. Derecesi p olan bir B-spline eğride en az p+1 kontrol noktası verilmelidir. Knot sayısı ise kontrol noktası sayısı + p+1 olmalıdır.

Parametrik Eğri ve Yüzey Matematiği

Örneğin 2. derece B-spline bir eğri için 3 kontrol noktası ve 6 elemandan oluşan knot dizisi doğrudur ve fonksiyon kullanılarak verilen knot dizisi aralığındaki t parametreleri girdi olduğunda uzayda 3 boyutlu bir nokta üretilir. \(C(t) = \vec{P}(x,y,z)\) elde edilir.

Derece p = 2. Kontrol noktaları dizisi: \[ \vec{C_0} = \begin{pmatrix} 0.5 \\ 1.2 \\ 3.1 \end{pmatrix} \] \[ \vec{C_1} = \begin{pmatrix} -1.3 \\ 1.4 \\ 3.1 \end{pmatrix} \] \[ \vec{C_2} = \begin{pmatrix} -1.6 \\ 1.6 \\3.1 \end{pmatrix} \] knot dizisi: { 0, 0, 0, 1, 1, 1 }

Yukarıdaki örneğe kontrol noktası kadar ağırlık sayısı içeren bir dizi eklenebilir. w = { 2.0, 1.5, 2.0 } gibi. Bu durumda B-spline eğrinin ismi rasyonel B-spline eğrisi olarak değişir. (ratio - oransal) Bu ağırlık katsayıları kullanılmadan daire, elips gibi şekiller B-spline matematiği ile elde edilemez. Knot dizisi aralıkları sürekli eşit olursa buna uniform sıfatı verilir. Yine daire, parabol, elips gibi şekiller ve çoğu geometrik şekil için non-uniform parametre aralıkları kullanılmalıdır. Knot dizisinde arka arkaya aynı t parametresi olabilir ya da aralıkların uzunlukları değişebilir. Bütün bu özellikleri ifade eden NURBS kısaltması non-uniform rational B-spline eğri ve yüzeyler için kullanılır.

Aşağıdaki resimde mavi çizgilerin uçlarındaki noktalar kontrol noktalarıdır, 3. derece non-uniform rasyonel B-spline eğrinin bütün noktaları siyah eğriyi oluşturur.

NURBS eğrisi

Bir eğri ya da yüzeyin sonsuz noktalarını tanımlayan matematik model ne olursa olsun ekran kartları çizim yapmak için genelde temel konveks geometri kullanır. Arka arkaya çizgiler ile polylineler, üçgen dizileri gibi ilkel veri tiplerini yazılımlar belli toleranslar (çözünürlükler) ile üretir.

Düşük çözünürlükte NURBS eğrisi

Yukarıdaki NURBS eğrinin daha düşük çözünürlük ile sayısallaştırıldığı çizim.

Kontrol noktalarının değişimi ile şekiller değişir.

Düşük çözünürlükte NURBS eğrisi

NURBS eğriler robotik sistemlerde hareket yörüngelerinin tanımı , yazı fontlarının ölçeklenebilir modellerinin kayıt edilmesi , sınır temsili ”boundary representation” modellemede yüzeylerin limitlerini yani kenar eğrilerini tanımlamak gibi bir çok uygulamada kullanılabilir. C(0) süreklilik noktasal sürekliliği , C(1) süreklilik teğet doğrultusundaki değişikliğin sürekliliğini , C(2) ise teğetin türevinin değişimindeki sürekliliği ifade etmek için kullanılır. NURBS eğriler ile yüksek süreklilik gerektiren modeller oluşturulabilir. Bu süreklilik örneğin bir robot ya da bir makinede farklı motorları sürerek elde edilen takım ucu yörüngesi için kullanıldığında titreşimler azalır , enerji kullanım verimliliği artar. Ya da üzerinden akışkanın geçtiği bir pervanenin yüzey modelinde yüksek süreklilik istenilebilir. Bu tip modellemelerde noktasal konumun türevi hızı , hızın türevide doğal olarak ivmeyi gösterir.

NURBS eğriler bir tane t parametresi ile nokta üretirken NURBS yüzeylerde u,v olarak isimlendirilen iki parametre ile nokta üretilir. Kontrol noktaları grid-ızgara yapısı şeklinde iki boyutlu bir dizi ile verilir P(i,j) i [0,m] aralığında j [0,n] aralığında bir indeks sayısıdır.

Kontrol noktaları sayısı u parametresi yönünde m+1 , v parametresi yönünde n+1 adet olur.

Spline polynom fonksiyon derecesi u yönünde p , v yönünde q sayısı ile verilir. Knot dizileri olarak verilen u,v aralıkları iki ayrı dizi ile tanımlanır. Opsiyonel olarak rasyonel yüzeylerde ağırlıklar kontrol noktaları gibi iki boyutlu dizi ile tanımlanır. W(i,j)

Derece , kontrol noktası , ağırlıklar ve knot sayıları arasındaki formüller tek boyuttaki eğri ile aynı şekilde iki ayrı u,v doğrultuları için ayrı ayrı hesaplanabilir.

Nurbs Yüzeyler

Aynı NURBS eğrilerdeki gibi NURBS yüzeylerde kontrol noktaları ile sayı üretirler. Bunu yaparken u ve v parametreleri doğrultusunda Blending (harmanlama) ile çalışırlar.