» »

Projekcija točke na premico

Projekcija točke na premico

c0dehunter ::

Programiram funkcijo, ki bi mi vrnala točko projekcije podane točke na črto.
Sam sem se tega skušal lotiti s pomočjo vektorjev:

A,B- točki, ki definirata premico oz. črto
T-točka, ki jo projeciramo
P-projecirana točka


Prva formula: P=A+k*AB (A, AB vektorja)
Druga formula: AB . PT=0 (vektorA vektorsko vektorB je 0, če sta pravokotna)
- AB . (T-P)=0
- namesto P vstavim zgornjo formulo, in izračunam k

dobim
k=(-(AB . T)+(A . AB))/(AB . AB);
Ko dobim k, lahko izračunam točko P.

Problem je, da zmeraj dobim k=0 8-O Kaj počnem narobe? Sem že ene parkrat šel vse čez in zmeraj dobim to formulo za k.
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

drola ::

Točko lahko projeciraš takole:
k_premice = (y(A) - y(B)) / (x(A) - x(B))
k_pravokotnice = -1/k_premice
izračunaš še n od obeh premic. Prva mora skozi točko A in B, druga skozi T.
Potem izračunaš presečišče teh dveh premic -> tvoj P.

Glede vektorske metode: ko sem jaz naredu izpeljavo, sem dobil k = (rT . AB - rA . AB)/|AB|^2
Vzel A(0,0), B(3,3) in T(0,3) => AB = (3-0, 3-0) = (3,3);
k = (0,3) . (3,3) - (0,0) . (3,3) / (3*3 + 3*3)
k = (0*3 + 3*3 - 0*3 - 0*3) / 18 = 9/18 = 1/2
https://drola.si

c0dehunter ::

drola hvala.

Danes sem ugotovil, da je tudi moja izpeljava za k pravilna, napaka je bila pri implementaciji (ni samo castalo iz int v double).
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

zoranf ::

@c0dehunter

kak si se pa lotil risanja mnogkotnikov?

Hvala, lp

c0dehunter ::

Zoran, kako to misliš? Če misliš to kar si napisal, potem tako da si shranjujem točke kamor uporabnik klikne, in jih nato povežem z DrawLine(A,B) funkcijo :))
I do not agree with what you have to say,
but I'll defend to the death your right to say it.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matematika-problem

Oddelek: Šola
81641 (1415) Math Freak
»

Linearne funkcije

Oddelek: Šola
61503 (1202) lebdim
»

matematka

Oddelek: Šola
233178 (2157) lebdim
»

enačba ravnine

Oddelek: Šola
159474 (6947) cotax
»

Matematika - pomoč (strani: 1 2 3 )

Oddelek: Šola
10426897 (23472) daisy22

Več podobnih tem