Pozycja objektu (X,Y,Z,A,B,C)

0

Dzien dobry,

Poszukuje algorytmu do ustalania pozycji objektu w kartezjanskim ukladzie wspołrzednych.
Obiekt to prostopadłościan. W czterech punktach (naroznych) wykonywany jest pomiar odległosci.
Znane są odległości dla pozycji zerowej (oraz wymiary obiektu). oraz odległości aktualne obiektu.
Poniżej rysunek (tylko 2D dla łatwiejszego rysowania)
screenshot-20201113054613.png

Po lewej stronie jest pozycja zerowa, po prawej pozycja aktualna. Czyli mamy dlugości zielonych i niebieskich odcinków i pozycje punktów.
Potrzebuje znależć przesunięcie obiektu w osiach X, Y, Z, A, B, C w stosunku do pozycji zerowej.

1

Jesli z dwoma przeciwległymi wierzchołkami prostokąta, powiążesz wektory, to one wyznaczają jego położenie w układzie. Każdy ruch obiektu mozna złożyć z obrotu (macierz) i translacji (dodawanie liczb do współrzędnych).

0

i pozycje punktów.

Których punktów? Znasz pozycje punktów przeciecia tych twoich niebieskich linii z figurą? Bo jeśli nie, to nie da rady bo masz za mało równań (przynajmniej na pierwszy rzut oka). Jeśli jednak znasz punkty przecięcia z figurą, to wtedy nie ma problemu, bo bierzesz takie dwa punktu na tym samym boku, nazwijmy je A i B i teraz wektor AB jest przesunięty i zrotowany pomiędzy twoimi obrazkami. Potrzebujesz jedynie wyliczyc w jaki sposób.
Kąt można wyliczyć na podstawie równania prostej na której leży AB, a jak już mamy taką prostą to można wyliczyć sobie współrzędne punktu na tej prostej w w x=0 oraz dla y=0 i na tej podstawie wiadomo ile wynosi translacja / przesunięcie.
*Ta metoda wyliczania translacji nie zadziała dla obrotu o k*90 stopni.

0

Których punktów? Znasz pozycje punktów przeciecia tych twoich niebieskich linii z figurą?

Znam o tyle że jest to stala pozycja na obiekcie (nie w przestrzeni XYZ).
Chodzi właśnie o to zeby znależć pozycje tych punktów w XYZ.
Poniżej może bardziej zrozumiały rysunek

screenshot-20201117044114.png

Po lewej jest pozycja zerowa obiektu (0,0,0,0,0,0,0). Znane są odległości: g, h, i, j
Po prawej obiekt w rzeczywistości (X,Y,Z,A,B,C). Znamy odległośći: g1, h1, i1, j1.
Punkty G1,H1,I1,J1 są stałe w przestrzeni. Punkty G, H, I, J są stałe na obiekcie.

Ograniczmy się do 2D i jednego boku HG. Przyjmijmy (0.0) w punkcie H1.
Po lewo wspołrzedne wektora HG = (h, HG), ale nie bardzo wiem jak obliczyć HG po prawo?

Czy mając tylko dane g,h,i,jg1,h1,i1,j1 jestesmy w stanie matematycznie obliczyć Z,Y,Z,A,B,C?
Może jedynym rozwiązaniem jest iteracyje przesuwanie obiektu i sparawdzanie czy wyliczone doległości są takie jak g1, h1, i1, j1.
Zakładając że w każdej osi mogę przesunąc się max o 10 jednostek, jest do sprawdzenia jest 10^6 iteracji (o ile dobrze licze).

0

Nie da się, odległości to za mało; dla takich samych odległości położenie obiektu może być różne. Potrzebne jest przesunięcie lub/i kąt obrotu obiektu.

0

No wlasnie nie jestem pewien czy bardzo różne, to co pisałem powyżej jeżeli otrzymamy 2, 3 czy 4 pozycje spełniające ten warunek, to da się je weliminować za pomocą "warunków brzegowych

Nie bardzo, dla uproszczenia, wyobraź sobie odcinek, którego końce są opisane wektorami, (1, 1) i (3, 3), w liczbach rzeczywistych, jest nieskończona ilość położeń odcinka w układzie, z równymi długościami wektorów, (kręcimy oboma wektorami, równo, po okręgu).

0

No tak, ale obiekt "trzyma" cztery wektory, więc nie będzie nieskonczenie wiele rozwiązań. To może inaczej, ile punktów pomiarowych powinienem mieć żeby wynik był jednoznaczny?

Dla prostokąta wystarczą dwa wektory, (reszta jest redundantna), ale inaczej, nie ma znaczenia ile tych wektorów będzie, bo Możesz sobie nimi kręcić, przesuwając obiekt w różne położenia, przy tych samych długościach. To co jest potrzebne, aby znaleźć wsþółrzędne to kąt obrotu i wektor przesunięcia.

0

Zmieniłem pozycję punktów pomiarowych, aby jaśniej pokazać o co mi chodzi.
screenshot-20201118011506.png
Zakładamy że obiekt nie może znajdować się powyżej G1I1 i poniżej H1J1. Eliminujemy tym to o czym pisał @Delor, czyl obiekt jest "u góry" lub "u dołu"
Mając długości zielonych odcinków i wymiary obiektu nie ma chyba szans na ustawienie obiektu w dwóch lub więcej pozycjiach? Czy się mylę??
Przy obiekcie 2D, jak na rysunku, wystarczyły by tylko trzy pomiary.

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