Lijn: starpunt, lengte en rc bekend. bereken eindpunt

Moderators: dirkwb, Xilvo

Reageer
Berichten: 6

Lijn: starpunt, lengte en rc bekend. bereken eindpunt

Hallo,

Voor hobby-doeleinden ben ik een visual basic 6 progje aan het schrijven.

Het is onder andere de bedoeling dat een lijn van een bepaalde lengte wordt opgedeeld in kleinere stukken van gelijke lengte. (Het is voor een cnc-freesmachine.)

Nu had ik al bedacht dat van het (eerste) kleinere lijnstuk het beginpunt, de gewenste lengte en de richtingscoëfficiënt bekend zijn.

Daarmee moet het eindpunt toch uit te rekenen zijn....

Ik ga er vanuit dat pythagoras in ieder geval om de hoek komt kijken.

Verder zal de hellingshoek bekend zijn via invtan(rc).

Maar mijn wiskunde-kennis zit inmiddels zodanig verborgen onder een laag stof dat ik er niet 1,2,3 uitkom.

Wie helpt me in deze brei te roeren tot er een pasklaar formuletje uitkomt dat ik kan gebruiken in VB6?

Hetzelfde moet straks ook gebeuren met cirkels en cirkelsegmenten, maar dat komt later wel..

Reuze bedankt alvast!

Dick

P.S. Het moet natuurlijk "startpunt" zijn in de titel. Ik heb het geprobeerd aan te passen maar dat lukt me niet.

Berichten: 6

Re: Lijn: starpunt, lengte en rc bekend. bereken eindpunt

zal je altijd zien...

uren gezocht, niets gevonden

vraagje gepost, wel wat gevonden...!

ik bedacht me dat een cirkel wel eens uitkomst kon bieden.

volgens mij moet het zo kunnen:

hh = Atn(rc) * (180 / pi)

Xb = Xa + Cos(hh) * lijnlengte

Yb = Ya - Sin(hh) * lijnlengte

toch?

Gebruikersavatar
Berichten: 581

Re: Lijn: starpunt, lengte en rc bekend. bereken eindpunt

hh = Atn(rc) * (180 / pi)
klopt.

opmerking: die 180/pi moet erbij als je de hoek ingeeft in graden, maar je rekentoestel waarmee je de Atan berekent werkt in radialen.

Je kan het gewoon even checken, een hoek van 45 graden heeft een tangens (rico) = 1
zeto schreef:Xb = Xa + Cos(hh) * lijnlengte

Yb = Ya - Sin(hh) * lijnlengte
klopt bijna, ik heb alleen een vraagje bij dat - teken in Yb, ik zou daar een + zetten:

Hangt een beetje af van hoe je de hoek ingeeft: Volgens afspraak is een hoek georienteerd in tegewijzerzin positief, in wijzerzin negatief. De sinus van een positieve hoek tussen 0 en 180 graden is positief. Die van een negatieve hoek negatief. Dus hier ook best even checken met een tekening.
---WAF!---

Berichten: 6

Re: Lijn: starpunt, lengte en rc bekend. bereken eindpunt

Hallo,

Bedankt voor de reactie.

Precies de punten waarop je wees moesten gewijzigd worden.

Yb = Ya - Sin(hh) * lijnlengte moet inderdaad Yb = Ya + Sin(hh) * lijnlengte zijn...

en hh = Atn(rc) * (180 / pi) is ook niet helemaal goed.

het moet gewoon hh = Atn(rc) zijn, sin en cos verlangen invoer in radialen.

Maar nu werkt het! Bedankt nogmaals...

Nu wil ik graag nog hetzelfde doen met cirkelbogen. Ook die moeten in kleinere stukjes "gehakt" worden..

De gegevens die ik van de cirkelboog heb zijn startpunt, eindpunt, straal en draairichting.

Nu had ik het volgende bedacht:

Begin- en eindpunt vormen een koorde van een cirkel.

Een loodlijn op het midden van de koorde zal de straal kruisen op het middelpunt van de cirkel.

De afstand middelpunt koorde -> middelpunt cirkel zal dan te berekenen zijn met pythagoras.

Daarmee kan dan het middelpunt uitgerekend worden, waarna ook de middelpuntshoek uit te rekenen valt.

Als deze gegevens bekend zijn, is volgens mij de cirkelboog verder eenvoudig op te delen.

Ben ik op de goede weg? Kan het veel eenvoudiger?

Alle suggesties zijn welkom!

Dick

Gebruikersavatar
Berichten: 368

Re: Lijn: starpunt, lengte en rc bekend. bereken eindpunt

Een paar vraagjes ter verduidelijking.

De straal is gegeven. Is dat dan de lengte van de straal ?

Moeten die kleinere stukjes van de cirkelbogen even lang zijn?
Het eindig getal π verenigt het eindige met het transcendente.

De eindige cirkel bereikt het oneindige in zijn isotrope punten.

Berichten: 6

Re: Lijn: starpunt, lengte en rc bekend. bereken eindpunt

Hallo Fernand,

Ja, de lengte van de straal is bekend.

De cirkelbogen moeten idd opgedeeld worden in kleinere stukjes van gelijke lengte.

Om dat voor elkaar te krijgen dacht ik de booghoek te delen door het aantal gewenste stukjes.

Dan komt het er dus op neer dat ik een bekend beginpunt heb, een booghoek, een straal.

Ik ben er geloof ik inmiddels in geslaagd het middelpunt van de cirkelboog uit te rekenen.

De gegevens haal ik uit G-Code, een code voor machine-besturing.

Hieronder een voorbeeld van de code voor een volledige cirkel met middelpunt (0,0) en straal 25..

Wat opvalt is dat er voor ieder kwadrant een stukje code is..(cirkelboog).

Het gaat om het stuk N114 t/m N120.

%

O0000

(PROGRAM NAME - CIRKEL )

(DATE=DD-MM-YY - 28-11-10 TIME=HH:MM - 13:08 )

N100 G21

N102 G0 G17 G40 G49 G80 G90

( 1. FLAT ENDMILL TOOL - 210 DIA. OFF. - 210 LEN. - 210 DIA. - 1. )

N104 T210

N106 G0 G90 G54 X25. Y0. S6000 M3

N108 G43 H210 Z25.

N110 Z5.

N112 G1 Z-1. F200.

N114 G2 X0. Y-25. R25. F1000.

N116 X-25. Y0. R25.

N118 X0. Y25. R25.

N120 X25. Y0. R25.

N122 G0 Z25.

N124 M5

N126 G53 Z0.

N128 G53 Z0.

N130 G53 X0. Y0.

N132 M30

%

G1 is een lineaire beweging.

G2 wil zeggen draairichting met de klok mee, G3 is tegen de klok in.

F geeft de snelheid aan, doet er dus niet toe...

G53, M5, etc zijn ook niet belangrijk.

Deze code beschrijft een volledige cirkel, maar het zou ook een "stukje" cirkel (arc) kunnen zijn.

De afzonderlijke cirkelbogen zijn te lang en moeten opgedeeld worden...

Ik ben geloof ik redelijk op weg, maar ik kan toch nog wel wat hulp gebruiken.

Bedankt voor het meedenken!

Dick

Reageer