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

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Какво представляват 3D фигурите?

Този урок е съставен от Питър Колингридж и е публикуван първоначално на неговия уебсайт.
Ако се занимаваш с програмиране тук в Кан Академия, вероятно често създаваш 2D фигури, като правоъгълници и елипси, и може би се чудиш как се правят 3D фигури, като кубове и сфери.
Библиотеката на ProcessingJS, която използваме тук, наистина не е замислена за тримерни графики, но с малко тригонометрия, можем да напишем свой собствен тримерен енджин за графики и по този начин да научим малко как работят тримерните графики (както и защо се занимаваме да учим тригонометрия, освен за да зарадваме учителите по математика!).
Ето примерна програма, която можеш да направиш самостоятелно – използвай мишката, за да завъртиш поничката:

Какво са 3D графиките?

Тъй като компютърните екрани по начало са двуизмерени, 3D графиките са просто 2D оптични илюзии, които подлъгват мозъка да мисли, че вижда 3D обект. Ето прост пример за това:
3D куб
Три успоредника, който се представят за куб
3D графиката работи, като изчислява какви двуизмерни форми би проектирал на екрана един 3D обект. Така че за да напишем наш собствен 3D енджин, ние трябва да знаем как да правим тези изчисления. Програмата ни няма да е толкова бърза, колкото най-добите 3D енджини, но ще ни помогне да разберем как работят.

Представяне на фигури

Един 3D енджин взима 3D обект и го преобразува в 2D графики, но как се представя 3D обект в код?
Една точка в 3D пространството лесно може да се представи с помощта на масив от три числа. Например можем да използваме [30, 80, 55], за да представим точка, която се намира на 30 пиксела по хоризонталата (x), 80 пиксела по вертикалата (y) и 55 пиксела по оста, която продължава извън екрана. Поиграй си с точката по-долу, като завъртиш мишката и промениш числата:
Представянето на права е също толкова лесно: просто свързваш две точки. Следователно един от начините за представянето на обект в 3D е превръщането му в група от прави. Това се нарича схематично представяне (wireframe), тъй като ясно се виждат ръбовете на обекта. Това очевидно не е идеален начин за представяне на твърди предмети, но е добра отправна точка.

Термини

По-долу са дадени някои термини, които ще използваме, когато говорим за 3D форми. На други места можете да срещнете различни термини, но тези са най-популярните.
  • Възел-"Node": точка представена от три координати, x, y и z (може да се нарече връх).
  • Ръб-"Edge": линия, свързваща две точки.
  • Лице
    • "Face": повърхност, определена от най-малко три точки.
  • Wireframe: фигура, състояща се само възли и ръбове.

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.