Matrix

Açıklama

Matrix sınıfı bir koordinat alanından diğerine noktaların nasıl eşleneceğini belirleyen bir dönüştürme matrisini temsil eder.

Bir görüntüleme nesnesinde çeşitli grafik dönüştürmelerini şu şekilde gerçekleştirebilirsiniz:

  • Bir Matrix nesnesinin özelliklerini ayarlayın
  • Bu Matrix nesnesini bir Transform nesnesinin matris özelliğine uygulayın.
  • Transform nesnesini görüntüleme nesnesinin dönüştürme özelliği olarak uygulayın.

Bu dönüştürme işlevleri çevirmeyi (x ve y yeniden konumlandırması), döndürmeyi ve ölçeklemeyi içerir.

Dönüştürme Matrisleri

Bu tür dönüştürmeler birlikte ilişkili dönüştürme olarak bilinir. İlişkili dönüştürmeler, dönüştürme esnasında paralel satırlar paralel kalacak şekilde satırların düzgünlüğünü korur.

Bir dönüştürme matris nesnesi, şu içerikleri barındıran bir 3 x 3 matristir:

| a c tx |
| b d ty |
| u v w  |

Geleneksel dönüştürme matrislerinde u, v ve w özellikleri ekstra özellikler sağlar. Matrix sınıfı yalnızca iki boyutlu alanda çalışır. Bu nedenle u ve v özellik değerlerinin her zaman 0.0 olduğunu, w özellik değerinin ise 1.0 olduğunu varsayar. Matrisin etkili değerleri şu şekildedir:

| a c tx |
| b d ty |
| 0 0 1  |

Sözdizimi

new flwebgl.geom.Matrix(values)

Parametreler

Ad Tür Açıklama
values sayı[] (isteğe bağlı) Matris değerlerini [a b c d tx ty] formatında tanımlayan bir dizidir. Belirtilmediyse matris kimlik olarak ayarlanır.

Yöntemler

clone()

Açıklama

    Bu yöntem Matrix örneğinin bir kopyasını döndürür.

Şunu Döndürür:

  • Matrix örneğinin kopyası.
  • Tür - Matris 

concat(matrix)

Açıklama

    Bu yöntem, sağlanan matrisle geçerli matrisin geometrik efektlerini etkili bir şekilde bir araya getirerek iki matrisi birleştirir.

Parametreler

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 

Örnek

Bu örnekte bir dönme matrisi ile ölçekleme matrisi birleştirilir.  

Ad Tür Açıklama
matrix Matrix
Çarpılacak matris
var m1 = new flwebgl.geom.Matrix();
m1.rotate(45 * Math.PI / 180);

var m2 = new flwebgl.geom.Matrix();
m2.scale(2, 2);

m1.concat(m2);

copy(matrix)

Açıklama

    Bu yöntem, belirtilen matrisi bu matrise kopyalar.

Parametreler

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris
Ad Tür Açıklama
matrix Matrix Özelliklerin kopyalanacağı matris

equals(mat)

Açıklama

    Bu yöntem, belirtilen matrisin bu örnekteki değerlerin aynısına sahip olup olmadığını kontrol eder.

Parametreler

Şunu Döndürür:

  • Tür - boolean
Ad Tür Açıklama
mat Matrix Karşılaştırılacak matris

getValues()

Açıklama

    Bu yöntem, matristeki öğelerin değerlerini döndürür.

Şunu Döndürür:

  • Matris değerlerini [a b c d tx ty] formatında tanımlayan bir dizidir
  • Tür -  sayı[]

Örnek

Bu örnek, matris değerlerini alır ve bunu bir 0.5 faktörü ile eğriltilecek şekilde değiştirir.

var m = new flwebgl.geom.Matrix();
var arr = m.getValues();
arr[1] = 0.5;
m.setValues(arr);

identity()

Açıklama

    Bu yöntem matrisi bir Kimlik Matrisine ayarlar.

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 

invert()

Açıklama

    Bu yöntem In effect matrisini ters çevirir, ters çevrilen matris ters dönüştürmeyi uygular.

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 

isIdentity()

Açıklama

    Matris bir kimlik matrisi ise bu yöntem 'true' değerini gösterir.

Şunu Döndürür:

  • Tür - boolean

rotate(angle)

Açıklama

    Bu yöntem matrise bir dönüş dönüştürmesi uygular.

Parametreler

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 

Örnek

Bu örnek, kimlik matrisi için başlatılan yeni bir Matris örneği oluşturur ve bunu 45 derece döndürür.

Ad Tür Açıklama
angle sayı Radyandaki açı. Derece kullanmak için Math.PI/180 ile çarpın.
var m = new flwebgl.geom.Matrix();
m.rotate(45 * Math.PI / 180);

scale(x, y)

Açıklama

    Bu yöntem matrise bir ölçek dönüştürmesi uygular.

Parametreler

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 

Örnek

Bu örnek, kimlik matrisi için başlatılan yeni bir Matris örneği oluşturur ve bunu hem yatay hem de dikey olarak 2 faktör kadar ölçekler.

Ad Tür Açıklama
x sayı Yatay ölçek faktörü.
y sayı Dikey ölçek faktörü.
var m = new flwebgl.geom.Matrix();
m.scale(2, 2);

setValues(values)

Açıklama

    Bu yöntem matris öğelerinin değerlerini ayarlar.

Parametreler

Örnek

getValues() işlevinin altındaki örneğe bakın.

Ad Tür Açıklama
values
sayı[] Matris değerlerini [a b c d tx ty] formatında tanımlayan bir dizidir.

transformPoint(point)

Açıklama

    Bu yöntem, bir noktayı bu matrise göre dönüştürür.

Parametreler

Şunu Döndürür:

  • Dönüştürülen nokta.
  • Tür - Nokta
Ad Tür Açıklama
point Point Dönüştürülecek nokta.

transformRect(rect)

Açıklama

    Bu yöntem, rect'in dört noktasının tümünü bu matrise göre dönüştürür.

Parametreler

Şunu Döndürür:

  • Dönüştürülen Rect.
  • Tür - Rect
Ad Tür Açıklama
rect Rect
Dönüştürülecek rect.

translate(dx, dy)

Açıklama

    Bu yöntem, x ve y eksenlerinde matrisi çevirir.

Parametreler

Şunu Döndürür:

  • Bu matris. Yöntem çağrılarını zincirlemek için kullanışlıdır.
  • Tür - Matris 
Ad Tür Açıklama
dx sayı X ekseni boyunca sağa doğru hareket miktarı.
dy sayı Y ekseni boyunca aşağı doğru hareket miktarı.
Adobe logosu

Hesabınıza giriş yapın