3D и GUI

32 отговора 708 прегледа
#1

3D и GUI

Въпросът е към програмистите тук, които са се занимавали с 3DS Max. Стана ми интересен HitTest-ът на обектите. Това чудо работи когато курсора е върху отсечка между две точки. При това работи с минимално натоварване на процесора, дори при много обекти, респ. точки.
Някой срещал ли е алгоритъм за хиттест, който работи в тримерното пространство в-у мрежести обекти, подобно на този в 3DS Max? Ако някой е срещал, бих се радвал да пусне някой линк тук. Ако даже го е разбрал, много моля да ми обясни как стават нещата.

Я вышел им наперерез...
Отговор
в отговор на Resurrector #2

Re: 3D и GUI

Какво значение има дали са мрежести или не, то така или иначе (май) не ги смята за прозрачни... И как разбра че е с минимално натоварване на процессора , то нали го прави само като кликнеш върху обекта, т.е. става в User time...
иначе ти трябва само проверка за пресичане на лъч с триъгълник, и евентуално обектите в сцената да се съдържат в някаква йерархична структура, като kd-дърво, octree или нещо подобно.

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #3

Re: 3D и GUI

Абе човек, ти виждал ли си го изобщо макса
Курсора се променя докато го движиш, при това само ако си го позиционирал в/у линия, т.е. обектът се третира като прозрачен. Освен това, представянето му е като множество от полигони с неограничен брой точки, а не от триъгълници.

Я вышел им наперерез...
Отговор
в отговор на Resurrector #4

Re: 3D и GUI

Алгоритъма си е същия, както при 2D пространството. Тъй като мишката се движи в двумерно пространство, може напълно да игнорираш Z координатата и да работиш само с X и Y. Това разбира се работи при положение че базовата ти координатна система е така ориентирана, че XY равнината да съвпада с монитора.

Отговор
в отговор на Resurrector #5

Re: 3D и GUI

Е, явно съм го отървал последните версии тоя макс...
В такъв случай кое те учудва - проверката точка vs отсечка ли? А че са много, това не е проблем ако си ги държиш както казах в някаква йерархична структура... Също така може отсечките да се регистрират в uniform grid покриващ екрана, така пък ще са наистина малко проверки, но при скроллване ще трябва да се update-ва.

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #6

Re: 3D и GUI

ne sum siguren no mozhe bi maxa wmesto luch se izpozlwa po-skoro cilindur i sled tova vizhda dali se presicha sus otsechkite tam (wse po net-a trjabwa da ima negde formulata dali otsechka se presicha s cilindur w prostranstwoto). Tozi cilindur e s njakakuw minimalen diametur (oshte aperture size li mu wikaha???).

tirulirutatuutuu
Отговор
в отговор на malkia #7

Re: 3D и GUI

Да, ясно че е с толеранс цялата работа, то иначе забрави да уцелиш каквото и да е...
Проверката доколкото съм правил подобни работи е един Dot Product с линията (за близост на точка с линия), после просто растоянието (на квадрат за по ефективно) от точката до всеки край на отсечката да е по-малко от дължината и + толеранса.
Btw, как е на E3?

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #8

Re: 3D и GUI

Az hodih samo wchera - za treti put weche hodja - i wse po-tupo :).

Kakvo interesno - Nintendo imaha mnogo jaki igri za Gameboy Advance (dune naprimer sus voxelspace), Metal Gear Solid shte izliza za Windows i XBOX osven PS2 tazi godina (nova versia - ne SOL-a). Razgledah protivnikovia otbor - kakvi hockeyni igri pravjat i mai sa po-zle ot nas - s izkljuchenie na NHL Hitz-a - no toj e arkade - a nie simulatzia.... EA shte puskat SIMS online, SimCity IV, Medal Of Honor online... ZA Doom III ne mi se redeshe na opashkata da go vidja, Unreal Tournmanet 2003 - beshe malko baven.... WARCRAFT izglezhdashe zhestoko!!! - no ne probvah da go igraja.

btw - Skotowydetza (Ivan Assen ot Haemimont, ili oshte YE) i Ivko (pak ot Haemimont) - doidoha onja den w LA i bjaha i te na E3-to. Nas samo za srjada ni pusnaha - a mi se iskashe i poveche da vidja (propusnah naprimer tjahnata nova Haemimonstka igra - Celtic Kings - edno ot malkoto 2D strategii - obache mi obadiha che bila mnogo jaka).

Kato se wurne Skotowydetza pitajte nego za poveche ot E3-to :) - toj 3 dena shte e sigurno tam.


tirulirutatuutuu
Отговор
в отговор на malkia #9

Re: 3D и GUI

Малкия, много ми е интересна тази дискусия, защото аз също съм се занимавал с триизмерна графика. Това да се намери уравнение за пресечните точки между цилиндър и права е лесна работа - изравняваш двете формули (0,1,2 решения). Ако можеш обаче кажи къде си чел за използването на цилиндър за триизмерна графика и изобщо къде може да се чете сериозно за триизмерна графика?
Мерси предварително:)

Отговор
в отговор на нeo #10

Re: 3D и GUI

neznam dali izpolzwaneto na cilindur e naj-dobria variant - hrumna mi - a inache za seriozni saitove - de da znam - probvai tuka [линк]

tirulirutatuutuu
Отговор
в отговор на malkia #11

Re: 3D и GUI

Значи lead-овете се забавляват,а... пък ние тука в тяхно отсъствие се скъсваме да четем crash log-ове и да ровим из ассемблера...

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #12

Re: 3D и GUI

ah i ti li bachkash po igrata!!! jako!! - az ne uspjah da ja widja na E3-to - no kazwat che mnogo jaka bila!!! - i po saitovete suthto dobra ocenka! - az pa chudja se dali da hodja utre - ama mai ne - luzhe me tuka edin kolega - che tam Microsoft shteli da si pokazhat skritite oruzhia... ama neise...

tirulirutatuutuu
Отговор
в отговор на нeo #13

Re: 3D и GUI

Да се чете сериозно може с [линк] ама сигурно вече си пробвал... чакай да видя в моя bookmark...
Значи, освен flipcode:
[линк] (links)
[линк] (links)
[линк] (сайт с неща от gdmag)
[линк] ( <- advanced stuff )
[линк] (most advanced 3d mailing list ever, pay attention)
[линк] (forum)

Но най-добре е да се прочете книжката на Foley и van Dam "Computer Graphics: Principles and Practice", така да се каже Библията (макар че аз научих всичко което е вътре от други места).

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на malkia #14

Re: 3D и GUI

Btw, мерси за онези книги дето ги прати по Gaby още отдавна, страшни са! А имаш ли връзка с ония пич дето дойде по едно време и взе 2-3 да ги чете, че едната която взе ми е интересна и в случай че не му трябва да и хвърля едно око...

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #15

Re: 3D и GUI

napomni mi pak - sega tochno trugwam ot rabotata - inache picha Gemicha se kazwa - i e mnogo jak programmer... ako ne mu trjabwa shte go pomolja da wi gi dade pak.

tirulirutatuutuu
Отговор
в отговор на Zemedelec #16

Re: 3D и GUI

Perfect!!!
Колкото до книжката, тя сигурно е стара (или греша)... Просто не съм виждал такова нещо на пазара... Изобщо има ли шанс да се намери нещо в BG. Ако е стара, може да я има в библиотеката... Кажи нещо повече?!

Отговор
в отговор на нeo #17

Re: 3D и GUI

Стара си е, на българския пазар не се е появявала, в Amazon вече май има 2 или 3 издание. Нещата обаче които са вътре са валидни и до днес, това е математика и алгоритми, не OpenGL и Direct3D... Да не говорим за тенденциите някои стари неща да се завръщат при съвременните процессори и видеокарти.
Иначе ето още един (адски изчерпателен) линк относно occlusion culling:
[линк]

The ones who live by the sword get shot by the ones who don't.
Отговор
в отговор на Zemedelec #18

Re: 3D и GUI

Земеделец, абсолютно съм съгласен с теб, че математиката не се мени толкова често :). Сега за amazone май нема да станат нещата... Можеш ли да ми препоръчаш българска книга (или превод), или въобще нещо, което е излизало на пазара в България? Мога да потърся по библиотеките после. Най-добре да е на принципно ниво, не на конкретен език (е, ако нема и другото ще свърши работа:-).
Освен това открих 3 типа за триизмерна графика:
-занимават се с openGL
-някакво SDK на Java за 3D
-отделни програмки, които правят триизмерен уеб контент с Java.
В кое мислиш, че има най-много хляб?
Хай чао за сега и мерси за отзивчивостта;-)

Отговор
в отговор на нeo #19

Re: 3D и GUI

spored men - Java i 3D njama smisul koj znae kolko mnogo - osven ako ne pravish neshto za goljam sait - naprimer amazon.com da ti pokazwa trimerno stokite si - tova obache ne iziskwa koj znae kakvo vnimanie - i turseneto na rabotna sila edva li shte e goljamo.

A za bulgarski knigi - uvi mai oshte njama - ako se otbiesh do Haemimont - gi pomoli - mozhe i da ti otwurnat na zhelanieto - tam te imat njakolko knizhki...

Btw - Zemedelec, taz Foley i Vandam (hah) az ja bjah zadignal 99 i posle Gaby kato dode tuka si ja vuzvurna prez 2001 - tztztz...


tirulirutatuutuu
Отговор
в отговор на malkia #20

Re: 3D и GUI

Java3D имат много добра scene graph библиотека, хвърли едно око на принципите - има интересни идеи, иначе не мисля че си заслужава...
За хляба - ако търсиш хляб, го търси другаде - тази работа като начало се прави за удоволствие, после за пари (образно казано), по-добре джиткай някакви Delphi-та, Access-и, SQL-и...
За българските книги - има 2-2 стари, които може и да се намерят по библиотеките или антикварните книжарници - едната е учебника на Евгений Лукипудис за СУ (само първа част успя да напише за съжаление, т.е. 2D) "Компютърна графика" май се казваше, а другата беше някаква 'фотореалистична', 'реална' или нещо такова - 'графика', ставане дума за Raytracing, и отпред имаше рендната пирамида от огледални топчета...
Ама те са само за загрявка...

malkia: да бе, всички се чудеха къде изчезна тая книга, не е нещо малко (Foley и van Dam все пак!) та да се скрие някъде... ама досега не познавам нито един който да я е прочел цялата

The ones who live by the sword get shot by the ones who don't.
Отговор