Parametryzacja krzywej ewolwenty

Dyskusje dotyczące programowania G-Code

Autor tematu
hajdenhajn
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 19 gru 2015, 12:07
Lokalizacja: śląsk

Parametryzacja krzywej ewolwenty

#1

Post napisał: hajdenhajn » 19 gru 2015, 12:30

Witam,
Mam prośbę aby ktoś naprowadził nie na trop myślowy, pozwalający pójść dalej z dość skomplikowanym zadaniem.
Potrzebuję sparametryzować kreślenie ewolwenty.
Obrazek
Program ma działać tak aby start ewolwent odbywał się w znanym punkcie, i poprzez zmienna (krok.przejście) odejmować wartość np x,y (tak jak na załączonym rysunku, start na punkcie Pe, i poprzez np kilkanaście punktów o dany skok dojście do promienia R).
Jak narazie wzór z rysunku działa rysuje ewolwentę, lecz nie mogę nad nią zapanować by rysowała się tam gdzie chcę i żeby rozbić ją na punkty.

Cykl ten miałby służyć do wykonania wieloklinów (wielowypustów) ewolwentowych.
Jakakolwiek pomoc pomysł mile widziany.
Pozdrawiam



Tagi:


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#2

Post napisał: tomcat65 » 21 gru 2015, 03:41

Najpierw trzeba obliczyć kąt, dla którego spełniony jest punkt startu - Pe ( x,y).


Autor tematu
hajdenhajn
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 19 gru 2015, 12:07
Lokalizacja: śląsk

#3

Post napisał: hajdenhajn » 21 gru 2015, 08:07

Straszne herezje mi wychodzą...
Przykładowo dla mojego kąta wynoszącego 26,256 stopnia, wartość x=2169.27 oraz y=-941.47. Wygląda że coś pomyliłem albo wartości odnoszą się do dalszego punktu ewolwenty. Jakiś pomysł?. Ja dalej liczę.

ps. realne wartości wychodzą jeśli we wzorze kąt B po znaku + i - podzielę przez 90 stopni.


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#4

Post napisał: tomcat65 » 21 gru 2015, 11:55

Jakie mają być X, Y i R ?


Autor tematu
hajdenhajn
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 19 gru 2015, 12:07
Lokalizacja: śląsk

#5

Post napisał: hajdenhajn » 21 gru 2015, 12:30

x=2.53
y=118.97
R=110


PiRo_man
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 329
Rejestracja: 23 sie 2010, 21:32
Lokalizacja: Świerklany

#6

Post napisał: PiRo_man » 22 gru 2015, 18:46

Ciekawy temat, co? :)
Mam pewien pomysł na rozwiązanie, jednak wstrzymam się jeszcze z jego opisaniem. Wiele osób uważa się tu za mądrzejszych/lepszych, więc dam im się wykazać.

Dla sprecyzowania dopytam jeszcze o strukturę ewolwenty. Jak powszechnie wiadomo można ją wykonać na dwa sposoby, mianowicie krzywą Beziera oraz z mniejszą dokładnością zastąpienie fragmentów krzywej łukami, jak Ty chcesz ją zrobić?

Pozdrawiam
inż. Mateusz


Autor tematu
hajdenhajn
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 19 gru 2015, 12:07
Lokalizacja: śląsk

#7

Post napisał: hajdenhajn » 22 gru 2015, 22:23

Piro dajesz pomysły:P
Nie wiem na ile uda się zrobić dokładną tą ewolwentę. Im dokładniej odwzorowana tym lepiej. Zaraz biorę się za lekturę o tych krzywych Béziera.
Na ile ułatwi przelanie tego na program gdyby zastąpić ją łukami?

Właściwie ewolwenta będzie robiona w osi x,z skok będzie w granicach 0.1-0.2mm w osi z narzędziem z minimalnym promieniem. Ciekawe na ile będzie szło odwzorować zarys zębów.
Ostatnio zmieniony 22 gru 2015, 23:17 przez hajdenhajn, łącznie zmieniany 1 raz.


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 4
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#8

Post napisał: tomcat65 » 22 gru 2015, 23:05

[quote="PiRo_man""]Wiele osób uważa się tu za mądrzejszych/lepszych, więc dam im się wykazać.[/quote]
Też mnie dziwi, ze jest tu tylu świetnie wykształconych, a jak trzeba pomóc, gdzieś znikają.
A temat ciekawy, sam z taką matematyką nie miałem do czynienia.
Po lekturze w sieci, ciut jaśniej :idea: :)
Potrzebne jest obliczenie długości tworzącej dla danego kąta.
Tyle na razie.

Edit:
Dla Twojego kąta 26,256 st wychodzi mi:
X=3,45
Y=120,95

Teraz jak:
-obliczenie tworzącej T,
T=2ΠRβ/360 ; β=kąt odwinięcia, R=promień okręgu

X=Rsinβ - Tcosβ
Y=Rcosβ + Tsinβ

Albo kąt nie ten, albo niech mądrzejsi mnie poprawią.

[ Dodano: 2015-12-23, 01:21 ]
Wartości
X=2,535
Y=118,975
wychodzą dla kąta 23,65°


Autor tematu
hajdenhajn
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 6
Posty: 6
Rejestracja: 19 gru 2015, 12:07
Lokalizacja: śląsk

#9

Post napisał: hajdenhajn » 23 gru 2015, 08:53

Faktycznie masz racje, mój błąd:/. Teraz dobrze wyszedł kąt.

[ Dodano: 2015-12-23, 10:03 ]
Obrazek

No są postępy;) (x jest przestawiony z osia y, jakby ktoś zauważył ten błąd;P)


PiRo_man
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 329
Rejestracja: 23 sie 2010, 21:32
Lokalizacja: Świerklany

#10

Post napisał: PiRo_man » 23 gru 2015, 15:39

Mam trochę inne rozwiązanie, ale dzisiaj na pewno nie będę miał czasu go opisać, przez Święta też na pewno nie będę miał możliwości, ale po, postaram się go przedstawić.

Osobiście to chętnie przeniósł bym rozmowę na prywatny kanał, wiedza którą chcę się podzielić jest cenna, i wolał bym uniknąć douczenia zbyt wielu osób. ;)

inż. Mateusz

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „G-CODE - programowanie”