Autor | Zpráva | ||
---|---|---|---|
malek8 Profil * |
#1 · Zasláno: 12. 4. 2014, 20:32:18
zdravim,
nevím najit na webu vzorec pro vypocet určitého bodu .. nasel jsem jen pro vypocet středu :/ Jde o různé úsečky na kterych potřebuji ziskat konkretni bod. napr. mam usecku A[20,2] B[240, 212] bod na tejto usecke D[x, 104] jak vypočítám x? Diky |
||
Zechy Profil |
Znas dva body - dosad si do predpisu linearni funkce y = ax +b za y a x, dostanes soustavu dvou rovnic o dvou neznamych, vypocitas a a b, a mas funkci pro graf, do toho uz si pak dosadis co potrebujes.
Edit presne jak pise juriad |
||
juriad Profil |
#3 · Zasláno: 12. 4. 2014, 20:35:28
vektorová rovnice:
a * A + (1-a) * B = D tedy soustava dvou rovnic o dvou neznámých: 20 * a + 240 * (1-a) = x 2 * a + 212 * (1-a) = 104 |
||
_es Profil |
#4 · Zasláno: 12. 4. 2014, 21:23:28
Zechy:
„dosad si do predpisu linearni funkce y = ax +b za y a x“ Takto sa nedajú vyjadriť priamky rovnobežné s osou y, preto to nie je všeobecný postup k riešeniu. |
||
Zechy Profil |
#5 · Zasláno: 13. 4. 2014, 00:37:46
_es:
Všeobecný né, ovšem v tomdle případě to rovnoběžné s y neni. |
||
quatzael Profil |
malek8:
Koukám, že tady zase někdo chyběl na střední škole na matematiku.. To je naprosto triviální úloha s vektory.. Vypočítáš si vektor, např: ->BA = B - A, tzn. [xa; ya] - [xb; yb] = (xa - xb; ya - yb)
A s tímhle vektorem se dostaneš do jakýhokoli bodu na úsečce AB, když ho vynásobíš číslem v intervalu <0; 1> a přičteš k bodu A.. Když chceš zjistit druhou souřadnici, tak úplně jednoduchou trojčlenkou dopočteš.. Je to pravoúhlý trojúhelník, žádnej zakřivenej nadprostor, takže totální hračka..:o) x = [(y - ya)/(yb - ya)]*(xb - xa) + xa tzn. v Tvým případě: A[20; 2] B[240; 212] D[x; 104] x = [(104 - 2)/(212 - 2)]*(240 - 20) + 20 = (102/210)*220 + 20 = 126,8571429... Takže vůbec nic složitýho.. |
||
malek8 Profil * |
#7 · Zasláno: 13. 4. 2014, 10:28:44
Super diky vsetkym :)
Som teda myslel ze to bude o dost jednoduchsie :) |
||
juriad Profil |
#8 · Zasláno: 13. 4. 2014, 10:51:51
malek8:
Téměř všechny úlohy s vektory vedou na soustavu několika lineárních rovnic, která jsou algoritmicky řešitelná. Stačí si tedy najít software na řešení soustav rovnic a svou úlohu v něm vhodně formulovat. |
||
quatzael Profil |
#9 · Zasláno: 13. 4. 2014, 10:54:57
malek8:
Tohle je jednoduchý.. Co na tom vidíš složitýho? Jinak FYI, přímo tomu Tvýmu případu se říká lineární interpolace..;-) |
||
juriad Profil |
quatzael:
Tvá úvaha je stejná jako Zechyho a není vždy funkční. Viz [#4] _es. Vypadá to trochu jako magie; pro tento případ to funguje, ale složitější problém přeformulovat jako trojčlenku nepůjde. Řešení pomocí wolframu: http://www.wolframalpha.com/input/?i=20+*+a+%2B+240+*+%281-a%29+%3D+x+and+2+*+a+%2B+212+*+%281-a%29+%3D+104 |
||
malek8 Profil * |
#11 · Zasláno: 13. 4. 2014, 13:01:31
Potreboval som to do scriptu, tak idealna bola ta rovnica od quatzael-a, ale pomohlo mi aj celkove nasmerovanie. Som rad ze viem čo neviem a možem študovat :))
diky |
||
quatzael Profil |
juriad:
No tak snad to dělá v PHPku, ne? Jestli tam bude mit i případy, kdy je ta úsečka vodorovná, tak tam stačí přidat podmínku: if (ya == yb) { if (y == ya) x = "<xa; xb>"; else x = "neexistuje"; } else x = [(y - ya)/(yb - ya)]*(xb - xa) + xa; Wolfram na to vůbec nepotřebuje.. Záleží co se snaží vypočítat, ale vertikální úsečku mu to normálně spočítá. A počítat pozici x na horizontální úsečce jaksi nedává moc smysl, protože tam vyjde celej interval, pokud se tím y strefí do hodnoty ya resp. yb.. V opačným případě nic.. |
||
Časová prodleva: 10 let
|
0