» »

presek poligonov v opengl?

presek poligonov v opengl?

Red_Mamba ::

Je v openGL kakšna funkcija ki vrne presek dveh poligonov?
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Vesoljc ::

presek dveh poligonov v 3D?
Abnormal behavior of abnormal brain makes me normal...

NoUse4AName ::

opengl je API za grafiko, ne matematiko.

Vesoljc ::

kaj pa je grafika ce ne matematika?
;)
Abnormal behavior of abnormal brain makes me normal...

Red_Mamba ::

rabim 2D

sem pa začel že sam pisat algoritem, ker nisem nikjer našel podatka da bi openGL ali directX mela te funkcije.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

NoUse4AName ::

vesoljc isto bi potem lahko rekel, kaj je programiranje kot pa matematika. OpenGL je API za risanje na zaslon, nic vec nic manj.

mov ax 0x7c0 ::

Odzadi pa stoji matematika!! 8-O

NoUse4AName ::

za vsako zadevo odzadaj stoji matematika. To sploh nima nobene veze z nicemer.

Senitel ::

Tako OpenGL, kot današnji Direct3D sta oba "immediate mode" API-ja kar pomeni, da delata bore malo več kot pošiljata komande naprej na grafično kartico. V Direct3D je nekoč obstajal še "retained mode", ki pa je dan današnje dead and buried, imaš pa zbirko D3DX, ki zna postoriti marsikaj. V OpenGL pa imaš GLU...

Zgodovina sprememb…

  • spremenil: Senitel ()

d-mon ::

Jah, zanimivo ja :)
Tole sem jaz pred kratkim koncal (par let dela).
Stvar nima veze z OpenGL ampak ma, tako kot so rekli ostali, veze z matematiko.

Jest sem vse skupi napisal na .NET platformi in nekaj v C in C++. Dela mi pa na preseke vseh prostorskih objektov (vse kombinacije tocke, linije in poligona).
- tocka tocka (simpl...ali je ena tocka enaka drugi)
- tocka linija (ali lezi tocka na liniji)
- tocka poligon (ali lezi tocka v poligonu)
- linija linija (ali se liniji sekata)
- linija poligon (ali je linija v poligonu in v kaksnem delezu)
- poligon poligon (ali se poligona sekata in v kaksnem delezu)

Pol sem pa se dodal iskanje tocke v poligonu namenjene oznacevanju (LabelingPoint ali nekateri pravijo temu Centroid - a ni ravno pravi izraz - centroid lahko pade ven iz poligona).

Pol sem se naredil, da poligon z vec zunanjimi robovi razreze na vec manjsih, kjer ima vsak samo en zunanji rob (tu moras upostevat v kateri zunanji rob pade luknja)

Naredil sem se funkcijo s katero s poljubno (lomljeno) crto razdelis poligon na 2 dela.

Naredil sem se dodajanje vertexov obstojecemu poligonu.

Racunanje obsega izbranih poligonov.

Pa se kaj bi se naslo.

Vse dela na poligonih, ki imajo lahko vec externih robov in vec lukenj (mozne so tudi variante da je v luknji spet externi rob) in pac vse....

Ce si zainteresiran povej ceno pa ti prodam :)
Knjiznica je namenjena za uporabo na Geodetskih Informacijskih Sistemih (Autocad, GIS strezniki (http://gis.kaliopa.si/iobcine/default.a......).

Drugac pa...ker verjetno ne bos tole kupil od mene imas na internetu vec kot prevec vseh teh informacij kako se kaj naredi.
Aja...da bi pa nasel kaksno pametno ze narejeno knjiznico je pa ni. Mogoce si lahko ogledas http://www.maptools.org/ knjiznice GDAL in OGR, ampak sta se v fazi izdelave, pa meni nista prav prevec prav prisli (dost funkcij, ki sem jih rabil jih ni bilo se implementiranih).
Mal sem tam sodeloval in sem prispeval (ne cist dokoncano verzijo :) hehe) funkcijo za iskanje tocke za oznacevanje (Shape_PointInPoly.cpp), ampak kot pise pod http://shapelib.maptools.org/release.ht..., te release verzije se ni.

Poligoni so grde stvari :)
Ker se pa ukvarjas z OpenGL se pa lahko osredotocis na trikotnike (najmanjsi poligon)...razbij vse na to (triangulacija), ali pa kar tako risi, ker se ti v koncni fazi itak (vsaj mislim da) interno prevede na trikotnike.
In potem iskanje preseka med dvema trikotnikoma ni vec neka znanost...
Poisces kje se linije sekajo (maksimalno lahko dobis zidovsko zvezdo...to je 6-kotnik), tako dobis tocke. Pol moras pa samo se v pravem vrstnem redu 'pobrat' nove tocke (lahko gres z interlacijo preko enega poligona in primerjas dobljene tocke...tako ves kam katera pase)...evo ti...Nov poligon. Se tega trianguliraj pa je.
Ker je tak poligon lahko samo konveksen ga trianguliras na zelo enostaven nacin. Izberi eno izmed tock in potegni crte do vseh ne-sosednjih vozlisc (kot bi naredil pahuljo...uno k majo japoncki za hladit). Evo in imas spet trikotnike.
[D-mon]

Red_Mamba ::

10x sam mam že skor končano, sem naredil v .NET-u, samo še za poligon-poligon presek me čaka kak dan ali 2 dela :D

lahko pa pol od mene kupiš če te zanima :D

povej koliko hitro ti kaj delujejo te fukcije? meni obdela 5 miljonov objektov v 5 minutah (na grobo rečeno). Ko bo konec bom malo izmeril koliko časa rabi, pa tudi vse objekte bom seštel.

Drugače pa program izreže vse objekte znotraj poljubnega poligona iz ESRI Shape fajlov in jih hrani v novih fajlih.
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Zgodovina sprememb…

d-mon ::

Hehe.
Jest sem delal na Autodesk SDF datotekah.

Konkretno niti ne vem kako hitro mi dela, ker je vse skupaj napisano da dela 'on the fly' za enega ali par njih.
Pognal sem pa eno zanko kjer je bilo 33000 dokaj enostavnih poligonov (parcele) in jih krizal z zelo zelo kompleksnimi in velikimi poligoni (planski akti nad parcelam). Teh drugih poligonov je bilo pa 2040.
V zanki sem moral najprej poiskati okvirni poligon (gledal sem extente) s katerim se lahko seka poligon iz prve datoteke s poligonom iz druge datoteke. Ce so se extenti sekali potem sem naredil se izracun preseka. Vsak poligon se pa lahko seka hkrati z vecimi poligoni iz druge datoeke.
Koncni rezultat je bil kljuc druge daoteke, procent povrsine in povrsina, ki lezi v drugem poligonu.

No to mi je delal eno uro.
Drugac je ena knjiznica od ESRIja (kao COM objekti al kaj ze...ne vem tocno) in mislim da imajo notr za racunanje presekov. Ampak, ce ima moj šef prav, potem naj bi tiste funkcije za presek kdaj pa kdaj kaksen cuden rezultat dale ven. Jest pa trdim, da je tisti programer, ki je uporabljal ESRI funkcije, nekaj naredil narobe. Nekateri rezultati niso vec zgledal kot poligoni :)
No z uporabo tistih ESRI funkcij (ki pa kot pravim ne vem ce so ravno dobre) se ista moja zanka da izvesti v 15 minutah.

Vem pa to, da moja funkcija za izracun centroida dela centroide za cca. 70000 poligonov v ene 5s, Autodesk Map funkcija za izracun pa dela cirka 1min in s tem, da kdaj najde slabse centroide kot moja :) - tolk da se malo pohvalim :) hehe.
[D-mon]

Red_Mamba ::

ja to da ma autodesk cist fu*ked up kodo je jasno kot beli dan.

p.s.
a ni 1. pravilo da ma šef zmeri prav :D
2. je pa v primeru da nima prav poglej 1. pravilo :D
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Problem pri Autodesk 3DS Max 2012

Oddelek: Programska oprema
8857 (788) Rippy
»

qudro vs geforce

Oddelek: Kaj kupiti
81047 (934) Rippy
»

UNREAL 2 The Awakening (strani: 1 2 3 )

Oddelek: Igre
1308799 (5714) vander
»

Moj novi engine ... preview

Oddelek: Zvok in slika
352479 (1514) TBR
»

poligon

Oddelek: Programiranje
201919 (1621) Thomas

Več podobnih tem