Witam.
Piszę pewien program i mam pewien problem.
Niektórzy z was pewnie mieli styczność z Logo (polska edycja Imagine).
Otóż chcę zrobić coś podobnego (czysto w celach edukacyjnych).
I teraz mam takie pytanie. Znając początek wektora i jego długość, a także mając wzór prostej która zawiera ten "wektor" czy jest możliwe w jakiś prosty sposób ustalenie współrzędnych wektora ?
Zakładając że punkt który chce przesunąć ma współrzędne (3;4) a długość wektora to 90.
Proszę o ewentualne rady jak i gotowe odpowiedzi.
Pozdrawiam.
Obliczenie współrzędnych końca wektora.
-
- Użytkownik
- Posty: 2911
- Rejestracja: 1 maja 2006, o 21:13
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Pomógł: 623 razy
Obliczenie współrzędnych końca wektora.
np. tak
\(\displaystyle{ \begin{cases} y = ax+b \\ (x-3)^{2} +(y-4)^{2}= 90^{2} \end{cases}}\)
ale to nie jedyny sposób
\(\displaystyle{ \begin{cases} y = ax+b \\ (x-3)^{2} +(y-4)^{2}= 90^{2} \end{cases}}\)
ale to nie jedyny sposób
-
- Użytkownik
- Posty: 1456
- Rejestracja: 14 gru 2007, o 14:36
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 49 razy
- Pomógł: 198 razy
Obliczenie współrzędnych końca wektora.
Każdą prostą w \(\displaystyle{ \mathbb{R}^n}\) można przedstawić jako \(\displaystyle{ k=p+lin\left( \alpha \right)}\).
\(\displaystyle{ p}\) jest dowolnym punktem tej prostej, \(\displaystyle{ \alpha}\) jest jej wektorem kierunkowym. Skoro wektor, o którym mówisz zawiera się w tej prostej, tzn., że \(\displaystyle{ \beta \in lin\left( \alpha \right)}\), czyli \(\displaystyle{ \exists t \in \mathbb{R}:\quad \beta =t \alpha}\)
\(\displaystyle{ \left| \left| \beta \right| \right|=\left| t\right| \cdot \left| \left| \alpha \right| \right|}\)
\(\displaystyle{ \left| t\right|= \frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| }}\)
\(\displaystyle{ t=\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \ \vee \ t=-\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| }}\)
Istnieją zatem 2 wektory spełniające Twoje warunki. Przy czym punkt zaczepienia nie był, jak widać, potrzebny.
\(\displaystyle{ \beta _1=\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \alpha}\)
\(\displaystyle{ \beta _2=-\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \alpha}\)
\(\displaystyle{ p}\) jest dowolnym punktem tej prostej, \(\displaystyle{ \alpha}\) jest jej wektorem kierunkowym. Skoro wektor, o którym mówisz zawiera się w tej prostej, tzn., że \(\displaystyle{ \beta \in lin\left( \alpha \right)}\), czyli \(\displaystyle{ \exists t \in \mathbb{R}:\quad \beta =t \alpha}\)
\(\displaystyle{ \left| \left| \beta \right| \right|=\left| t\right| \cdot \left| \left| \alpha \right| \right|}\)
\(\displaystyle{ \left| t\right|= \frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| }}\)
\(\displaystyle{ t=\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \ \vee \ t=-\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| }}\)
Istnieją zatem 2 wektory spełniające Twoje warunki. Przy czym punkt zaczepienia nie był, jak widać, potrzebny.
\(\displaystyle{ \beta _1=\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \alpha}\)
\(\displaystyle{ \beta _2=-\frac{\left| \left| \beta \right| \right| }{\left| \left| \alpha \right| \right| } \alpha}\)
-
- Użytkownik
- Posty: 2911
- Rejestracja: 1 maja 2006, o 21:13
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Pomógł: 623 razy
Obliczenie współrzędnych końca wektora.
II sposób.aalmond pisze:np. tak
\(\displaystyle{ \begin{cases} y = ax+b \\ (x-3)^{2} +(y-4)^{2}= 90^{2} \end{cases}}\)
ale to nie jedyny sposób
Jeżeli początek wektora znajduje się w punkcie \(\displaystyle{ ( x_{p}, y_{p})}\), a prosta ma równanie: \(\displaystyle{ y = ax+b}\), to:
\(\displaystyle{ x_{k1}= d \cdot \cos ( \arctan (a)) + x_{p}\\
x_{k2}= d \cdot \cos ( \arctan (a )+ \pi ) + x_{p} \\}\)
gdzie \(\displaystyle{ d}\) - długość wektora
\(\displaystyle{ y_{k1} = a \cdot x_{k1}+b \\
y_{k2} = a \cdot x_{k2}+b}\)