22.05.2012, 15:40
Добре дошъл/дошла,
Гост
. Моля,
въведи своето потребителско име
или
се регистрирай
.
Изгуби ли
регистрационния е-мейл?
1 Час
1 Ден
1 Седмица
1 Месец
Завинаги
Влез с потребителско име, парола и продължителност на сесията
НОВИНИ
МАГАЗИН
Начало
Помощ
Търси
Календар
Галерия
Вход
Регистрация
SetCombG.com Forum
>
SetCombG.com
>
Логически задачи
> Тема:
Геометрична 3D задача
Follow @SetCombG
Страници: [
1
]
Надолу
« назад
напред »
Изпечатай
Автор
Тема: Геометрична 3D задача (Прочетена 1632 пъти)
0 Участници и 2 Гости преглежда(т) тази тема.
Hpz
Участник
Неактивен
Публикации: 44
Геометрична 3D задача
«
-:
5.03.2011, 13:55 »
Това е един малък проблем с елементарно решение, която решавах преди повече 15 години. Тогава имаше 3d графика, но използването й беше изключително сложно.
Да си представим че имаме полигон с 4 ъгъла. Всеки от тях изобразен с координати (x,y,z). Имаме и екран - монитор. На него всичко се изобразява в двуизмерни координати (x,y). Ако екрана е с резолюция 1024x768 какви са 4-те екранни координати на (x1,y1,z1),(x2,y2,z2),(x3,y3,z3) и (x4,y4,z4)?
Активен
SetCombG.com
Геометрична 3D задача
«
-:
5.03.2011, 13:55 »
Активен
Yasen6275
Ентусиаст
Неактивен
Публикации: 310
-=Шемет=-
Re:Геометрична 3D задача
«
Отговор #1 -:
7.03.2011, 02:35 »
Така зададена задачата е леко неясна и непълна. Под полигон с 4 ъгъла какво се разбира? Произволна плоскост с 4 ъгъла? ( с други думу казанано прозиволен четириъгълник исрязан от безкрайно тънка "хартия") Или тетраедър?
И в двата случия условието е непълно. В първия ни трябва ъгъл между плоскоста на полигона и тази на екрана, а във втория ъгъл межди екрана и една от стените на тетраедара.
Та каква всъшност е задачата?
Активен
He who asks is a fool for five minutes, but he
who does not ask remains a fool forever.
Old Chinese saying
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #2 -:
7.03.2011, 08:48 »
Условието е дори по-пълно отколкото трябва.
Задачата има много ясно решение.
п.п. Направо ме хвърли в тъч с ъглите
Активен
Bibi
Форум-маниак
Фен
Пристрастен
Неактивен
Публикации: 1765
заплес
Re:Геометрична 3D задача
«
Отговор #3 -:
7.03.2011, 09:05 »
Ако не трябва да се изобразява перспективата, просто отпадат z-координатите - т.е. правим ортогонална проекция. Или пак бъркам?
Активен
http://spirov.com/oldsite/niki/cyril.html
SetCombG.com
Re:Геометрична 3D задача
«
Отговор #3 -:
7.03.2011, 09:05 »
Активен
Yasen6275
Ентусиаст
Неактивен
Публикации: 310
-=Шемет=-
Re:Геометрична 3D задача
«
Отговор #4 -:
7.03.2011, 09:49 »
Цитат на: Bibi в 7.03.2011, 09:05
Ако не трябва да се изобразява перспективата, просто отпадат z-координатите - т.е. правим ортогонална проекция. Или пак бъркам?
Ако нямаме перспектива на базата на какво твърдим че наблюдатела се намира по оста z?
А разтоянието на което се намира обекта от проекцията също ли ня ма значение?
«
Последна редакция: 7.03.2011, 16:41 от Yasen6275
»
Активен
He who asks is a fool for five minutes, but he
who does not ask remains a fool forever.
Old Chinese saying
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #5 -:
8.03.2011, 02:08 »
Цитат на: Yasen6275 в 7.03.2011, 09:49
Ако нямаме перспектива на базата на какво твърдим че наблюдатела се намира по оста z?
А разтоянието на което се намира обекта от проекцията също ли ня ма значение?
Не разбрах въпроса с проекцията. Ако говорим разстояние "въображаем 3d обект"-"проекцията му на екрана" - то няма значение и не се изчислява изобщо.
Иначе переспектива си имаме. В случия бих приел че е на L пиксела от повърхноста на монитора.
«
Последна редакция: 8.03.2011, 02:15 от Hpz
»
Активен
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #6 -:
10.03.2011, 02:36 »
Задачата е по-проста от това което изглежда.
Активен
Yasen6275
Ентусиаст
Неактивен
Публикации: 310
-=Шемет=-
Re:Геометрична 3D задача
«
Отговор #7 -:
11.03.2011, 02:01 »
1. Не уточни каква е фигурата. Паралелепипед без дебелина или тетраедър.
2. Изобразяването на какъвто и да е триизмерен обект на екран с две измерения няма как да стане без проекция. Ортогоналната проекция няма особен смисъл ако се опитваме да имитираме тризмерност. Когато се симулира триизмерност, обикновено се прави проекция на обекта върху екрана, като се свързва всяка негова точка с точка намираща се на 40-50 см от екрана, там където се намират обикновено очите на човек. Там където правите пресичат екрана се намират пикселите чийто цвят се определя от дадения обект.
3. Така както аз я разбирам задачата няма нищо общо с логическите, а си е чисто геометрична.
Активен
He who asks is a fool for five minutes, but he
who does not ask remains a fool forever.
Old Chinese saying
SetCombG.com
Re:Геометрична 3D задача
«
Отговор #7 -:
11.03.2011, 02:01 »
Активен
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #8 -:
11.03.2011, 23:25 »
Цитат на: Yasen6275 в 11.03.2011, 02:01
1. Не уточни каква е фигурата. Паралелепипед без дебелина или тетраедър.
2. Изобразяването на какъвто и да е триизмерен обект на екран с две измерения няма как да стане без проекция. Ортогоналната проекция няма особен смисъл ако се опитваме да имитираме тризмерност. Когато се симулира триизмерност, обикновено се прави проекция на обекта върху екрана, като се свързва всяка негова точка с точка намираща се на 40-50 см от екрана, там където се намират обикновено очите на човек. Там където правите пресичат екрана се намират пикселите чийто цвят се определя от дадения обект.
3. Така както аз я разбирам задачата няма нищо общо с логическите, а си е чисто геометрична.
По точка 2 си прав! По точка 3 - също - прочети заглавието на темата
Ади сега да видим можете ли да я решите, въпреки че е ясно че можете...
Активен
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #9 -:
14.03.2011, 23:15 »
Цитат на: Hpz в 5.03.2011, 13:55
Това е един малък проблем с елементарно решение, която решавах преди повече 15 години. Тогава имаше 3d графика, но използването й беше изключително сложно.
Да си представим че имаме полигон с 4 ъгъла. Всеки от тях изобразен с координати (x,y,z). Имаме и екран - монитор. На него всичко се изобразява в двуизмерни координати (x,y). Ако екрана е с резолюция 1024x768 какви са 4-те екранни координати на (x1,y1,z1),(x2,y2,z2),(x3,y3,z3) и (x4,y4,z4)?
Нека разстоянието от екрана е 1500 пиксела, тогава:
xe1 = 1024/2-(1024/2-x1)*(1500/(z1+1500))
ye1 = 768/2-(768/2-y1)*(1500/(z1+1500))
Аналогично за останалите 3 точки.
Активен
Yasen6275
Ентусиаст
Неактивен
Публикации: 310
-=Шемет=-
Re:Геометрична 3D задача
«
Отговор #10 -:
18.03.2011, 15:06 »
Цитат на: Hpz в 14.03.2011, 23:15
Нека разстоянието от екрана е 1500 пиксела, тогава:
xe1 = 1024/2-(1024/2-x1)*(1500/(z1+1500))
ye1 = 768/2-(768/2-y1)*(1500/(z1+1500))
Аналогично за останалите 3 точки.
xei = 512(1-(1-хi)/(zi/1500+1))=(512/(zi/1500+1))*(zi/1500+1-1+хi)=(zi/1500+хi)*512/(zi/1500+1)
Аналогичните разждени за другата координата водят до формулата:
ye1 = (zi/1500+уi)*384/(zi/1500+1)
Тези формули дават неотрицателни стойности за xe1 и ye1 само за много малки стойности на хi и уi. Тоест само за малки обекти.
Нещо не ми изглежда общовалидно.
А и къде се намири наблюдателя в голямата координатна система?
«
Последна редакция: 18.03.2011, 19:15 от Yasen6275
»
Активен
He who asks is a fool for five minutes, but he
who does not ask remains a fool forever.
Old Chinese saying
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #11 -:
19.03.2011, 15:31 »
Нещо не ми стана ясно твоята формула и защо изобщо я пишеш.
Наблюдателя в случая - точно по средата на екрана на 1500 пиксела навън.
При 3-измерни координати, където z=0 - x и y са същите, защото лежат на екрана.
Ако са по-навътре - проекцията им се приближава към центъра.
Обекти извън екрана (по-близо до нас с отрицателно z) лесно могат да излязат от екрана, т.е. проекцията им на екрана да не се събира в неговите граници.
При z=0: xe = 1024/2-(1024/2-x)*(1500/(z+1500)=512-(512-x)*(1500/1500)=512-512+x=x
това е защото 1500/(z+1500)=1 при z=0
при z=1500 (1500 пиксела дълбочина) проекцията е 2 пъти по-близка до цетъра - 1500/3000 = 1/2 т.е. xe=512-(512-x)*(1/2)= 256+x/2
«
Последна редакция: 19.03.2011, 15:54 от Hpz
»
Активен
Yasen6275
Ентусиаст
Неактивен
Публикации: 310
-=Шемет=-
Re:Геометрична 3D задача
«
Отговор #12 -:
21.03.2011, 11:08 »
Цитат на: Hpz в 19.03.2011, 15:31
Нещо не ми стана ясно твоята формула и защо изобщо я пишеш.
За да се проследят по лесно зависимостите между променливите. Опитал съм се да преработя твоята формула но не съм бил прецизен. Ще се поправя после.
Цитат на: Hpz в 19.03.2011, 15:31
Наблюдателя в случая - точно по средата на екрана на 1500 пиксела навън.
И тези неща се подразбират от ...
Цитат на: Hpz в 19.03.2011, 15:31
При 3-измерни координати, където z=0 - x и y са същите, защото лежат на екрана.
Това малко ми противоречи на разбиранията за тризмерност, но няма да споря, защото е въпрос на модел.
Цитат на: Hpz в 19.03.2011, 15:31
Ако са по-навътре - проекцията им се приближава към центъра.
Искаш да кажеш че всеки отдалечаващ се от наблщдатела обект отива към центъра на екрана. Е тук няма как да се съглася.
Цитат на: Hpz в 19.03.2011, 15:31
Обекти извън екрана (по-близо до нас с отрицателно z) лесно могат да излязат от екрана, т.е. проекцията им на екрана да не се събира в неговите граници.
Цитат на: Hpz в 19.03.2011, 15:31
При z=0: xe = 1024/2-(1024/2-x)*(1500/(z+1500)=512-(512-x)*(1500/1500)=512-512+x=x
това е защото 1500/(z+1500)=1 при z=0
при z=1500 (1500 пиксела дълбочина) проекцията е 2 пъти по-близка до цетъра - 1500/3000 = 1/2 т.е. xe=512-(512-x)*(1/2)= 256+x/2
Нормалния вид на формулите които си дал е:
xei = (512*zi+1500*xi)/(zi+1500)
yei = (384*zi+1500*yi)/(zi+1500)
Активен
He who asks is a fool for five minutes, but he
who does not ask remains a fool forever.
Old Chinese saying
Hpz
Участник
Неактивен
Публикации: 44
Re:Геометрична 3D задача
«
Отговор #13 -:
21.03.2011, 15:21 »
За нормалния вид е вярно, но не е много ясен. Пък и другия вид е по-добър за сметки (за да не се получи препълване). Между другото в практиката лесно се заменя k=1500/(z+1500), и после се ползва при x и при y... вместо да се изчислява 2 пъти.
Първите 3d игри работят на този принцип. Аз лично съм правил много яки 3d изображения за времето си по тези формули. Сега си има GPU...
Активен
SetCombG.com Forum
Активен
Страници: [
1
]
Нагоре
Изпечатай
SetCombG.com Forum
>
SetCombG.com
>
Логически задачи
> Тема:
Геометрична 3D задача
Follow @SetCombG
« назад
напред »
Отиди на:
Моля, избери:
-----------------------------
Звук и Визия
-----------------------------
=> Телевизори и проектори
===> Проектори /DLP, 3LCD.../ и екрани
===> DLNA, калибрация и аксесоари
=> Системи за домашно кино, плеъри и HTPC
===> Мултимедийни плейъри
===> HTPC - мултимедийни компютри
===> Blu-ray и DVD плейъри и рекордери
=> Телевизия и радио
===> Сателитни, кабелни и ефирни приемници
=> Аудиотехника
===> Тонколони
===> Mp3 плеъри, слушалки
===> Озвучаване на автомобила
=> Фото и видеокамери
-----------------------------
Битова Техника
-----------------------------
=> Всичко за климатиците
===> Основни принципи, теория, линкове и технически въпроси
===> Въпроси свързани с монтажа
===> Профилактика и гаранция
===> Климатици Daikin
===> Климатици Fujitsu, General Fujitsu, Fuji Electric
===> Климатици Haier
===> Климатици Hisense, Gree, Chofu, Bard
===> Климатици Hitachi
===> Климатици Midea
===> Климатици Mitsubishi Electric, Mitsubishi Heavy
===> Климатици NEO, ELITE, Crown, Nippon, Sang
===> Климатици Osaka
===> Климатици Panasonic, National
===> Климатици Samsung, LG
===> Климатици Sharp, Sanyo
===> Климатици Toshiba, Carrier
===> Други марки климатици
=> Отопление
===> Електрическо отопление
===> Топлоизолация и дограма. Вентилация и обработка на въздуха
===> Други начини за отопление
=> Бяла техника
=> Малки домакински уреди
=> Електро, ВиК инсталации
=> Хладилна техника
=> Друга битова техника
=> Домашен майстор
-----------------------------
Хардуер
-----------------------------
=> Мобилни устройства
=> Общ - хардуер
=> Процесори и Дънни платки
=> Аудио и Видеокарти
=> Овърклок
-----------------------------
Софтуер
-----------------------------
=> Общ - софтуер
=> Windows
=> Програмиране
=> ИГРИ
=> Мрежи
=> Уебдизайн и 3D
=> Linux
-----------------------------
Телекомуникации
-----------------------------
=> GPS - модели, софтуер, карти и трикове
=> GSM, PDA, Smartphones...
=> Поддръжка
=> Технологии
-----------------------------
SetCombG.com
-----------------------------
=> Дъра-Бъра
=> Черен списък
=> Бял списък
=> Хоби и свободно време
=> Музика, филми и театър
=> Книги
=> Коментирай новина
=> Новини от SetCombG.com
=> Анкети
=> Автомобили
=> Спорт
=> Логически задачи
=> За Форума
-----------------------------
Пазар
-----------------------------
=> Продава
===> Приключили продажби
=> Купува
Зареждане...