geometriai szoftver

Fórumok

Sziasztok,
olyan programot vagy programkönyvtárat keresek, amivel ki lehet számítani 3d térben alakzatok (ellipszoidok, gömbök, egyenesek) metszéspontjait, majd azok koordinátáit. Rengeteget googleztam, és nem találtam olyan nyílt forrású szoftvert, ami ezekre képes.
Kipróbáltam a pygeo-t, de ott ellipszoid nincs, 2d geometriai szoftverekből viszont rengeteg van, csak nekem nem ez kell.
Mit tanácsoltok, ismertek erre konkrét megoldást?
Üdv,
zp.

Hozzászólások

Színes-szagos GUI-s csodára ne számíts, viszont programkönyvtáraknak szerintem lenniük kell, ráadásul többnek is. Sajnos most nem tudok konkrétumokat mondani, de kb. egy fél évvel ezelőtt a kezembe akadt egy geometriával, ill. geometriai algoritmusokkal foglalkozó szaklap, na, abban volt minden amit földi halandó el (sem) tud képzelni erről a területről. Sajnos a címére nem emlékszem, csak arra, hogy nekem megtévesztő volt, mivel nem szerepelt benne, hogy geometria, hanem valami "Advanced Computer Graphics" vagy valami hasonló néven futott, de egyébként töményen geometriáról szólt az egész. Ebben láttam egy rakás önálló fejlesztésű programot, vagy hivatkozást rájuk.
Egyébként talán az is lehet, hogy "rossz helyen" keresetél. Nekem sem mindig barátom a Google, ilyenkor érdemes lehet szűkíteni: Sourceforge, freshmeat, stb., megvolt már? Ha az említett folyóiratból indulok ki, akkor érdemes lehet még körülnézni a témával foglalkozó egyetemi tanszékek, kutatóintézetek, stb. oldalain, más területen én már sok hasznos dolgot szedtem össsze ilyen helyekről.

A VTK egy nagyon jó cucc, csak nem erre való. Adat-utófeldolgozásra és megjelenítésre használható, azaz, ha valamilyen többé-kevésbé szabványos formátumban vannak (numerikus) eredményeid, akkor azokat gyönyörűen meg lehet vele jeleníteni, de az eredeti feladat ezzel még nem oldható meg, ugyanis a felvetett geometriai problémára ezek a képességek nem adnak semmilyen megoldási lehetőséget.

lehet nem egy "varázslós" megoldás, de a kvadratikus felületek (amit írtál példát azok azok) metszéspontjait papíron se túl bonyolult kiszámítani, de ha még nem érettségiztél akkor a legegyszerűbb matekprogramok is megoldják

Csatlakoznek az elottem szolokhoz, a felmerult problemak egyszeruen, papiron, gyorsan szamolhatoak, ha matrix-vektor formalizmust hasznalsz, akkor kb fejben is. Hobbi-projekthez anno en is csinaltam effe'le'ket (ray tracing, ugy hogy a gorbult alakzatokat kvadratikus felulettel kozelited, igy nem baromisok haromszog kell, hanem keves kvadratikus alakzat, igy szamolni reflexiot, fenytorest, ...); es hat me'g hobbi-projekt szinten is ez, marmint feluletek es egyenesek metszetenek kiszamolasa volt kb. 10-20 sor a 6k-bol, tehat elhanyagolhatoan kicsi problema. A matrix-vektor-stb irasmod nagyon-nagyon sokat segit, az, hogy trafokat nem euler-szogekkel, hanem orthogonalis matrixokkal irsz le, az meg meg tobbet.

A.

arra gondoltam olyan szinten beosztályozod a felületeket, amilyen szinten még átlátod az egyenletrendszerüket, azaz lesz pl egy sík-gömb metszés, aminek tudod hogy a kimenete (akár elfajult, de) kör lesz, tehát ilyesmi alakú:

gömb-sík(xy=a egyenlet, azaz a gömb paraméterei, xy=b egyenlet ,azaz a sík paraméterei){return kör paraméterei, azaz a xy=a,xy=b egyenletrendszer megoldása}

a lényeg hogy ha leegyszerűsíted megfelelően konkrét felülettípusokkra, az egyenleteket paraméteresen papíron könnyű megoldani, tehát esetünkben 4+6 számból (gömb középpont és sugár+sík1pontja és normálvektor pl) kiszámítunk néhány számot amiről tudjuk hogy egy kör paraméterei.

Tudom hogy pont ennek megírásával szeretnél spórolni, de egész biztos hogy ezt hamarabb meg lehet írni mint egy megfelelő libraryszerűséget találni, azon átrágni magad, aztán megfelelően beépíteni, pont ezért nincs ilyen könyvtár, mert ez elég egyszerű feladat ahoz hogy helyben írják meg ((meg persze a konkrét igények mindenhol mások, pl pontosság))

((a szintet úgy értem, hogy ha nagyon benne van az ember lehet egyetlen fv-t írni ami 2 kvadratikus felület bemenetű egy "görbe" kimenetű, stb))

valamelyikünk asszem nem érti a másikat
mi a különbség gömb-elipszoid és kör-ellipszoid metszet között a te értelmezésedben? az enyémben semmi, m a kör is egy egyenlet, a gömb is, a metszet két egyenlet által alkotott egyenletrendszer megoldása, az hogy fv alatt mit értünk most, az a feladattól függ, tehát hogy egy adott pont (környezete) része-e a metszetnek, vagy futó paraméterekkel legenrálni a metszetet más feladat

azt hogy a fv-el, egyenletrendszerrel ... (nem értem, hogy mire gondolsz, csak tippelek) a fv készítéséhez kell megoldani az egyenletrendszert, (kivéve ha egyfajta tartalmazást, nem legenerálást kell megoldani)

egyébként nem tudom mit jelent az hogy hobby projekt, (szegényes fantáziámmal) két dologra tudok gondolni: az egyik hogy ismerkedsz a programozással v. 3D-vel v. ilyesmi, ez esetben bizony megéri kiszenvedni ezeket a számolásokat (cas-hoz akkor nyúlva ha már elakadtál papíron),
a másik hogy konkrétan a geometriával kapcsolatban érdekel valami olyasmi hogy _végeredmény_, arra pedig egy blender elég lenne, de ez utóbbi valószínűtlenebbnek tünik számomra

ps: a java programod generálhatna egy python szkriptet, amiből blenderrel 3d-s objektumot készítesz, amit már újra a jjava programod úgy használ tovább ahogy szeretnéd :)

Saját definícióm szerint a hobby projekt az az, hogy valami téma érdekel és rákattansz. Nem fizetnek érte viszont nem kötelező eredményt felmutatni sem. Akkor addig csinálod amíg el nem unod vagy a barátnőd (vagy feleség 1.0-ra upgradelt változata), anyukád, munkáltatód kombóból valaki rád nem dörrent hogy most már a "civil" életedben is dolgozni kell. Persze elvileg lányok is olvashatják a fórumot ők a barátnőt értsék a pasijukra.

ha jól értem, egzakt dolgokat szeretnél kiszámítani. ezekre vannak bizonyítottan működő matematikai eljárások. (feltételezem közelítéssel akarsz számolni, ha gyökökkel stb. jelölt pontos értékeket szeretnél, az külön mizéria.)

én ugyan ilyen szoftverről még nem hallottam, de ha esetleg vannak konkrét elképzeléseid, akkor tudom ajánlani mondjuk az mcedit-et és a gcc-t. (btw. ha valakinek van kedve, szívesen beszállnék egy ilyen projekt elkészítésébe, gondolom egyes esetekben ez több embernek jelentene nagy könnyebbséget.)

:: by BRI.
:: config :: Acer TravelMate // Intel Celeron 530 1.73GHz. 533MHz FSB, 1MB L2 // 1GB DDR2 // Mobile Intel GMA X3100 // Ubuntu Hardy
:: tothab [a] gmail [pötty] kom
black rose immortal's weblog

egyáltalán nem vagyok benne biztos, hogy a java a legjobb megoldás, persze attól függ, mennyire akarjuk ábrázolni a dolgokat. végül is attól lenne igazából izgalmas, azt meg tényleg java-s környezetben a legkönnyebb kivitelezni. a térgeometria aritmetikai hátterét rtfmb (read the FINE math book) szinten ismerem, de ahogy átlapoztam egy elemi geometria és egy gömbi geometria könyvet, úgy láttam, nem nagyon van benne olyan számítási algoritmus, amit 1) ne tudnék papíron kiszámolni 2) ne tudna már valamelyik (pl c-ben meghívható) karakteres környezetű program zsigerből megoldani. Szóval én az elméleti részének inkább c-ben (cpp-ban) esnék neki. annyi viszont biztos, hogy a projekthez -- ha akarunk belőle valami értelmes "terméket" gyártani -- még 4-5 emberre szükségünk lesz. apám matematikus-fizikus, szintén lelkes linux-felhasználó, azt mondta, ha ráér, segít.

:: by BRI.
:: config :: Acer TravelMate // Ubuntu Hardy
:: tothab [a] gmail [pötty] kom
:: black rose immortal's weblog

a libcgal2-t ismeritek? nem valami ilyesmire való?

most néztem, elvileg a Rhinoceros3D-vel lehet ilyeneket csinálni. zárt forrású és linuxos verzió nincs.