Animacja kąta prostego

0

Witam. Staram się napisać animację ramienia manipulatora i napotkałem na problem. f1fd8b3857.png
TracBarami zmieniam położenie punktów linii 1,2,3. W jaki sposób mogę uzależnić punkt 3 tak aby jego położenie zmieniało się razem ze zmianą położenia punktu 2? Chciałbym aby kąt przy punkcie 2 był stały podczas manipulowania elementem 1-2.
Z góry dziękuję za wszelką pomoc.

0

Hej,

Na szybko - policz odległość między punktem 1 i 3, i przy każdym obrocie sprawdzaj czy te punkty są w tej samej odległości od siebie.

0

Nie rozumiem w ogóle tej idei. Możesz troche rozwinąć na jakiej zasadzie to ma działać. Ok, sprawdzam sobie i wychodzi mi np. że nie są w tej samej odległości i co dalej ?

0

Coś w stylu (uwaga, pseudokod):

method TrackBar2.OnDrag
{
 TrackBar3.Position.setX(TrackBar2.Position.getX()+jakaś tam odległość);
 TrackBar3.Position.setY(TrackBar2.Position.getY());
}
0

Na chwile obecną mam tak:

if (trackBar4.Value > 90)
                {
                ramie.X2 = 459 + (trackBar4.Value - 90);
                przedramie.X1 = 459 + (trackBar4.Value - 90);
                ramie.Y2 = 130 - (90 - trackBar4.Value);
                przedramie.Y1 = 130 - (90 - trackBar4.Value);
                }
            if (trackBar4.Value < 90)
                {
                ramie.X2 = 459 - (90 - trackBar4.Value);
                przedramie.X1 = 459 - (90 - trackBar4.Value);
                ramie.Y2 = 130 + (90 - trackBar4.Value);
                przedramie.Y1 = 130 + (90 - trackBar4.Value);
                 } 

ramię czyli odcinek 1-2 działa jak należy. Pierwszy punkt przedramienia porusza się razem z ramieniem. Na drugi punkt działającego pomysłu nie mam :(

1

Hej,

Możesz pobawić się matematyką i sprawdzać czy twoje odcinki (proste) przecinają się pod kątem prostym. Pod tym linkiem znajdziesz teorie jak coś takiego można :
wyliczyć:
http://www.gumienny.edu.pl/skrypty/f_liniowa.pdf

Idąc dalej tym tropem możesz dla pierwszego ramienia szukać prostej która przecina w danym punkcie twoją prostą pod kątem i na tej zasadzie rysować drugie ramie;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0