1 00:00:01,525 --> 00:00:03,217 დავუბრუნდეთ ვინსტონს. 2 00:00:03,217 --> 00:00:08,539 ახლა უკვე ორივე, x და y კოორდინატები გვაქვს ვინსტონის მდებარეობისთვის. 3 00:00:08,539 --> 00:00:14,446 ახლა უკვე შეგვიძლია ვინსტონი ზემოთ-ქვემოთ ვახტუნაოთ 4 00:00:14,446 --> 00:00:15,980 ძალიან კარგი. 5 00:00:15,980 --> 00:00:19,235 ვნახოთ რას აკეთებს ეს კოდი სანამ განვაგრძობთ. 6 00:00:19,235 --> 00:00:21,908 თავში გვაქვს x და y ცვლადები, 7 00:00:21,909 --> 00:00:25,252 რომლებიც ვინსტონის ცენტრის მდებარეობას ინახავენ, 8 00:00:25,252 --> 00:00:29,660 რასაც ამ ხაზში, ელიფსის დახატვისას ვიყენებთ. 9 00:00:29,660 --> 00:00:34,324 შემდეგ, ვათავსებთ თვალებსა და პირს სახის ცენტრის მიხედვით. 10 00:00:34,324 --> 00:00:39,295 ვაკლებთ ან ვუმატებთ x-ს და y-ს, რათა დავრწმუნდეთ, 11 00:00:39,295 --> 00:00:43,502 რომ თვალები ნამდვილად 50 და 100 პიქსელითაა დაშორებული. 12 00:00:43,502 --> 00:00:49,232 მაგალითად, პირი სახის ცენტრიდან 50 პიქსელით მარჯვნივაა 13 00:00:49,232 --> 00:00:55,752 და ისევ სახის ცენტრიდან 40 პიქსელით ქვევით. 14 00:00:55,752 --> 00:01:00,131 ვნახოთ კიდევ რისი შენახვა შეგვიძლია ცვლადების სახით. 15 00:01:00,131 --> 00:01:03,487 ამისთვის, კოდის თითოეულ ხაზს გავარჩევ 16 00:01:03,487 --> 00:01:07,921 და მოვძებნი ეგრეთ წოდებულ "მყარად კოდირებულ" რიცხვებს. 17 00:01:07,921 --> 00:01:11,205 ეს უბრალოდ რიცხვებია. 18 00:01:11,205 --> 00:01:14,928 არც ცვლადები არიან, არც მათზე დამოკიდებული. 19 00:01:14,928 --> 00:01:18,272 ვნახოთ, აქ ელიფსის გამოძახებისას, 20 00:01:18,272 --> 00:01:22,750 სიგრძე და სიგანე 300 და 300 გვაქვს. 21 00:01:22,750 --> 00:01:26,590 ამის მაგივრად შეგვიძლია შევქმნათ ცვლადი faceSize. 22 00:01:26,605 --> 00:01:32,743 ესეიგი faceSize = 300. ახლა შეგვიძლია faceSize აქ ჩავსვათ 23 00:01:32,743 --> 00:01:37,211 და ის მნიშვნელობად 300-ს გადასცემს. 24 00:01:37,211 --> 00:01:41,606 ძალიან კარგი, განვაგრძოთ. 25 00:01:41,606 --> 00:01:45,297 აქ ყველაფერი იყენებს ან x-ს, ან y-ს, ან faceSize-ს, 26 00:01:45,297 --> 00:01:51,167 თუმცა, აქ პირისთვის ისევ 150 გვაქვს სიგრძისთვისაც და სიგანისთვისაც. 27 00:01:51,167 --> 00:01:56,656 შეგვიძლია შევქმნათ ცვლადი mouthSize და გავუტოლოთ 150-ს. 28 00:01:56,656 --> 00:02:01,538 ესეიგი აქ mouthSize-ს ჩავწერთ, რომელიც 150-ს გადასცემს მნიშვნელობად, 29 00:02:01,538 --> 00:02:04,635 რადგან ცვლადი ახლა ამას უდრის. 30 00:02:04,635 --> 00:02:11,070 რადგან ასე მოვიქეცით, ახლა მარტივად შეგვიძლია შევცვალოთ faceSize, 31 00:02:11,070 --> 00:02:16,697 ასევე მარტივად შეიცვლება mouthSize, შეგვიძლია ასე ვამოძრავოთ 32 00:02:16,697 --> 00:02:19,159 და ცხადია, შეგვიძლია ისევ ვცვალოთ eyeSize. 33 00:02:19,159 --> 00:02:20,607 ძალიან კარგი. 34 00:02:20,607 --> 00:02:29,046 მაგრამ აქ რაღაც არ მომწონს. faceSize-ს ცვლილებისას, 35 00:02:29,046 --> 00:02:33,761 მინდა ყველაფერი faceSize-ს მიხედვით იცვლებოდეს, 36 00:02:33,761 --> 00:02:41,012 თუ სახე ასე დავაპატარავე, მინდა თვალები და პირიც ასევე დაპატარავდეს. 37 00:02:41,012 --> 00:02:44,638 თუ faceSize გავანახევრე, 38 00:02:44,638 --> 00:02:48,132 თვალებისა და პირის ზომებიც უნდა განახევრდეს. 39 00:02:48,132 --> 00:02:50,074 სხვამხრივ, სასაცილო სურათს მივიღებთ, 40 00:02:50,074 --> 00:02:53,493 რადგან თვალები და პირი ასეთი სახისთვის ზედმეტად დიდია, 41 00:02:53,493 --> 00:02:55,936 ერთმანეთთან დაკავშირებულიც აღარ არიან. 42 00:02:55,936 --> 00:03:06,185 ესეიგი გვინდა როგორმე mouthSize და eyeSize დამოკიდებული გავხადოთ faceSize-ზე. 43 00:03:06,185 --> 00:03:09,194 დავუბრუნოთ საწყის მდგომარეობას. 44 00:03:09,194 --> 00:03:11,072 ამისი გაკეთება ასე შეგვიძლია: 45 00:03:11,072 --> 00:03:16,586 ეს ცვლადები faceSize-დან უნდა გამომდინარეობდეს, 46 00:03:16,586 --> 00:03:22,015 ანუ, მაგალითად შეგვიძლია დავწეროთ: mouthSize = faceSize/2; 47 00:03:22,015 --> 00:03:24,025 ანუ ვიყენებთ სახის ზომის ნაწილს. 48 00:03:24,025 --> 00:03:27,998 მივუთითებთ, რომ ამ ზომის ნახევარი აიღოს -- 49 00:03:27,998 --> 00:03:29,957 -- თუ წილადები თქვენთვის უცხოა, 50 00:03:29,957 --> 00:03:36,236 Khan Academy-ზე უამრავი ვიდეოა, რომელიც გიჩვენებთ თუ რა არის წილადები -- 51 00:03:36,236 --> 00:03:40,770 ახლა eyeSize შევცვალოთ. eyeSize დაახლოებით faceSize/4 არის. 52 00:03:40,770 --> 00:03:43,572 იდეალური არაა, მაგრამ საკმაოდ კარგია. 53 00:03:43,572 --> 00:03:46,869 -- შვიდი იყოს.. ასე ჯობს -- 54 00:03:46,869 --> 00:03:50,850 თუ თავიდან წილადი შეგეშალათ, შეგიძლიათ მოგვიანებით შეასწოროთ. 55 00:03:50,850 --> 00:03:54,133 ითამაშეთ ამ რიცხვით სანამ რამე კარგად არ გამოვა. 56 00:03:54,133 --> 00:03:58,464 თუ ახლა სახის ზომებს შევცვლით, 57 00:03:58,464 --> 00:04:02,744 თვალებიც და პირიც მასთან ერთად შეიცვლება ზომაში. 58 00:04:02,744 --> 00:04:04,490 ძალიან მაგარია.. 59 00:04:04,490 --> 00:04:06,803 მაგრამ რაღაც მაინც არასწორია. 60 00:04:06,803 --> 00:04:12,937 როცა ზომები ძალიან მცირდება, თვალები და პირი შორდება სახეს. 61 00:04:12,937 --> 00:04:18,119 ზომები სწორადაა, მაგრამ პრობლემაა დაშორება სახიდან. 62 00:04:18,119 --> 00:04:21,312 აქ ასეთი რამ ხდება, 63 00:04:21,312 --> 00:04:24,714 ელიფსებისთვის მდებარეობების მინიჭებისას, 64 00:04:24,714 --> 00:04:31,683 გვაქვს x - 50 და y - 50 და შემდეგ x + 100 და y - 60, 65 00:04:31,683 --> 00:04:35,931 ესეიგი სახის ზომა 50 პიქსელიც რომ იყოს, 66 00:04:35,931 --> 00:04:41,076 თვალი მაინც 50 პიქსელით მარცხნივ იქნება ცენტრიდან, 67 00:04:41,076 --> 00:04:43,741 რაც გამოიწვევს მის სახიდან მოშორებას. 68 00:04:43,741 --> 00:04:51,549 ესეიგი გვჭირდება რომ 50-ის და 100-ის ნაცვლადაც faceSize-ს ნაწილები გვქონდეს. 69 00:04:51,549 --> 00:04:56,282 მაშინ, როცა faceSize შეიცვლება, ის თავისმხრივ შეცვლის 70 00:04:56,282 --> 00:05:02,352 პირისა და თვალების დაშორებას სახის ცენტრიდან. 71 00:05:02,352 --> 00:05:05,209 მარცხენა თვალის მაგალითზე გიჩვენებთ რას ვგულისხმობ. 72 00:05:05,209 --> 00:05:12,776 x მინუს 50 პიქსელი ნიშნავს სახის ცენტრიდან 50 პიქსელით მარცნივ ყოფნას. 73 00:05:12,776 --> 00:05:19,889 ჩვენ წილადის გამოყენება გვინდა, ამიტომ მოდით ავიღოთ faceSize/6. 74 00:05:19,889 --> 00:05:22,998 ანუ სახის ზომის მეექვსედი. 75 00:05:22,998 --> 00:05:29,526 ძალიან კარგი, 50-იც შევცვალოთ faceSize/6-ით. 76 00:05:29,526 --> 00:05:31,932 ახლა თუ შევცვლით ზომებს, 77 00:05:31,932 --> 00:05:35,907 მარცხენა თვალი კარგად იქნება მოთავსებული. 78 00:05:35,907 --> 00:05:38,898 -- მშვენიერი, თვალია ვინსტონ! მშვენიერი თვალი.. -- 79 00:05:38,898 --> 00:05:41,324 მეორე თვალსაც სჭირდება ცოტა დახმარება. 80 00:05:41,324 --> 00:05:48,287 100-ის მაგივრად დავწეროთ faceSize/3, ანუ სახის ზომის მესამედი, 81 00:05:48,287 --> 00:05:54,047 60-ს ადგილას კი იყოს სახის ზომის მეხუთედი, ანუ faceSize/5. 82 00:05:54,047 --> 00:05:57,187 ძალიან კარგი, შევცვალოთ ზომა... მშვენიერია. 83 00:05:57,187 --> 00:06:00,325 ახლა მხოლოდ პირთან გვაქვს პრობლემა. 84 00:06:00,325 --> 00:06:02,305 გადავიდეთ პირზე. 85 00:06:02,305 --> 00:06:11,325 ეს დაახლოებით faceSize/6 იქნება, ეს კი faceSize/7 იყოს. 86 00:06:11,325 --> 00:06:15,561 კარგი, ახლა ყველაფერი პროპორციულადაა. შევამოწმოთ. 87 00:06:15,561 --> 00:06:19,152 ახლა შეგვიძლია ვინსტონი ძალიან პატარა გავხადოთ, 88 00:06:19,152 --> 00:06:23,127 თვალები და პირი კი მაინც მის სახეზე დარჩება! 89 00:06:23,127 --> 00:06:28,038 დარწმუნებული ვარ ვინსტონი ამით ძალიან ბედნიერი უნდა იყოს. 90 00:06:28,038 --> 00:06:31,376 გავიმეოროთ რა გავაკეთეთ. 91 00:06:31,376 --> 00:06:33,242 თავიდან, გვაქვს გარკვეული ცვლადები. 92 00:06:33,242 --> 00:06:37,241 ვიწყებთ ცვლადით, რომელიც უბრალოდ რიცხვ 200-ს ინახავს. 93 00:06:37,241 --> 00:06:39,996 შემდეგ ვქმნით mouthSize და eyeSize ცვლადებს 94 00:06:39,996 --> 00:06:43,347 და ვხდით მათ ზემოთა რიცხვზე დამოკიდებულს. 95 00:06:43,347 --> 00:06:45,910 ანუ, თუ მაგალითად faceSize არის 200, 96 00:06:45,910 --> 00:06:47,842 mouthSize იქნება 100, 97 00:06:47,842 --> 00:06:50,429 მაგრამ თუ faceSize 300 გახდა, 98 00:06:50,429 --> 00:06:53,733 mouthSize უცებ 150 გახდება. 99 00:06:53,733 --> 00:06:56,647 ესეიგი ყველაფერი პროპორციულად იცვლება. 100 00:06:56,647 --> 00:06:59,623 შემდეგ, ქვემოთ, ვითვლით თუ როგორი უნდა იყოს დაშორებები, 101 00:06:59,623 --> 00:07:01,269 რისთვისაც ისევ წილადებს ვიყენებთ, 102 00:07:01,269 --> 00:07:08,585 რადგან გვინდა, რომ დაშორებებიც სახის ზომის პროპორციულად იცვლებოდეს. 103 00:07:08,585 --> 00:07:14,981 ფაქტობრივად, გვინდა რომ მხოლოდ ამ ერთ ცვლადს ჰქონდეს გავლენა ყველაფერზე. 104 00:07:14,981 --> 00:07:19,889 ასეთი რაღაცების კეთება ცვალდებიან გამოსახულებებში შეგვიძლია. 105 00:07:19,889 --> 00:07:24,156 რადგან გავიგეთ თუ როგორ შეიძლება ცვლადები სხვა ცვლადებზე იყონ დამოკიდებული, 106 00:07:24,156 --> 00:07:26,433 ძალიან ბევრი რამ შეგვიძლია ჩვენს პროგრამებში. 107 00:07:26,433 --> 00:07:30,469 მოდით აღვნიშნოთ და ვინსტონი ძალიან გავზარდოთ!