Matemaattinen ongelma

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Tarvitsisin pientä laskuapua.

Eli pitäisi ratkaista pieni vektoriyhtälö, mutta ilmeisesti taitoni eivät riitä toistaiseksi.

O + tV + aA + bB = P + tU + cC + dD , jossa t, a, b, c ja d ovat skalaareja ja kuuluvat Reaalilukuihin ja O, V, A, B, P, U, C ja D ovat kolmiulotteisia vektoreja, jotka tunnetaan.
Ratkaise t, a, b, c ja d.

Itse saan ratkaistua vain neljä kyseisistä viidestä skalaarista, tuossa onkin sitten matemaatikoille leikkimistä

Kommentit (15)

Vierailija
4smith4
Tarvitsisin pientä laskuapua.

Eli pitäisi ratkaista pieni vektoriyhtälö, mutta ilmeisesti taitoni eivät riitä toistaiseksi.

O + tV + aA + bB = P + tV + cC + dD , jossa t, a, b, c ja d ovat skalaareja ja kuuluvat Reaalilukuihin ja O, V, A, B, P, V, C ja D ovat kolmiulotteisia vektoreja, jotka tunnetaan.
Ratkaise t, a, b, c ja d.

Itse saan ratkaistua vain neljä kyseisistä viidestä skalaarista, tuossa onkin sitten matemaatikoille leikkimistä




Eikö tuosta supistu tV pois molemmilta puolilta eli t:lle käy kaikki mahdolliset ratkaisut.

Vierailija
Teräslilja_m
4smith4
Tarvitsisin pientä laskuapua.

Eli pitäisi ratkaista pieni vektoriyhtälö, mutta ilmeisesti taitoni eivät riitä toistaiseksi.

O + tV + aA + bB = P + tU + cC + dD , jossa t, a, b, c ja d ovat skalaareja ja kuuluvat Reaalilukuihin ja O, V, A, B, P, U, C ja D ovat kolmiulotteisia vektoreja, jotka tunnetaan.
Ratkaise t, a, b, c ja d.

Itse saan ratkaistua vain neljä kyseisistä viidestä skalaarista, tuossa onkin sitten matemaatikoille leikkimistä




Eikö tuosta supistu tV pois molemmilta puolilta eli t:lle käy kaikki mahdolliset ratkaisut.



Anteeksi kaavassani oli virhe!

Korjasin sen nyt, eli nyt ne eivät supistu.

Vierailija
durbutter
Tee itse kotitehtäväsi, muuten ei mee kurssit läpi




Ei tämä mikään kurssi ole, lukion pitkässä matikassa kun vielä 12 kurssin jälkeen ei ole moisen yhtälön ratkaisua opetettu tai ainakaan en keksi millä työkaluilla voisin työstää tuon yhtälön.

Kyseessä on ihan oma laskuni, joka tulee erääseen koodin pätkään kun saan sen ratkaistua auki.

Olen jopa opettajilta kysellyt eikä kenelläkään tunnu olevan tarpeeksi motivaatiota/taitoa auttamaan minua ongelman ratkaisussa.

H
Seuraa 
Viestejä2622
Liittynyt16.3.2005
4smith4
Kyseessä on ihan oma laskuni, joka tulee erääseen koodin pätkään kun saan sen ratkaistua auki.

Yhtälösi kumpikin puoli kuvaa mielivaltaisen avaruuden pisteen. Kummallekin saat ratkaisun kun asetat sen pisteen. Yhtälösi ei kuitenkaan ratkea, koska yrität ratkaista 5 tuntematonta 3:lla ehdolla.

bosoni
Seuraa 
Viestejä2704
Liittynyt16.3.2005

Vaikea antaa pidemmälle meneviä neuvoja tuon perusteella. Onko niin, että tiedät ongelman asettelusta valmiiksi, että ratkaisu ylipäätään on olemassa? Jos esimerkiksi V, A ja B eivät ole lineaarisesti riippumattomia vektoreita, niin et voi löytää sopivia kertoimia t, a, ja b joilla saisit minkä tahansa pisteen kuvattua. Sama pätee yhtälön oikealle puolelle.

Jos taas on varma asia, että ne vektorit yhtälössä on siten valittu, että jokin ratkaisu on olemassa, niin siltikin osa niistä skalaareista täytyy jäädä ns. vapaiksi parametreiksi, jotka voi vapaasti valita. Niiden valinnan jälkee loput ratkeaa. (kuten H totesi, niin ehtoja on vähemmän kuin tuntemattomia, eli tuosta yhtälöstä ne kaikki eivät yksikäsitteisesti ratkea)

Jos sorruin (taas) virheeseen, niin tukka varmaan vain oli silmillä, kuten kuva osoittaa...

Vierailija

jospa sanon että vektorit aA + bB muodostavat tason tai oikeastaan kolmion, samoin cC + dD muodostavat tason, periaatteessa kyseessä on kahden kolmion leikkauspisteet jos niitä on.

Olen tiedustellut samaa kysymystä aikasemminkin täältä mutta en saanut tyydyttävää vastausta.

Ideana on siis se että molemmat kolmiot liikkuvat, olen antanut kolmioiden liikkeille nopeusvektorit V ja U

No jokatapauksessa tarkoituksena olisi laskea kahden liikkuvan kolmion leikkauspisteet reaaliaikaisesti.

bosoni
Seuraa 
Viestejä2704
Liittynyt16.3.2005
4smith4
jospa sanon että vektorit aA + bB muodostavat tason tai oikeastaan kolmion, samoin cC + dD muodostavat tason, periaatteessa kyseessä on kahden kolmion leikkauspisteet jos niitä on.

Olen tiedustellut samaa kysymystä aikasemminkin täältä mutta en saanut tyydyttävää vastausta.

Ideana on siis se että molemmat kolmiot liikkuvat, olen antanut kolmioiden liikkeille nopeusvektorit V ja U

No jokatapauksessa tarkoituksena olisi laskea kahden liikkuvan kolmion leikkauspisteet reaaliaikaisesti.




Eikös t silloin olisi juokseva parametri, eikä ratkaistava? Jos vielä laitat jonkin noista kertoimista juoksemaan jollakin välillä sopivin välein (jokaisella t erikseen), niin muut kertoimet pitäisi jo ratketa. Sitten pitää vielä tarkistaa, että kuuluvatko vastaukset sen halauamasi rajatun kolmion alueelle.

Jos sorruin (taas) virheeseen, niin tukka varmaan vain oli silmillä, kuten kuva osoittaa...

Vierailija
bosoni

Eikös t silloin olisi juokseva parametri, eikä ratkaistava?



Periaatteessa, mutta muista että ohjelmoinnissa jokainen lasku vie aikansa, jos minulla vaikka liikkuu kolimio nopeudella 10 pikseliä millisekunnissa ja päivityksessä kestääkin aina 2 millisekuntia niin kappale on ehtinyt siirtyä jo 20 pikseliä. tämän takia juuri tarvitsen leikkauspisteen.

Toisaalta aina t <= 2ms, a <= 1, b <= 1, c <= 1 ja d <= 1

Vierailija
4smith4
bosoni

Eikös t silloin olisi juokseva parametri, eikä ratkaistava?



Periaatteessa, mutta muista että ohjelmoinnissa jokainen lasku vie aikansa, jos minulla vaikka liikkuu kolimio nopeudella 10 pikseliä millisekunnissa ja päivityksessä kestääkin aina 2 millisekuntia niin kappale on ehtinyt siirtyä jo 20 pikseliä. tämän takia juuri tarvitsen leikkauspisteen.

Toisaalta aina t <= 2ms, a <= 1, b <= 1, c <= 1 ja d <= 1




Koska on kolmiosta kyse, niin tällöin a+b <=1 ja c+d <=1.
Näin olisi viisi yhtälöä ja viisi tuntematonta. Pitäisi olla ratkaistavissa.

edit: Kahden taso pinnan leikkaus on (hyvin usein) viiva, eli ääretön määrä ratkaisuja voi olla tarjolla.

Neutroni
Seuraa 
Viestejä26835
Liittynyt16.3.2005
4smith4
jospa sanon että vektorit aA + bB muodostavat tason tai oikeastaan kolmion, samoin cC + dD muodostavat tason, periaatteessa kyseessä on kahden kolmion leikkauspisteet jos niitä on.

Olen tiedustellut samaa kysymystä aikasemminkin täältä mutta en saanut tyydyttävää vastausta.

Ideana on siis se että molemmat kolmiot liikkuvat, olen antanut kolmioiden liikkeille nopeusvektorit V ja U

No jokatapauksessa tarkoituksena olisi laskea kahden liikkuvan kolmion leikkauspisteet reaaliaikaisesti.




Voisitko tosiaan hieman kirjoittaa ongelmasta yleisemmin. Tuollainen matemaattinen kaava ei kerro heti kaikkea.

Eli mikäli käsitin oikein, sinulla on kaksi kolmiota, joiden kärkipisteiden koordinaatit ovat ajan funktioita, ja haluat ohjelman jokaisella aika-askeleella tutkia leikkaavatko ne toisensa. Itse tein jokin aika sitten ohjelman, joka laski tuollaisia leikkausksia (CSG-operaatioita kolmioista kootuille monitahokkaille). Tein sen niin, että otin ensimmäisen kolmion ABC vektorin AB ja AC yhdessä niiden vastaan kohtisuoran vektorin (saadaan ristitulolla) kanssa avaruuden kannaksi. Muunsin sitten toisen kolmion DEF kärjet tuon avaruuden koordinaateihin. Nyt voidaan tutkia jokaisen janan kohdalla leikkaako se XY-tason (siis kolmion ABC-virittämässä avaruudessa), ja laskea janan ja XY-tason leikkauspisteet. Jos erikoistilanteet ovat tärkeitä, sitten tietystpi pitää myös tutkia onko joku kärjistä tasossa tai kenties koko toinen kolmio. Seuraavaksi sitten tutkitaan missä pistetssä tuo XY-tasossa oleva leikkausjana leikkaa ABC-kolmion sivut. Lopuksi saadut pisteet muutetaan takaisin maailmankoordinaatistoon.

Tuskin tuo on nopeudeltaan optimaalinen tapa, mutta jos kolmioiden leikkaamisia ei ole paljoa, sillä ei ole väliä. Jos niitä on paljon, tuollainen arvatenkin joku pelin törmäystarkastelu, kannattanee hoitaa approksimatiivisesti nopeammilla tavoilla.

Vanha jäärä
Seuraa 
Viestejä1557
Liittynyt12.4.2005

Minulla on hyvin vaaleanharmaa mielikuva, että ongelmasta on keskusteltu aiemmin näillä palstoilla. Voin tosin olla väärässäkin.

Itse ainakin kuukkeloisin termeillä triangle collision detection.

Vanha jäärä

Uusimmat

Suosituimmat