Bèzıer eğrileri ile ilgili python uygulamaları
Python applications on Bèzier curves
Yazar: RUMEYSA AKALİN
Danışman: DOÇ. DR. MEHMET GÜMÜŞ ; DR. ÖĞR. ÜYESİ SEDA KARATEKE
Zonguldak Bülent Ecevit Üniversitesi / Fen Bilimleri Enstitüsü / Matematik Ana Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Matematik = Mathematics
Dizin: Bernstein polinomları = Bernstein polynomials ; Bezier eğrileri = Bezier curves ; Minkowski uzayı = Minkowski space ; Python = Python ; Yapay zeka = Artificial intelligence

Özet:
Bilgisayar Destekli Tasarımın (BDT) gelişmesiyle teorik bilginin bilgisayar teknolojisi ile görselleştirilmesinin önemi giderek artmakta ve popülerliğini korumaktadır. Eğriler ve yüzeylerin bilgisayar sistemlerinde çizdirilebilmesinde en önemli öncüllerinden biri Bézier eğrileridir. Bu tezin amacı, Bilgisayar Destekli Geometrik Tasarım (BDGT)'da sıklıkla kullanılan Bézier eğrilerini teorik olarak araştırmak; açık kaynak ve öğrenmesi daha kolay ve esnek olan ve bu sebeplerden yapay zekâ alanında en çok tercih edilen dillerden biri olan Python 3.10 bilgisayar programlama dilinde Bézier eğrilerinin uygulamalarını sunmaktır. Yapılan uygulamalardan bazıları yapay zekânın alt dalı olarak bilinen Makine Öğrenmesi (MÖ) uygulamaları eğri uydurma (curve fitting) yöntemi ile ilgili olacaktır. Tez beş bölümden oluşmaktadır: Birinci bölümde; makine öğrenmesi (MÖ) ve Bézier eğrileri hakkında okuyucuyu motive edici bilgiler verilmiştir. İkinci bölümde; tezin geriye kalan kısmında kullanılacak olan Öklid uzayı, Minkowski uzayı ve Bézier eğrileri ile ilgili temel tanım ve teoremlere yer verilmiştir. Ayrıca temel Bézier eğrilerinin ve bazı örneklerinin grafiklerinin Python 3.10 bilgisayar programlama dilinde grafikleri çizdirilerek kullanılan kodlar tez sonunda ek olarak sunulmuştur. Üçüncü ve dördüncü bölümlerde ise üç boyutlu Minkowski uzayında Bézier eğrilerinin Serret-Frenet çatılarıyla ilgili ispatlara ve bunlarla ilgili örneklere yer verilmiştir. Beşinci bölümde ise dört adet farklı kontrol noktasına sahip Bézier eğrilerinin kontrol noktaları değiştirilerek elde edilen ve verilen parametre aralığındaki artış miktarı değiştirilerek oluşan görüntülerdeki farklılıklar Python 3.10 (64 bit) bilgisayar programlama dilinde çizdirilerek incelenmiştir.

Abstract:
With the development of Computer Aided Design (CAD), the importance of visualizing theoretical knowledge with computer technology is increasing and it maintains its popularity. One of the most important pioneer tools to draw curves and surfaces on computer systems is Bézier curves. The aim of this thesis is to theoretically investigate Bézier curves, which are frequently used in Computer Aided Geometric Design (CAGD), and to implement Bézier curves in the computer programming language Python 3.10, which is one of the most preferred languages in the field of Artificial Intelligence (AI) thanks to flexibility of its codes and, also being open source. Some of the presented applications are related to the curve fitting method of Machine Learning (ML) applications, known as the sub-branch of Artificial Intelligence (AI). The thesis consists of five chapters: In the first part of the thesis, motivating information is given to the reader about Machine Learning (ML) and Bézier curves. In the second chapter, basic definitions and theorems about Euclidean space, Minkowski space and Bézier curves, which will be used in the rest of the thesis, are given. In addition, the graphs of basic Bézier curves and some of their examples are plotted employing computer programming language Python 3.10 and their codes are given as an appendix at the end of the thesis. In the third and fourth chapters, proofs of Serret-Frenet frameworks of Bézier curves in three-dimensional Minkowski space and examples are presented. In the fifth chapter, the image obtained by changing the control points of Bézier curves with four different control points and the differences in the images obtained by changing the amount of increase in the given parameter range are examined drawing them in the computer programming language Python 3.10 (64 bit).