Hirdetés

Aktív témák

  • 3man

    csendes tag

    A vektor osztaly legtobbszor hasznalt fuggvenyei kovetkeznek.
    Ezek a Normalize(), dot() es a cross().

    Az elso {a Normalize()} mint latszik a definiciojabol, elosztja az osszes elemet a vektor hosszaval.
    Ezzel elerheto, hogy a vektor hossza 1 legyen.
    1 dimenzioban ez trivialis. x/x=1.

    A dot mar ismeros, hiszen a Length() fuggvenyben is ez a kifejezes van a gyok alatt, csak ott a vektor onmagaval van (pont)szorozva.
    Length(f) = sqrt(f.dot(f))

    Ezt erdemes kozelebbrol is megvizsgalni, mert ez egy igazan sokmindenre hasznalhato valami .

    float3 origo=float3(0,0,0);
    float3 vecx=float3(1,0,0);
    float3 vecy=float3(0,1,0);
    float3 vec1=float3(300,200,0);
    float dx=vecx.dot(vec1);
    float dy=vecy.dot(vec1);

    linev(origo,vec1,float3(1,0,0));

    A vec1-nek(piros) ket komponenset kapom meg, ha pontszorzatat veszem az adott koordinata-tengellyel.
    Ezek skalarok, amibol a zold es a kek vektorokat ugy kapom, hogy az adott koordinata-tengely vektorat megszorzom ezzel a skalarra,

    linev(origo,vecx*dx,float3(0,1,0));
    linev(origo,vecy*dy,float3(0,0,1));

    Ezzel a ket vektorral, osszeadva oket, visszakapom az eredeti vektort.{vec1}

    float3 vec3=vecx*dx+vecy*dy;
    linev(origo,vec3,float3(1,1,0));

    Ez valojaban egy koordinata transzformacio volt.

Aktív témák