Кіріспе

Компьютерлік графика

Компьютерлік графикада, "тасбақа" графикасы – карталық жазықтықта (x және y осі) салыстырмалы курсорды ("тасбақа") пайдаланатын векторлық графика. "Тасбақа" графикасы – Logo бағдарламалау тілінің маңызды мүмкіндігі.

Шолу

Қайыңның үш қасиеті бар: орналасуы, бағыты (немесе бағдарлауы) және қалам. Қаламның да қасиеттері бар: түсі, ені және қосу/өшіру күйі (төмен және жоғары деп те аталады). Қайың өзінің орнына қатысты "10 бірлікке алға жылжу" және "90 градусқа солға бұрылу" сияқты командалармен қозғалады. Қайыңмен бірге жүретін қаламды да басқаруға болады, оны қосу арқылы, түсін немесе енін орнату арқылы. Оқушы, егер өзінің орнында болса, қайыңның қозғалысын түсіне алады (алдын ала болжап, себептерін анықтай алады). Сеймур Паперт мұны "денеге үйлесімді" ойлау деп атады. Толық қайың графикалық жүйе бақылау ағыны, процедуралар және рекурсияны талап етеді: көптеген қайың сурет салу бағдарламалары толық емес. Осы құрылыс бөліктерінен шаршы, үшбұрыш, шеңбер және басқа да күрделі пішіндерді құруға болады. Мысалы, қайың графикасының идеясы фракталдарды жасау үшін Линденмайер жүйесінде пайдалы. Қайың геометриясы кейде графикалық ортада қатаң координаттық жүйеге балама ретінде қолданылады.

Тарих

Тортқа графикалық мүмкіндіктері көбінесе Logo бағдарламалау тілімен байланысты. Сеймур Паперт 1960 жылдардың аяғында Logo-ға тасбақа графикалық қолдауын қосты, бұл оның тасбақа роботының нұсқасын қолдау үшін жасалған, ол пайдаланушының жұмыс станциясынан басқарылатын қарапайым робот, роботтың денесіне орнатылған немесе бекітілген кішкентай қайтарылатын қалам арқылы оған берілген сурет салу функцияларын орындауға арналған. Тасбақа геометриясы (x,y) координаттық жүйедегі картезиандық геометриядан біршама өзгеше жұмыс істейді, өйткені ол негізінен векторлық (яғни бастапқы нүктеден салыстырмалы бағыт және қашықтық) болып табылады, ал бит карталары немесе растрлық графика сияқты координаттарға негізделген жүйелермен салыстырғанда. Іс жүзінде, дәстүрлі модельдің орнына тасбақа геометриясын қолдану тасбақа роботының нақты қозғалыс логикасын имитациялайды. Тасбақа дәстүрлі түрде және көбінесе үшбұрыш немесе тасбақа белгішесі ретінде бейнеленеді (бірақ оны кез келген белгішемен бейнелеуге болады). Бүгінде Python бағдарламалау тілінің стандартты кітапханасына Turtle графикалық модулі кіреді. Logo-ның алдыңғы нұсқасы сияқты, Python-дағы тасбақаны іске асыру бағдарламашыларға екі өлшемді кеңістікте бір немесе бірнеше тасбақаларды басқаруға мүмкіндік береді. Стандартты Python синтаксисі, басқару ағыны және деректер құрылымдарын тасбақа модулімен бірге қолдануға болатындықтан, тасбақа Python тілін үйренетін бағдарламашылар үшін тілдің негіздерімен танысудың танымал тәсіліне айналды.

Үш өлшемді кеңейту

Құба графигінің идеяларын үш өлшемді кеңістікке кеңейтуге болады. Бұл бірнеше координаттық модельдердің бірін пайдалану арқылы жүзеге асырылады. Көп қолданылатын түрі – түпнұсқа 2D құбасындағыдай картезиялық айналу: құбаның 2D "алға" векторы айналатын жазықтықты таңдау үшін қосымша "жоғары" вектор (нормаль вектор) анықталады; "жоғары" вектордың өзі де "алға" вектордың айналасында айналады. Нәтижесінде, құбаның екі түрлі бағыт бұрышы болады – біреуі жазықтықта, екіншісі жазықтықтың бұрышын анықтайды. Әдетте, жазықтықтың бұрышын өзгерту құбаны қозғалтпайды, бұл дәстүрлі орнатуға сәйкес келеді. Verhoeff 2010 екі векторлық тәсілді іске асырады; "жоғары" векторды "алға" вектордың айналасында айналдыру үшін "роль" командасы қолданылады. Мақала геометриялық қасиеттерді негізгі құба бағдарламаларының синтаксистік қасиеттерінен дәлелдеу үшін алгебралық теорияны әзірлеуге кіріседі. Бір түсінік – "суға түсу" командасы, шындығында, "бұрылу-роль-бұрылу" тізбегінің қысқартылған түрі. Cheloniidae Turtle Graphics – Java үшін 3D құба кітапханасы. Оның "Айналмалы Картезиялық Құбасында" банк командасы (роль сияқты) және питч командасы (суға түсу сияқты) бар. Басқа координаттық модельдерге, соның ішінде Евклид емес геометрияға да рұқсат етіледі, бірақ олар кіргізілмеген.