|
|
Én először kiszámolnám a területét, amihez nem kell szögfüggvény. Abból a magasság könnyen megvan, onnan meg a szögeket megtalálni gyerekjáték.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
persze, hogy tg-t nem lehet, mert 90-en nincs ertelmezve. x) Najo, en ezt feladom, majd holnap megmondom xD
|
|
|
Hát, tényleg zombi vagy, mert a derékszögű háromszögben nemigazán a derékszögre( pi/2 ) szokás szögfüggvényeket felírni
|
|
|
No, van egy otletem, remelem nem vagyok annyira faradt, h rosszul gondolkoztam. Eloszor kiszamolod a haromszognek a hianyzo oldalait (ezek a "?"-ek)

Azutan:
Ha egy haromszognek ismert mind3 oldala, abbol siman szogfuggvenyek segitsegevel kiszamolhato az osszes szog
Persze elofordulhat, hogy a "?"-ek kiszamitasa nem helyes, tenyleg nagyon zombi vagyok (megyek is mindjart jatszani  ), viszont ha azok megvannak, onnantol mar gyerekjatek. Es ez only-szogfgv
pl.:
a 'b' oldalnal alul levo szog:
sin(x) = m / b vagy cos(x) = ? / b vagy tg(x) = b / m vagy ctg(x) = b / ?
|
|
|
Egyszerű, van egy általános trapézod, aminek se szöge se magassága, csak az alapjai és szárai vannak megadva
|
|
|
ja igen, az derekszogure jo...Hulye vagyok mar, most ertem haza x)
Hat igen, jol esne a cos-tetel ilyenkor  Akkor probald meg esetleg palalelogrammara, vagy meg mindig nem ertem pontosan^^
szerk.:
Meg nem volt ott a postod masodik fele, amikor irtam 
Ha van egy paralelogrammad, azt ha minden igaz fel tudod bontani derekszogu 3szogekre, amibol szogeket szamolsz, es a paralelogramma szogeibol meg a trapez szogeit, de ez igy eleg bonyolult lenne, szoval mindjart megnyugszok egy kicsit, es rajovok, h hogy is kellene (ha meg nem eloznek addigra  )
|
|
|
De egy általános trapézt nem lehet két derékszögű háromszögre felbontani 
No igen, simán csinálok belőle paralelogrammát, de annak még mindig csak az oldalait ismerem, amiből nem igen lehet kiszámolni akármit, viszont tudok olyan háromszöget rajzolni bele, amelynek mindhárom oldalát ismerem, de abból én még mindig nem tudom meghatározni a szögeit( nem ismerem a módszerét )
|
|
|
felbontod ket haromszogre, igy azoknak ismert lesz mind3 oldala, arra pedig sinx = szemkozti befogo / atfogo (ha jol remlik  ) bar ez lehet, h csak hurtrapeznal mukodik, nemtudom (bar nemhiszem)
vagy a felezopontokat osszekotod, ugy kapsz egy paralelogrammat, es ugy jatszadozol a szogekkel, ill. oldalakkal. Volt az idei emelt erettsegin ilyesmi feladat, vmi viragkertes volt 
Avaaaagy, teljesen nem erre voltal kivancsi
|
|
|
Idősebbeknek lehet, hogy triviális, de számomra rendesen szeget ütött a fejemben, hogy szimplán az alapvető szögfüggvények( sin, cos, tg, ctg, asin, stb ) segítségével hogyan lehet kiszámolni egy trapéz oldalaiból a magasságát/szögeit.
tehát megvan adva két alapja( legyen 100 meg 54 pl )
és két szára( 76 meg 64 például )
a koszinusz tételt, meg a többit nem tanultuk, szóval szimplán egyenletekkel kéne dolgozni
|
|
|
Elsö tagban gyöktelenited a nevezöt, aztán közös nevezöre hozod az egészet és pofozgatod.
|
|
|
|
Ezt a hozzászólást M4 módosította (2009.11.23 04:05 GMT+1 óra, ---)
|
|
|
egy időgép belsejéből
|
|
|
honnan tudom megtanulni 3 óra alatt a mértani számtani sorozatokat és a kombinatorikát?
|
|
|
2d-ben kooridnátacserével (meg negálni) lehet normált 'számolni', utána csak egy vektor kivonás és dotproduct, lebegőpont sem kell (csak túl ne csorduljon az int). Kivonásnál csak 2 szembelévő pontból kell, és az ott találkozó két oldallal már lehet is nézni a skaláris szorzatot. Szerintem ez borzasztóan gyors lesz. Ha meg ez sem elég, érdemes vmi 'síkfelosztó-gráfot' is ráuszítani a 4szöghalomra.
|
|
|
esetleg ha a feladat megengedi akkor én egy ilyen kohéziót adnék még hozzá, vagyis ha mondjuk ugyanarra a négyszögre vizsgálod és esetleg valamelyik oldalon kivülre esett, akkor következö körben érdemes arra megnézni elöször, hátha megint kiesik.
|
|
|
Joga: amit te mondasz, az kb ugyanaz, mint megvizsgálni, hogy egy-egy egyenes melyik oldalán van a pont. Ha ugyanazon, mint a négyszög 3. vagy 4. csúcsa, akkor jó (ez meg sima előjelvizsgálat)...
Mindjárt lekódolom, aztán meglátom, mennyire gyors vagy lassú.
|
|
|
esetleg aztis csinálhatod, hogy akkor van benne a négyszögben a pont, ha a szemközti oldalak által meghatározott egyenesek között van
pl A, B, C, D csúcsok esetén ha
AB és CD között
illetve
AD és BC között van
Akkor a négyszög tartalmazza a pontot.
szerk.: De ez csak abban az esetben működik, ha két szemközti oldal nem zár be nagyobb szöget 90 foknál( ami viszont elég ritka  )
|
|
|
Idézet TheProGamer :
Lehet konkáv is a négyszög, vagy csak konvex?
Csak konvex.
szerk: neten keresgélve is azt találtam (pl itt: http://mathforum.org/library/drmath/view/54386.html) hogy a legáltalánosabb, legegyszerűbb megoldás azt vizsgálni, hogy a csúcspontok által meghatározott vonalak melyik oldalán van a pont.
Ezt a hozzászólást gaborlabor módosította (2009.09.10 10:26 GMT+1 óra, ---)
|
|
|
Idézet gaborlabor :
Egy pontról szeretném meghatározni, hogy benne van-e egy 4 pont által meghatározott szabálytalan négyszögben. Erre van valami viszonylag egyszerű, és gyors megoldás? (sokszor kéne lefutnia realtime)
Ha ugyanúgy csinálom, ahogy háromszögekkel szokás (megnézni minden oldalra, hogy a vonal melyik oldalán van...) az nem lesz nagyon lassú?
Van valami más módszer is erre?
Lehet konkáv is a négyszög, vagy csak konvex?
Reality is almost always wrong. - House
|
|
|
Idézet sirpalee :
2D vagy 3D?
2D.
Amúgy előzetes bounding box-tesztre gondoltam én is, de ha abban benne van, utána még akkor is ellenőrizni kell, és igen, szerintem is minden oldalra kell vizsgálni. Habár ha jól tévedek, az is csak néhány cross-product számolás...
|
|
|
Idézet gaborlabor :
Egy pontról szeretném meghatározni, hogy benne van-e egy 4 pont által meghatározott szabálytalan négyszögben. Erre van valami viszonylag egyszerű, és gyors megoldás? (sokszor kéne lefutnia realtime)
Ha ugyanúgy csinálom, ahogy háromszögekkel szokás (megnézni minden oldalra, hogy a vonal melyik oldalán van...) az nem lesz nagyon lassú?
Van valami más módszer is erre?
két szögtartományra bonthatod, és ha mindkettőben bennevan, akkor benne van a pont 
Arányokkal, normalizálással meg lehet oldani.
A gyorsításra meg szerintem a bounding box egy egyszerű megoldás
|
|
|
Valamennyit gyorsíthatsz a dolgon ha a négyszög befoglaló körével/gömbjével először vizsgálsz egy négyzetes távolságot, mert gyanítom utána mind a 4 síkra/egyenesre meg kell határozni az oldaliságot.
alias aalberik
|
|
|
2D vagy 3D?
raytraceisten és übermedic
|
|
|
Egy pontról szeretném meghatározni, hogy benne van-e egy 4 pont által meghatározott szabálytalan négyszögben. Erre van valami viszonylag egyszerű, és gyors megoldás? (sokszor kéne lefutnia realtime)
Ha ugyanúgy csinálom, ahogy háromszögekkel szokás (megnézni minden oldalra, hogy a vonal melyik oldalán van...) az nem lesz nagyon lassú?
Van valami más módszer is erre?
|
|
|
ez ilyen fejutogetos.
csomo ideje szenvedek vele, es ilyen egyszeru!? xD
De azert az eletbe nem jottem volna ra  minden aron a szogfugvenyekkel akartam megoldani xD
koszi, nagyon koszi!
Eletet mentettel xD
Mukodik ahogy kell!
|
|
|
Idézet hat nem ezt mondta Joga?
De lehet, csak nagyon tömören fogalmazott, nem biztos, hogy annyiból beugrik a megoldás mindenkinek.
Amúgy nagyon röviden fogalmazva így is el lehet mondani a megoldást:
- player.x beszorzása box.y/box.x - el
- megoldani körrel a feladatot, ahol a kör sugara az ellipszis függőleges 'sugara', eredmény: P.
- P.x beszorzása box.x/box.y - el
kész.
Szerk.: Körre megoldani a feladatot meg végképp egyszerű, nem kell hozzá szögfüggvényesdi sem. Legyen az origó a kör középpontja: A játékos vektorát lenormálod (leosztod a hosszával), majd beszorzod a sugárral, és megvan P.
Ezt a hozzászólást nadam módosította (2009.05.25 14:23 GMT+1 óra, ---)
|
|
|
hat nem ezt mondta Joga?  en mar csak azert is meg fogom csinalni ezzel az eszmefuttatassal
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
Sajonos elvi hibás a megoldásod, nem jók a képletek.
A megoldás amúgy nagyon egyszerű.
Vezesd vissza a feladatot körre:
Írj egy függvényt, amelyik körre korrektül megoldja a dolgot. (Bemenet: player pozíció, kör sugara, kimenet P koordinátái.) Teszteld le.
Hogyan tudod az ellipszises feladatot visszavezetni a körösre?
Egyszerű: 'scaleled' az egész teret x irányban, mindennek az x koordinátáját pontosan box.y/box.x-vel szorozva, megoldod itt a feladatot, ahol az ellipszis épp kör, majd az eredményt 'visszascaleled', vagyis az eredmény x koordinátát beszorzod box.x/box.y - al.
Fontos: természetesen az ellipszis középpontja legyen a koordinátarendszer origója.
A fenti eszmefuttatás nagy hókuszpókusznak hangzik elsőre, de egyébként igen egyszerű képletre vezet, de lusta vagyok leírni, amúgy is az elv a lényeg.
Mottó: nem a kanál mozog, hanem a tér görbül.
|
|
|
sirpalee: gondolod hogy ragondoltam, hogy huh kene nekem egy ilyen es feljottem ide? xD
mar 3-4 napja ezen ragodom, probalkoztam sok mindennel, sok ember kerdeztem, mas forumra is irtam...
ezzel kezdtem a kerdest xD
szal most mar nem arrol van szo, hogy csak lusta vok gondolkozni nem?
az eltben vannak dolgok ,amiket nem lehet egyedul megoldani, vagy csak nagyon nehezen, erre talaltak ki a kommunikaciot, aminek az egyik formaja a forum. nem mindennap kerdezgetek hulyesegeket, egyszer nem lehet valaszolni?
|
|
|
A bezárt szög kiszámolására például.
Amúgy nagyon alap dolog, de gondolkozz rajta, ne várd, hogy leírja valaki is a megoldást, jöjj rá magadtól.
raytraceisten és übermedic
|
|
|
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
sirpalee: hupsz, bocs nem lattam a hozzaszolasod.
szoval acossal? es azt hogy kene hasznalnom? xD 4jegyuben nem talalok azzal kapcsolatosat.
azzal en csak az x kiszamolasat latom.
|
|
|
jah szerintem eleg alap dolog csodalkoztam is hogy nem csettintesbol vagja mindenki xD
|
|
|
Idézet B@z :
megkoszonnem 
enis probalok elkapni egy tanart, csak most nincs matekoram, tehat tanarom se xD
ok, ugyis biztos kelleni fog meg nekem is...
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
megkoszonnem 
enis probalok elkapni egy tanart, csak most nincs matekoram, tehat tanarom se xD
|
|
|
ha nem oldodna meg, es gondolod, holnap felvethetem matekoran, h csinaljuk meg.. ugyis vegeztunk a konyvvel, es meg van 3 het a sulibol (mikor lesz mar vege?!  )
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
hat az egy eliras volt
oks, szerintem osszedobok egy kis alkalmazast ami mutatja, aztan lehet probalkozni xD
deh addig a nagy okos matekosok oszthatjak az eszt xD
|
|
|
Ne atan-al írd fel, hanem acos-al. az azan instabilabb. (elmehet a végtelenbe)
raytraceisten és übermedic
|
|
|
elofordulhat, mert ha az alfa > 180 es < 360, akkor a tg negativ, igy a szog is - lesz... egysegkort rajzold fel, az sokat segit. Nemtudom hol a hiba, hulyevagyok...
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
hat en ezt nemtudom, h micsoda:
alfa = atan((playerPos.Y-mobPos.Y)/(playerPos.X-mobPos.Y))
amugy itt miert playerPos.x - mobPos.y? miert nem x?
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
xanat:
enis kb ezt irtam le, nem? 
mondjuk ez a 90+alfa meg hasonlo dolgokra nem figyeltem... lehet ott a hiba?
|
|
|
http://ilab.hu/jf/datas/users/1485-szog01.jpg
nem?
nem jeloltem be:
az alfa szognel a csucs a MobPos, a masik, nem derekszognel levo csucs pedig a PlayerPos
- ha az alfa < 90 es > 0, akkor az alfa = (rajz)alfa
- ha az alfa > 90 es < 180, akkor az alfa = 90 + (rajz)alfa
- ha az alfa > 180 es < 270, akkor az alfa = -1x(180+(rajz)alfa)
- ha az alfa > 270 es < 360, akkor az alfa = -1x(360-(rajz)alfa)
bar, nemhiszem, h igy van, valamit rosszul csinalok...  , de mit mondtam, hulyevagyok hozza
azt viszont nemtudom, hogy mi van 90, es 270 foknal, mert ott a tg nincs ertelmezve...
najo, nem eroltetem, hulye vagyok en ehhez...  , de a szendek a fontos!
Ezt a hozzászólást xanat módosította (2009.05.25 13:19 GMT+1 óra, ---)
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
joga: ezzel nem sokat segitettel xD
sztem most is ugy kezelem
vegulis a cos sinus resznel annyival szorzom, amekkora a boxom, tehat a fuggvenyek a kor szerint viselkednek, csak kesobb kinyujtom.
deh igazabol szerintem nem azzal a resszel lesz a baj, hanem a forgasszog meghatarozasaval. az nem nez ki tul jol
|
|
|
nullref <--- hulyeseget irtam
Elsosorban nem a program a hulye, hanem a felhasznalo nem tudja hasznalni.
|
|
|
őő, esetleg úgy meg lehetne közelíteni a dolgot, ha az ellipszist nyújtott körként kezeled?
|
|
|
Hi
Huh de nehez volt megtalalni ezt a topicot xD
Szal lenne egy problemam, korbekerdezgettem mar par embert, meg 1 forumot is (ott nem valaszoltak >.>  , ezert ti vagytok az utolso remenyem xD
Szal trigonometriarol lenne szo, pontosan ellipszisrol
Egy utkozes kezelest szeretnek megvalositani, ami egy ellipszisen belul nem engedi be a jatekost/mobot stb.
eddig kort hasznaltam, de sajnos ez olyan moboknal aminek joval nagyobb a szelessege mint a hosszusaga, nem tul szep.
Szoval a kep, ahogy ra is ra van irva, a P pontot es az alfa szoget kene megszereznem (vagyis az alfa szog inkabb a P pont megszerzesehez kell  )
ahogy en gondolkoztam (hulye vagyok ehhez, bevallom, szoval lehet hogy teljesen rossz uton haladok  )
P.X = cos(alfa)*box.X
P.Y = sin(alfa)*box.Z
es a szognel meg:
alfa = atan((playerPos.Y-mobPos.Y)/(playerPos.X-mobPos.Y))
vagyishat c++ban van egy atan2 nevu fuggveny, azt hasznalva:
alfa = atan2((playerPos.X-mobPos.X),(playerPos.Y-mobPos.Y));
persze figyelni a rad-deg dolgokra.
valami ilyesmi modon gondolkozva irtam meg a progit, csinaltam neki egy kis megjelenitest is, tehat ahogy forgok a mob korul, egy vonal jon ki a mobbol, a Ppontig.
nahat ez az ami nagyon nem mukodik.
alapvetoleg 90 fokot el volt csuszva, de, ahogy futok kurulotte, pont forditva forog mint a jatekosom. tehat hogyha en orajarasnak megfeleloen futok, akkor az ellentetesen forog >.>
tehat egy egyszeru korrekcio nem felel meg..
valami otlet? ><
|
|
|
Idézet balogh9 :
Van egy olyan problémám, hogy fel vannak sorolva vektoriam, és az XY síkra eső vetületi vektorokat kéne meghatároznom...
Ha párosával veszem őket, vetületet számolok, és elhagyom a Z koordinátát, akkor az talán úgy jó lehet, de nem vagyok biztos benne.
raytraceisten és übermedic
|
|
|
Szerintem jó lesz. De elég csak a Z koordináta elhagyása szerintem... 
Egyébként a Quake3 ligthmapper is így csinálja a fénytérképeket, ezért van az, hogy nem minden árnyék teljesen valós. Bár nem nagyon vesszük észre.
Idézet balogh9 :
Van egy olyan problémám, hogy fel vannak sorolva vektoriam, és az XY síkra eső vetületi vektorokat kéne meghatároznom...
Ha párosával veszem őket, vetületet számolok, és elhagyom a Z koordinátát, akkor az talán úgy jó lehet, de nem vagyok biztos benne.
|
|
|
Van egy olyan problémám, hogy fel vannak sorolva vektoriam, és az XY síkra eső vetületi vektorokat kéne meghatároznom...
Ha párosával veszem őket, vetületet számolok, és elhagyom a Z koordinátát, akkor az talán úgy jó lehet, de nem vagyok biztos benne.
Ezt a hozzászólást balogh9 módosította (2009.01.07 14:41 GMT+1 óra, ---)
_____________________
C++ && OGL
|
|
|
Legújabb project:
Smashed Potatoes
Legutóbb frissített project:
Smashed Potatoes
Friss kép a galériából:
|