Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit

No, analytickou geometrii jsem už nějakou dobu neměl, tak budu potřebovat pomoc :D
Věc se má tak, že jsem si chtěl naprogramovat nějakou knihovnu pro želví grafiku v C++. To by nebyl až takový problém, ale nějak si nemůžu uvědomit, jak by měl probíhat výpočet souřadnic v některých případech.
Želva by měla mít mimo penUp/penDown čtyři pohybové fce: rotaci vlevo a vpravo o určitý počet stupňů, a posun dopředu a dozadu o určitý počet jednotek.
A tady nastává problém. Nemůžu si nějak uvědomit, když mám k dispozici nějaké stávající souřadnice (např. 3;4), výchozí úhel třeba 65°, tak jak zjistím, jaké souřadnice má bod, ke kterému má úsečka dosáhnout?
Zatím snad stačí alespoň lehce navést, nějak mi to řešení takhle na večer nedochází :D
Moc díky za veškeré rady ;-)
Offline
↑ Katsushiro:
Na to budeš potřebovat tzv. shodné transformace souřadnic v rovině.
Pro posunutí: (o m v ose x, a o n v ose y, x',y' jsou sou5adnice v novém s.s.)
pootočení kolem společného počátku: (o úhel alfa)
otočení a posun:
kde 
Offline

↑ Honzc:
Moc díky ;-) Jakmile jsem na to mrknul, napadlo mě, že bych u programu postupoval následovně: po zadání délky čáry se tato spočítá pro "poslední" x (ať navazuje na už nakreslenou čáru), při y=0, tj. pro vodorovnou čáru, kterou pak prostě otočím o daný úhel, ale zjevně někde dělám chybu - předpokládám, že v počítání s y, asi budu muset začít programovat přes den :D
Příklad:
Mám proměnné x,y,x2,y2
1) Chci udělat vodorovnou čáru délky 5.
Prostě spočítám x2 + 5.
Stav: x = 0, y = 0, x2 = 5, y2 = 0
2) Otočím o 0 stupňů (fakt provádím, mám to automaticky ve funkci, abych nemusel dělit případy na otáčející se a neotáčející se :D )
3) x = x2 (x,y mají sloužit vždy jako první body úsečky)
4) Chci udělat úsečku délky 5, otočenou o 90°
Takže, zase x2+5
Stav: x = 5, x2 = 10, y = 0, y2 = 0
A když se pokusím tenhle bod otočit podle úhlu:
x2 = 10*0 + 0*1
y2 = 0*0 - 10
V čem dělám chybu? Už si připadám jako blbec, koukám na to, a nevidím ji :D
Moc díky ;-)
Offline