Nu heb ik een macro nodig om een bepaalde lijn te tekenen.
- Een lijn begint vanaf een startpunt met coordinaten x en y.
- De lijn heeft een bepaalde lengte.
- En de lijn staat onder een bepaalde hoek.
Hoe ziet mijn macro er dan uit ?
Alvast bedankt voor de moeite !! Gr. Martijn
Ojee terug naar het voortgezet onderwijs, een beetje geometrie
Vanuit landmeetkundig oogpunt:
Xe=Xs + sin(Hoek) * Lengte
Ye=Ys + cos(Hoek) * lengte
Xs, ys = startpunt
Xe,Ye = eindpunt
Hoek in radialen
X-as is horizontaal en Y-as verticaal
VBA kent geen omrekening van graden naar radialen (ja ja wel via
Worksheetfunction, maar waarom zou je)
Hoek in radialen = hoek ingraden * PI / 180
PI= ATN(1)*4
Nu een klein addertje onder het gras.
De hoek in de wiskunde wordt gerekend van de horiontaal naar boven
(tegen de klok in)
dit betekent dat de sin en cos omgedraaid moeten worden
Xe=Xs + cos(Hoek) * Lengte
Ye=Ys + sin(Hoek) * lengte
Excel heeft de oorsprong linksboven liggen EN de positief Y-as gaat
naar beneden, in de 'normale' wereld ligt de oorsprong linksonder en is
de positief Y-as naar bovengericht.
In het Excel assenstelsel wordt het, positieve hoek tegen de
klokrichting in.
Xe=Xs + cos(Hoek) * Lengte
Ye=Ys - sin(Hoek) * lengte
Je wiskundige verhaal is bijna geheel juist: oor de spiegeling
veranderen de formules, echter niet zoals jij aangeeft, maar de formules
blijven gelijk op de hoek na, die moet negatief worden genomen.
De formules worden dan:
Xe=Xs + cos(Hoek*-1) * Lengte
Ye=Ys + sin(Hoek*-1) * lengte
Groeten
Wim Hendriksen
RaceEend schreef:
Wim Hendriksen schreef:
> Ik was even te snel:
> immers sin(-alfa) = -sin(alfa) en cos(-alfa)= cos (alfa)
> te hebt daarmee toch gelijk.
> Groeten
> Wim Hendriksen
>
Ik schrok al, daar ik 20 jaar hiermee bijna dagelijks mee te maken en
het zou anders zijn....;-)
Maar gelukkig, het blijkt nog steeds zo te zijn.