If you're seeing this message, it means we're having trouble loading external resources on our website.

Եթե գտնվում ես վեբ զտիչի հետևում, խնդրում ենք համոզվել, որ *.kastatic.org և *.kasandbox.org տիրույթները հանված են արգելափակումից։

Հիմնական նյութ

Մի քանի ձևափոխություն

Այժմ, երբ արդեն դիտարկեցինք տեղափոխության հիմունքները, պտույտները և սանդղումը, արի խոսենք դրանք միասին օգտագործելու, ինչպես նաև այն բարդությունների մասին, որոնք շրջանցեցինք սկզբում:

Հերթականությունը կարևոր է

Մի քանի ձևափոխություններ անելիս դրանց հերթականությունը շատ կարևոր է: Օրինակ՝ ձևափոխությունների պտույտ–տեղափոխություն–մեծացում հերթականությունը նույն արդյունքը չի տա, ինչ որ տեղափոխություն–պտույտ–մեծացում հերթականությունը: Ահա, օրինակ, մի ծրագիր, որը ցույց է տալիս դա.
Հաջորդականությունը կախված է նրանից, թե ինչ արդյունք եսակնկալում: Կարևոր է հիշել, որ մենք շարժում ենք վանդակավոր թուղթը և ոչ թե հենց օբյեկտը, և պետք է գտնել այնպիսի հերթականություն, որը հարմար է մեզ:

Ձևափոխությունների մատրից

Ամեն անգամ պտույտ, տեղափոխություն կամ սանդղում կատարելու համար պահանջվող ինֆորմացիան կուտակվում է թվերի աղյուսակի մեջ: Այս աղյուսակը կամ մատրիցը բաղկացած է ընդամենը մի քանի տողից և սյունակներից, բայց մաթեմատիկական հրաշքների շնորհիվ այն պարունակում է ամբողջ տեղեկատվությունը, որն անհրաժեշտ է այդ գործողությունները կատարելու համար: Ահա թե ինչու pushMatrix()-ը և popMatrix()-ն ունեն այդ բառերն իրենց անվանումների մեջ:
Իսկ ի՞նչ են նշանակում անվանման մեջ առկա push և pop բառերը: Դրանք առաջացել են stack կոչվող համակարգչային հասկացությունից, որն աշխատում է ճաշարանում սկուտեղներ բաժանող զսպանակավոր սարքի նման: Երբ ինչ-որ մեկը վերադարձնում է սկուտեղը, դրա ծանրության ներքո մնացած սկուտեղները իջնում են ներքև: Իսկ երբ ինչ-որ մեկը վերցնում է ամենավերևում գտնվող սկուտեղը, ներքևիններն ինքնըստինքյան բարձրանում են վերև:
Նույն կերպ pushMatrix()-ը տեղադրում է կոորդինաատային համակարգի ներկայիս կարգավիճակը հիշողության տարածքի ամենավերևում, իսկ popMatrix()-ը հանում է այդ կարգավիճակը դուրս: Հաջորդ օրինակում pushMatrix()-ը և popMatrix()-ը օգտագործվում են, որպեսզի համոզվենք, որ ամեն անգամ նկարելիս կոորդինատային համակարգը մաքուր է: Բոլոր մյուս օրինակներում այս երկու ֆունկցիաները կանչելու անհրաժեշտություն իրականում չկար, քանի որ դրան հաջորդող ձևափոխություններ չկային: Ամեն դեպքում, սակայն, աղյուսակի կարգավիճակը պահպանելը և վերականգնելը չի խանգարում: Որպես առավել նպատակահարմար եղանակ՝ միշտ օգտագործիր այս ֆունկցիաները ձևափոխություններ կատարելիս:
Գոյություն ունի նաև resetMatrix() ֆունկցիան, որը վերադարձնում է մատրիցը իր նախնական վիճակին, որը կոչվում է «identity matrix» (մատրիցի ինքնություն), սակայն գրեթե միշտ ավելի նպատակահարմար է օգտագործել push և pop ֆունկցիաները:
Ուզո՞ւմ ես սովորել կամ վերհիշել, թե ինչպես են մատրիցներն օգտագործվում հանրահաշվի մեջ: Կարող ես անել դա «Քան» ակադեմիայում կարդալով Մատրիցներ նյութը, իսկ ավելի մանրամասն տեղեկություն կարող ես գտնել Մատրիցների երկրաչափական ձևափոխությունները բաժնում:

Այս հոդվածը Ջ. Դեվիդ Այզենբերգի 2D Transformations-ի սեղմագրված տարբերակն է, որն օգտագործվում է Creative Commons Attribution-NonCommercial-ShareAlike-ի թույլտվության ներքո:

Ուզո՞ւմ ես միանալ խոսակցությանը։

Առայժմ հրապարակումներ չկան։
Անգլերեն հասկանո՞ւմ ես: Սեղմիր այստեղ և ավելի շատ քննարկումներ կգտնես «Քան» ակադեմիայի անգլերեն կայքում: