Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İKİ BOYUTLU DÖNÜŞÜMLER

Benzer bir sunumlar


... konulu sunumlar: "İKİ BOYUTLU DÖNÜŞÜMLER"— Sunum transkripti:

1 İKİ BOYUTLU DÖNÜŞÜMLER

2 Translation (Öteleme)
y 6 5 4 3 2 1 ty tx x

3 Scaling (Ölçeklendirme)
y 6 5 4 3 2 1 x

4 Rotation (Döndürme) y 6 5 4 3 2 1 x R α β

5 Rotation (Döndürme) y 6 5 4 3 2 1 x ? α β

6 Shear (Kaykılma) y 6 5 4 3 2 1 x

7 Matris Gösterimi ve Dönüşümler (1)
Tüm dönüşüm formüllerini genel bir tek formüle dönüştürecek olursak aşağıdaki gibi ifade edebiliriz. Bu ifadeyi matris formunda yazarsak;

8 Matris Gösterimi ve Dönüşümler (2)
Kare matrislerle çalışmak her zaman daha kolay olduğundan matrisimizi kare matris formuna genişletirsek tüm dönüşüm işlemlerimizi bu kare matrisi kullanarak gerçekleştirebiliriz.

9 Matris Gösterimi ve Dönüşümler (3)
Translate Scale Rotate Shear

10 Bileşik Dönüşümler ? y x Birinci Aşama Döndürme yapmak istediğimiz
6 5 4 3 2 1 x Birinci Aşama Döndürme yapmak istediğimiz referans noktasını orjine taşırız (Translate(-4, -1)) Üçüncü Aşama Tekrar cismi eski konumuna öteliyoruz ( Translate(4,1) ) İkinci Aşama Alpha açısı kadar döndürme işlemi yapıyoruz (Rotate(α)) ? α β

11 Bileşik Dönüşümler Bileşik dönüşüm matrisleri her bir dönüşüm matrislerinin ard arda çarpılmasıyla elde edilir. Translate(4,1) Rotate(α) Translate(-4,-1)

12 3D Dönüşümler

13

14 Rotation

15 GDI+ ÖRNEK private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics; Pen p = new Pen(Color.Pink, 5); g.DrawRectangle(p, 50, 50, 100, 100); g.TranslateTransform(100, 100); g.RotateTransform(45); g.TranslateTransform(-100, -100); p.Color = Color.Blue; }

16 GDI+ ÖRNEK (2) private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen p = new Pen(Color.Pink, 5); g.DrawRectangle(p, 50, 50, 100, 100); Matrix transformMtrx = new Matrix(); transfromMtrx.Translate(50,50); transformMtrx.Scale(0.5f, 0.5f); transformMtrx.Rotate(45); transformMtrx.Translate(-50,-50); g.MultiplyTransform(transformMtrx); p.Color = Color.Blue; }

17 Java2D ÖRNEK public void paint(Graphics g){
Graphics2D g2d = (Graphics2D)g; Rectangle2D.Double rect = new Rectangle2D.Double(50,50,100,100); g2d.setColor(Color.PINK); BasicStroke bs = new BasicStroke(5); g2d.setStroke(bs); g2d.draw(rect); g2d.translate(100, 100); g2d.rotate(Math.PI/4); g2d.translate(-100,-100); g2d.setColor(Color.blue); }

18


"İKİ BOYUTLU DÖNÜŞÜMLER" indir ppt

Benzer bir sunumlar


Google Reklamları