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

AdTürAçıklama
valuessayı[](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.  

AdTürAçıklama
matrixMatrix
Ç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
AdTürAçıklama
matrixMatrixÖ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
AdTürAçıklama
matMatrixKarşı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.

AdTürAçıklama
anglesayı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.

AdTürAçıklama
xsayıYatay ölçek faktörü.
ysayı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.

AdTürAçı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
AdTürAçıklama
pointPointDö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
AdTürAçıklama
rectRect
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 
AdTürAçıklama
dxsayıX ekseni boyunca sağa doğru hareket miktarı.
dysayıY ekseni boyunca aşağı doğru hareket miktarı.

Bu çalışma Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License kapsamında lisanslanmıştır  Creative Commons şartları, Twitter™ ve Facebook sitelerinde paylaşılanları kapsamaz.

Yasal Uyarılar   |   Çevrimiçi Gizlilik İlkesi