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
↑↑ Honzc:
nevím jestli je příspěvek #16 správné řešení.
↑↑ jelena:
ok ... zkusíme jiný přístup:
v #21 jsem si spočítal pár hodnot. Asi nejdůležitější jsou POCATECNI_UHEL (P_U) a KONCOVY_UHEL (K_U) v kartézské soustavě souřadnic (při S = [0,0]). Zde se nabízí pár řešení:
1) P_U a K_U jsou oba ve společném kvadrantu = Xmin/Xmax a Ymin/Ymax jsou v podstatě body Z a K
2) P_U a K_U prochází přes jeden kvadrant
3) P_U a K_U prochází přes dva kvadranty
4) P_U a K_U prochází přes tři kvadranty
5) P_U a K_U jsou shodné = jedná se o kružnici = Xmin/Xmax a Ymin/Ymax je poloměr z bodu S na všechny strany
2) 3) 4) je pro mě problém si to nějak vyvodit. Neexistuje na to nějaký jednoduchý vzoreček?
Děkuji.
Offline
↑ unknow005:
pokud bys měl možnost vždy "transformovat" Tvou reálnou situaci při zhotovení dílu tak, aby střed kružnice, ve které je oblouk, byl ve středu (0, 0), potom by to snad usnadnilo situaci.
2) P_U a K_U prochází přes jeden kvadrant
3) P_U a K_U prochází přes dva kvadranty
4) P_U a K_U prochází přes tři kvadranty
Offline
↑ unknow005:
není za co, posuzování znamének nejjednodušší provedeš tak, že zkontroluješ podíl "původní souřadnice"/"nová souřadnice", pokud je podíl kladný, znaménko se nemění, pokud záporný, znaménko se změnilo (jen je třeba samostatně ošetřit 0).
Offline
↑ unknow005:
Docela jednoduché na programování je to udělat takto: (já jsem to vyzkoušel v Delphi, pokud budeš mít zájem mohu sem dát kód nebo někam na úložiště hotový program)
1.Spočítat úhly od středu po začáteční (zi) i koncový (ki) bod, tak jak je to v mém příspěvku č.22. (zde je ještě potřeba ošetřit případy, kdy x'z=0 nebo y'z=0 a také x'k=0 nebo y'k=0 )
2.Spčítat interval odkud kam se pohybuje úhel zi a ki (kde zi značí úhel alfa, a ki značí úhel beta)
pro pohyb proti směru h.r.
pokud je ki<zi dáš ki=ki+2*Pi
pro pohyb po směru h.r. jenom zaměníš zi za ki
3.Pro učení zda oblouk prochází nějakým kvadrantem pak už stačí pouze zjistit zda interval obsahuje příslušný "úhel kvadrantu"
tedy začátek I. kvadrantu ki>2*Pi
začátek II. kvadrantu - zjistit zda interval obsahuje Pi/2 nebo Pi/2+2Pi
začátek III. kvadrantu - zjistit zda interval obsahuje Pi nebo Pi+2Pi
začátek IV. kvadrantu - zjisti zda interval obsahuje 3*Pi/2 nebo 3*Pi/2+2Pi
Určení nejlépe pomocí while.
4.Pak už není těžké určit hranice a rozměry obdélníka (asi rozměry polotovaru)
Offline
↑ Honzc:
... ah, taky programuji v Delphi. Již to mám vyřešené tak, že počítám body na kružnici pro 0°, 90°, 180°, 270° od středu mezi počátečním a koncovým úhlem oblouku / kružnice (tj. zohledňuji i směr).
Docílil jsem tak zlepšení přesnosti i podstatného zrychlení.
Ale i tak bych se rád podíval na tvůj kód, třeba by byl "rozumnější" a možná i rychlejší.
Díky.
Offline
↑ unknow005:
V tomto případě bych ani rychlost neřešil (pokud tedy nepotřebuješ obdélní řešit 100x za sekundu.
Kód ti posílám na PM.
Offline
↑ Honzc:
Děkuji za kód. Vypadá to zajímavě.
Rychlost řeším, protože CNC plán vykresluji pomocí OpenGL a při velkém plánu (s kružnicemi a oblouky) mi počítač dá tak max. 10 FPS - pak je každé pošetření znát.
Děkuji.
Offline