quaternion



əjdaha lazımdı   izləmə   lələ   mən   googllalink

    1. kompleks ədədlər bəs deyilmiş kimi birdə quaternionlar çıxdı başımıza. deməli xx=-1 tənliyinin həqiqi ədədlər çoxluğunda həlli olmadığından yeni ədədə ehtiyac duyulur. hansı ki həmin ədədin kvadratı -1 edir. belə bir ədəd həqiqətən olmadığı üçün sadəcə xəyal edə bilirik. elə sırf buna görə ingiliscə imaginary sözünün baş hərfi ilə işarə olunur bu ədəd. və həqiqi ədədlərlə birgə bu ədəd kompleks ədədlər çoxluğunu yaradır.

    irland riyaziyyatçısı hamiltona i ədədi bəs etmir və i ədədindən əlavə 2 yeni ədəd yaradır. adları uyğun olaraq j və k. daha sonra

    ii = jj = kk = ijk = -1

    bərabərliyini doğru sayaraq,

    ij = k
    ji = −k
    ij = −ji

    kimi bərabərlikləri əldə edir. bu bərabərlikləri hər tərəfi k və j'yə vuraraq əldə edir, daha ətraflı yazmayacam. diqqət yetirdinizsə i vuraq j, k edir, amma j vuraq i, mənfi k edir. bu tip əməllərə kommutativ olmayan əməl deyirlər. məsələn toplama əməli kommutativdir, çünki toplananların yeri dəyişdikdə cəm dəyişmir. eynilə hasildə kommutativdir, vuruqların yeri dəyişdikdə hasil dəyişmir. amma fərq kommutativ deyil.

    a+b = b+a (kommutativ)
    ab = ba (kommutativ)
    a-b != b-a (kommutativ olmayan)

    i,j,k ədədləri vurma zamanı bu şərti ödəmir. quaternion aşağıdakı kimi göstərilir.

    a + bi + cj + dk

    burada a,b,c,d həqiqi ədədlərdir, i,j,k isə fundamental quaternion vahidləridir.

    quaternionlar tətbiqi riyaziyyatda çox geniş istifadə olunur. məsələn quaternionlar olmasaydı 3D animasiya filmləri, 3D video oyunları zad olmazdı. yəni oynadığımız gta5 oyunu üçün quaternionu 1843'də kəşf edən hamilton'a təşəkkür etməliyik.

    3D komputer qrafikasında fəzadakı cisimlərim fırlanmasını (rotation) hesablamaq üçün quaternionlardan istifadə olunur. kompleks ədədlərlə isə 2D müstəvidə fırlanmanı hesablayırlar. quaternion qəliz olduğundan kompleks ədədlər ilə Z oxu ətrafında alfa bucağı qədər fırlatmanı deyəcəm.

    tutaq ki A(1,1) vektoru verilib, və deyilirki bu vektoru 45 dərəcə saat əqrəbinin əksi istiqamətində fırladın.

    bildiyimiz kimi kompleks ədədin triqonometrik yazılışı aşağıdakı kimidir.

    z=R(cosa+isina)

    burada R kompleks ədədin uzunluğu, a (alfa) isə onun bucğıdır. iki fərqli kompleks ədədin hasili isə aşağıdakı kimidir.

    z=R(cosa+isina)
    p=r(cosb+isinb)
    zp=rR(cos(a+b) + isin(a+b))

    deməli iki fərqli kompleks ədədin hasili, uzunluğu onların uzunluqları hasili, və bucağı onların bucaqları cəminə bərabər olan kompleks ədəddir.

    deməli vektoru fırlatmaq üçün ilk öncə onu kompleks ədəd şəklində yazıb daha sonra verilmiş kompleks ədədlə hasilini tapmalıyıq, daha sonra yenidən vektor şəklində yazmalıyıq.

    Aşağıda A vektorunun kompleks ədəd halında yazılışı verilmişdir.

    A(1,1) = 1 + i

    bu vektoru 45 dərəcə fırlatmaq istədiyimizə görə bizə 45 dərəcəlik vahid vektor lazımdı, yəni

    B(1/sqrt(2), 1/sqrt(2)) = 1/sqrt(2) + i/sqrt(2)

    daha sonra A və B ədədlərinin hasilini tapırıq.

    AB=(1+i)(1/sqrt(2) + i/sqrt(2))
    =0+sqrt(2)*i

    alınan kompleks ədədi yenidən vektor halında yazırıq. (sərbəst hədd x, i'nin yanında olan isə y)

    C=AB=(0, sqrt(2))

    həqiqətəndə A(1,1) vektorunu 45 dərəcə fırladanda C(0, sqrt(2)) vektoru alınır.

    bəs qaqaş bunun oynadığımız gta oyununa nə dəxli var? deməli oyunda yer olan obyektlərin (məsələn maşın, ev, insan) fəzada koordinatlarından əlavə rotationları (bucaqları) saxlanılır. koordinatı saxlamaq asandı, üç ədədi (x,y,z) saxlasan kifayətdir. amma bunun fəzadakı bucağını saxlamaq üçün 4 ədədə ehtiyyac duyulur, hansıki yuxarıda quaternionun yazılışında olan 4 həqiqi ədədləri (a,b,c,d) deyirəm.

    3 ədəd ilə də rotationu saxlamaq/hesablamaq olar, amma elədə gimball lock deyilən problem çıxır. o məsələyə girmək belə istəmirəm.


sən də yaz!