• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wyznaczenie wektorów w obwodzie elementów na odcinku najkrótszej ich drogi

Object Storage Arubacloud
0 głosów
188 wizyt
pytanie zadane 11 lipca 2017 w Algorytmy przez dkarski Obywatel (1,610 p.)
edycja 11 lipca 2017 przez dkarski

Cześć, mam taki przypadek, w którym chciałbym wyznaczyć wektory w obwodzie elementów na odcinku najkrótszej ich drogi, jak na poniższym zdjęciu (czerwone kropki).

 

https://stackoverflow.com/questions/20916953/get-distance-between-two-points-in-canvas

znalazłem podobną odpowiedź na moje pytanie, jednak ona się odnosi do wektorów, a ja chce wyznaczyć te wektory jeszcze na obwodzie różnych elementów (kółko, kwadrat, trójkąty). Powiedzmy, że zawsze znam własności, jak szerokość, długość, wysokość, promień, średnice itp.

Potrzebuję choćby wskazówki, bo na razie wydaję mi się to troszkę bardziej zaawansowaną matmą. Chętnie się do uczę :))

2 odpowiedzi

+1 głos
odpowiedź 11 lipca 2017 przez niezalogowany
edycja 11 lipca 2017
Czyli chcesz uzyskać dystans pomiędzy dwoma czerwonymi kropkami jako wektor (czy skalar)? Dla każdej figury musisz obliczyć położenie czerwonych punktów na osi środków dwóch figur. Dla koła liczyć różnice położeń dwóch środków (odejmowanie wektorów). Następnie normujesz ją do wersora. Mnożąc wersor przez promień i dodając położenie środka pierwszego koła otrzymasz 1 punkt. Analogicznie dla drugiego tylko wersorowi nadaj przeciwny zwrot (albo licz go indywidualnie z perspektywy drugiej figury co przyda się bardziej w kontekście różnych figur). Masz dwa czerwony punkty, czyli dwa wektory. Odejmujesz się otrzymujesz różnice położeń i dalej z  tw. Pitagorasa.

Podobnie z innymi figurami. Tylko w ich przypadkach nie jest łatwo określić położenie czerwonych punktów. Jednak skoro kwadrat składa się z 4 linii to możesz napisać 4 równania liniowe. Następnie możesz sprawdzić czy różnica odległości dwóch środków figur przecina się z którymś z odcinków kwadratu. Wylicz wtedy położenie punktu przecięcia odcinków. Może się przecinać z kilkoma więc sprawdź, który jest bliżej środka drugiej figury (w jakiejś bardziej skomplikowanej figurze - jak masz figury proste to nie potrzeba). Dla trójkąta masz wtedy 3 równania itd.
komentarz 11 lipca 2017 przez dkarski Obywatel (1,610 p.)
Hej, powiem Ci, że używasz dość specjalistycznego języka, spróbuję przeanalizować Twoją odpowiedź jutro na świeżo i dam Ci znać.

 

Ogólnie potrzebuję wektorów czerwonych punktów, przy wyznaczonej najkrótszej między danymi elementami.
komentarz 12 lipca 2017 przez niezalogowany
W razie problemów zawsze mogę coś doradzić. Użytkownik obl dał Ci kilka gotowych wzorów według tego samego przepisu ;)
0 głosów
odpowiedź 12 lipca 2017 przez obl Maniak (51,280 p.)
edycja 12 lipca 2017 przez obl

W przypadku okręgu będzie najprościej, bo jeżeli dane będą:

Co - punkt centralny okręgu;

Ct - punkt centralny trójkąta

to obliczenie położenia punktu czerwonego na kole będzie wyglądało tak:

Pk = (Ct - Co) * r / |Ct - Co|

od razu mówię, że |Ct - Co| to nie jest wartość bezwzględna a długość wektora leżącego pomiędzy punktami Ct i Co

Jeżeli chodzi o kropki z kwadratów i trójkątów to musisz użyć tego

http://www.algorytm.org/geometria-obliczeniowa/przecinanie-sie-odcinkow.html

i

http://www.obliczeniowo.com.pl/?id=Wyznaczanie punktu przecięcia dwóch prostych

Podobne pytania

0 głosów
0 odpowiedzi 674 wizyt
pytanie zadane 30 listopada 2016 w Java przez Patryk Rafał Bywalec (2,700 p.)
0 głosów
1 odpowiedź 594 wizyt
pytanie zadane 13 marca 2016 w C i C++ przez adambalski1 Obywatel (1,010 p.)
0 głosów
1 odpowiedź 310 wizyt

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...