Çox toxunuşlu jestlərin təsnifatı
Touch-screen əsaslı interfeyslərin yaranması ilə proqram təminatı dizaynerləri barmaq jestləri ilə kompüter idarəetməsini yenidən düşünməli oldular. Jestlərin təfsirində əsas məsələ toxunuşları bir neçə mümkün jestdən birinə təsnif etməkdir. Bu, çətin ola bilər, çünki toxunuşlar əslində ekranda piksellərin ləkələridir (unikal nöqtələr deyil) və jestlər hərəkəti əhatə edir.
Biz toxunuşu əlaqəli piksel dəsti kimi müəyyən edirik. Piksel cütü eyni toxunuşun bir hissəsidir, əgər onlar üfüqi və ya şaquli olaraq bitişikdirlərsə. Toxunuş nöqtəsi toxunuşun mövqeyidir və bu, dəstdə olan bütün piksellərin orta yerləşməsi kimi müəyyən edilir.
Qavrama bir görüntü üçün bütün toxunuş nöqtələrinin dəstidir. Qavrama nöqtəsi qavramadakı bütün toxunuş nöqtələrinin orta yerləşməsidir. Hər bir toxunuş nöqtəsi üçün onun toxunuş vektorunu qavrama nöqtəsindən toxunuş nöqtəsinə olan vektor kimi müəyyən edirik. Jest iki qavramanın (başlanğıc və son) cütüdür və hər iki qavramada eyni sayda toxunuş var. Başlanğıc və son qavramadakı toxunuşlar arasında bir-birinə uyğunluq var. Uyğunluq, uyğun toxunuş nöqtələri arasındakı kvadrat məsafələrin cəmi minimum olacaq şəkildə seçilir.
Üç növ jest var: sürüşdürmə, böyütmə və fırlatma. Hər növ ilə əlaqəli bir məsafə var. Sürüşdürmə məsafəsi iki qavrama nöqtəsi arasında ölçülür. Qavrama yayılması hər bir toxunuş nöqtəsi ilə qavrama nöqtəsi arasındakı orta məsafədir. Böyütmə məsafəsi iki qavrama yayılması arasındakı fərqdir. Toxunuş fırlanması uyğun toxunuş nöqtələri üçün iki toxunuş vektoru arasındakı imzalı bucaqdır (əgər hər hansı toxunuş vektorunun uzunluğu sıfırdırsa, bu sıfırdır). Qavrama fırlanması orta toxunuş fırlanmasıdır. Fırlatma məsafəsi başlanğıc qavramanın qavrama yayılmasına bərabər radiuslu dairə boyunca qavrama fırlanmasının qövs uzunluğudur.
Jestləri sürüşdürmə, böyütmə və ya fırlatma olaraq təsnif etməlisiniz. Ən böyük əlaqəli məsafəyə malik olanı seçin.
Giriş verilənləri
Giriş yan-yana verilmiş bir cüt şəkildən ibarətdir. Hər iki şəkil 15×30 pikseldir və hər sətirdə iki şəkli ayıran bir boşluq olacaq. Hər bir şəkil toxunuş piksellərini təmsil etmək üçün X istifadə edir və toxunuş olmadığını göstərmək üçün nöqtə (.) istifadə edir. Hər iki şəkildə 1 ilə 5 arasında toxunuş var.
Çıxış verilənləri
Toxunuşların sayını və jestin növünü (sürüşdürmə, böyütmə və ya fırlatma) və böyütmə və ya fırlatma üçün jestin istiqamətini çap edin. Əgər son qavramanın qavrama yayılması başlanğıc qavramanın yayılmasından kiçikdirsə, böyütmənin istiqaməti içəri, əks halda çölədir. Fırlatmanın istiqaməti isə ya sağa ya da soladır. Çıxışa təsir edən bütün məsafə müqayisələri 10^{−5} sayısal xətaya qarşı dayanıqlı olacaq.