Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İKİ BOYUTLU DÖNÜŞÜMLER. Translation (Öteleme) y 6 5 4 3 2 1 ty tx 123456 x.

Benzer bir sunumlar


... konulu sunumlar: "İKİ BOYUTLU DÖNÜŞÜMLER. Translation (Öteleme) y 6 5 4 3 2 1 ty tx 123456 x."— Sunum transkripti:

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

2 Translation (Öteleme) y ty tx x

3 Scaling (Ölçeklendirme) y x

4 Rotation (Döndürme) y x β α R

5 y x β α ?

6 Shear (Kaykılma) y 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) TranslateScale RotateShear

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

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)Translate(-4,-1) Rotate( α )

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; g.DrawRectangle(p, 50, 50, 100, 100); }

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; g.DrawRectangle(p, 50, 50, 100, 100); }

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); g2d.draw(rect); }

18


"İKİ BOYUTLU DÖNÜŞÜMLER. Translation (Öteleme) y 6 5 4 3 2 1 ty tx 123456 x." indir ppt

Benzer bir sunumlar


Google Reklamları