- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A56 - megbízható középszerűség
- Mindenki Z Fold7-et akar
- Profi stratégiára vált a Galaxy S26
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Több újítással támad a Xiaomi Redmi 3s
- Szívós, szép és kitartó az új OnePlus óra
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
axioma
Topikgazda
válasz
prime_adam #6497 üzenetére
Igazabol sokkal egyszerubb dolgod van igy, hogy minden a tengellyel parhuzamos. Gyakorlatilag sorba allithatod a letezo x es y koordinatakat, es azokon sorba allithatod a letezo vegpontokat (szakaszokat - mivel nem metszenek, a ketto ua). Ekkor csak a kozeppontok kozti letezo koordinatak listajaban kell megnezni, hogy a metszespont (ami ebben a formaban eleg egyszeruen szamolhato, aka'r ara'nyparral) egy szakasz belsejebe esik vagy sem. Ha pont 2-t talalsz (a ket teglalapnak aminek a kozeppontjabol indulsz a megfelelo oldala), akkor latjak egymast. [Ha az erintes is tartalmazas akkor figyelj hogy sarkok is bezavarhatnak, akkor kell tudni hogy melyik szakasz melyik teglalape). Menet kozben meg felhasznalhatod a mar meglevo infokat: ha egy pontnak van mar szomszedja, a szomszedok altali takarast erdemes elore venni a vizsgalatnal. Utana, ha iszonyat sok teglalapod lenne akkor az adott koordinatan belul mehetsz logaritmikus keresessel. (Igy erzesre az is jobb mint a heurisztika hogy a sorbarendezes az oldalhossz szerint van mert nagyobb oldal nagyobb esellyel kitakaras.)
-
kovisoft
őstag
válasz
prime_adam #6497 üzenetére
Szakaszok metszéspontjának a meghatározására találhatsz rengeteg példát és kódot a neten. Keress rá arra pl. hogy: intersection of two line segments
Vagy egyenes és szakasz metszéspontjához: line and line segment intersectionDerékszögű koordinátákat egyszerű átszámolni polárkoordinátákra:
irányszög = arctan(dy/dx)
távolság = sqrt(dx^2+dy^2) - habár ez talán nem is kell neked, elég a szög, utána a szakaszokkal úgyis ismét derékszögű koordináta-rendszerben számolsz.Rendezésre a legtöbb programnyelvben van beépített függvény.
-
kovisoft
őstag
válasz
prime_adam #6495 üzenetére
Ha a raytracinges definíciódat nézzük, akkor az nem lesz szimmetrikus, hiszen a vizsgált téglalap melletti kisebb téglalap teljesen kitakarhat egy távolabbi harmadikat a középpontból nézve, ugyanakkor a vizsgált téglalapom széle kilóghat a kisebb mellett úgy, hogy a szélek látszódnak a harmadik középpontjából.
Ha ez nem probléma, akkor működhet egyfajta raytracing megközelítés. Pl. a vizsgált téglalap középpontját origonak véve a többi téglalap csúcsainak polárkoordinátáit veszed, ezeket rendezed irányszög alapján. Nem fog kelleni "végtelensok" ray, mivel két szomszédos irányszög között nem változik a kitakartság, tehát mondjuk a két irányszög felezője mentén vetített sugárra megnézed, hogy melyik téglalap mely oldalszakaszát metszi, és azok közül melyikkel való metszéspont van a legközelebb. Ha van ilyen oldalszakasz, akkor az adott szögtartományban az a téglalap lesz a "szomszéd".
Lényegesen egyszerűbb és szimmetrikus megoldás, ha mindkét vizsgált téglalaptól pusztán a középpontjaiknak a láthatóságát követeljük meg, azaz akkor látszik a másik téglalap, ha ennek a középpontjából látszik amannak a középpontja. Erre működik az a korábbi javaslat, hogy megnézed, vajon a két középpontot összekötő szakasz metszi-e bármely más téglalap valamelyik oldalszakaszát.
-
kovisoft
őstag
válasz
prime_adam #6492 üzenetére
Egyetértek axiomával, minden azon múlik, hogy hogyan definiálod a szomszédságot. Pl. ha úgy, hogy a vizsgált téglalapnak legalább egy pontjából látszik a másik téglalap legalább egy pontja, akkor a zöldnek mindegyik téglalap a szomszédja, hiszen még a bal felső pirosashoz is oda lehet látni a sárga és a kis kék közötti résen. Ha viszont úgy definiálod, hogy mindkét téglalap összes pontjából látszódjon a másik összes pontja, akkor a zöldnek a sárga sem szomszédja, hiszen a lila részben kitakarja a sárga jobb felső sarkát.
Amúgy a világos szürkén a türkizt érted?
-
axioma
Topikgazda
válasz
prime_adam #6492 üzenetére
Egyreszt sokat egyszerusodik ha minden oldal tengelyekkel hataros; masreszt nem kell a 'szomszedsag' szimmetrikus tulajdonsag legyen? A kis keknek a nagy zold szomszedja, a zoldnek a kicsi [felsorolasodbol es szemmertekre ha kozeppontbol nezem] viszont nem.
[A 'tengelyiranyu egyenes mas teglalap erintese nelkul osszekoti-e oket' az egy konnyen programozhato feladat, de ott meg a kek es szurke ha jol latom nem lennenek szomszedok ha kicsit szet vannak huzva a sarkok, szoval bar az szimmetrikus, masokat talal meg, pl. zold-piros is siman.]
Szoval a szomszedsag definiciojat at kell gondolni, de azt gyanitom egyszerubb az ilyen spec esetre megirni mint agyuval verebre valos matrixokkal dolgozo grafikai nagyagyu library-t bevetni. [Persze tevedhetek.]
Keresni is ugy probalnam h van-e ilyen [ha ezt a kozeppontos ralatast keresed], hogy nem szomszedsag hanem lathatosag vagy me'g inkabb kitakaras szamolasa. -
axioma
Topikgazda
válasz
prime_adam #6490 üzenetére
Ha jol ertem te tkp egy pontbol szeretned a 'latohataran' levo teglalapokat megtudni. Kesz megoldast exhas nem tudok, de ez nekem a latokor szakaszainak 'legkozelebbivel' fedeset sugallja. Persze ha nagyon amorf teglalapok is lehetnek, akkor darabolnek [kitakaras mogotti teglalapot h ne zavarjon be hogy a valodi csucsa messze van, az egyenese meg kozel, es akar 3 elotte allo miatt 4 darabja is latszik]
Amugy peldaul ha a teglalapok nem fedik sose egymast akkor lehet jatekgrafikai megoldas, de ha csak le vannak dobva a sikra, akkor mar ott kell kezdeni h a pont nem valamelyiken belul van-e es hogy hogyan ertelmezed azt, ha a hataran van. -
Jester01
veterán
válasz
prime_adam #6488 üzenetére
A "nagyon sok" az relatív. Szakasz metszéspont számítása elég egyszerű, néhány millió biztos megvan másodpercenként
Mondjuk a "szomszéd" is érdekes kérdés. Ha egy téglalap jó messze van de éppen egy lukon látszik akkor az szomszéd?
-
Jester01
veterán
válasz
prime_adam #6486 üzenetére
Pontosabban kellene megfogalmazni mi az, hogy "kitakarja". Melyik pontból melyik pontot? Naiv megoldásom első körben az lenne hogy a 2 kérdéses pontot összekötő szakasz metszi-e bármelyik másik téglalap bármelyik oldalát. Ez 2 szakasz metszéspontja.
Új hozzászólás Aktív témák
- Samsung Galaxy Watch7 - kötelező kör
- Szeged és környéke adok-veszek-beszélgetek
- BestBuy ruhás topik
- Windows 11
- Fali konzol lapos tévékhez
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Kertészet, mezőgazdaság topik
- Samsung Galaxy A56 - megbízható középszerűség
- Mobilinternet
- Mindenki Z Fold7-et akar
- További aktív témák...
- Meta Oculus Quest 2/3/3S Szemüveg és Kiegészítő Shop
- XFX RX-69XTATBD9 Xfx Radeon RX 6900 XT 16 GB GDDR6 videókártya csere Rtx 4070Ti
- AKCIÓ!!! GAMER PC: RYZEN 5 4500-5600X +RX 9060XT/9070/9070XT +16-64GB DDR4! GAR/SZÁMLA!!!
- AKCIÓ!!! DDR5 GAMER PC: RYZEN 5 8400F/9600X +RX 9060XT/9070/9070XT +16-64GB DDR5! GAR/SZÁMLA!!!
- Asus X299 TUF / Beszámítás OK!
- HP ZBook Studio G7 i7-10850H 32GB 1000GB Nvidia Quadro T1000 15.6" FHD 1 év garancia
- Eladó karcmentes Apple iPhone 13 Pro Max 512GB / 12 hó jótállással
- Samsung Galaxy S21 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! HP ProBook 440 G6 - i5-8GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W10 I Gari!
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
Állásajánlatok
Cég: FOTC
Város: Budapest