Side 1 av 1

Skjæringspunkt av linje gjennom rektangel

Lagt inn: 01/06-2011 16:41
av KjetilEn
Hei, står litt fast på denne. Noen som kan hjelpe til?

Gitt to punkter [tex]p_1[/tex] og [tex]p_2[/tex], der [tex]p_1[/tex] ligger inne i rektangelet og [tex]p_2[/tex] kan ligge innenfor eller utenfor rektangelet, finn de to skjæringspunktene[tex]q_1[/tex] og [tex]q_2[/tex] der linjen krysser rektangelet. Høyden og bredden av rektangelet [tex]x_1[/tex] og [tex]x_2[/tex] er kjent. To sider av rektangelet vil alltid ligge langs x og y-aksen som vist i figuren nedenfor.

Bilde

Lagt inn: 01/06-2011 17:08
av Nebuchadnezzar
Har du fasit ?

Lagt inn: 02/06-2011 17:27
av KjetilEn
Nei, jeg har dessverre ingen fasit. Oppgaven er bare en del av et problem jeg må løse innen bildebehandling. Jeg kan prøve å omformulere oppgaven noe.

Bilde

Linjene [tex]l_2[/tex], [tex]l_3[/tex], [tex]l_4[/tex] og [tex]l_5[/tex] definerer et rektangel der bredden [tex]w[/tex] og høyden [tex]h[/tex] er kjent.

Gitt punktene [tex]p_a[/tex] og [tex]p_b[/tex] som ligger på linjen [tex]l_1[/tex], finn to punkter [tex]q_a[/tex] og [tex]q_b[/tex] som ligger på linjen [tex]l_1[/tex] slik at [tex]q_a[/tex] og [tex]q_b[/tex] definerer et linjestykke som går gjennom rektangelet, men der ingen av punktene [tex]q_a[/tex] og [tex]q_b[/tex] ligger inne i rektangelet. Punktet [tex]p_a[/tex] vil alltid ligge inne i rektangelet.

Lagt inn: 02/06-2011 17:46
av Thales

Lagt inn: 02/06-2011 18:05
av KjetilEn
Det er ikke akkurat det jeg prøver å få til. "Klipping" fjerner delene av en linje som ligger utenfor rektangelet, men jeg må utvide linjen min slik at den går gjennom hele rektangelet.

Det er derfor jeg omformulete oppgaven, for jeg kan uansett "klippe" linjen etterpå slik at den ligger innenfor rektangelet. Men takk for tipset uansett.

Lagt inn: 02/06-2011 19:23
av KjetilEn
Jeg prøver meg på et svar.

Vi har [tex]p_a = (x_a, y_a)[/tex] og [tex]p_b = (x_b, y_b)[/tex].

Finner stigningsgraden [tex]m_1[/tex] til [tex]l_1[/tex]:
[tex]m_1 = \frac{y_b-y_a}{x_b-x_a}[/tex]

[tex]l_1[/tex] er da gitt ved:
I. [tex]y = m_1(x - x_a) + y_a[/tex]
eller
II. [tex]x = \frac{1}{m_1}(y - y_a) + x_a[/tex]

Vi ser at:
[tex]l_2[/tex]: [tex]y=0[/tex] og [tex]m_2=0[/tex]
[tex]l_3[/tex]: [tex]y=h[/tex]
[tex]l_4[/tex]: [tex]x=0[/tex]
[tex]l_5[/tex]: [tex]x=w[/tex]

Vi kan da finne (de potensielle) skjæringspunktene:

Skjæringspunkt mellom [tex]l_1[/tex] og [tex]l_2[/tex]
Setter inn [tex] y=0[/tex] i II:
[tex]x = \frac{1}{m_1}(0 - y_a) + x_a[/tex]
[tex]q_2= (-\frac{1}{m_1}y_a + x_a, 0)[/tex]

Skjæringspunkt mellom [tex]l_1[/tex] og [tex]l_3[/tex]
Setter inn [tex] y=h[/tex] i II:
[tex]x = \frac{1}{m_1}(h - y_a) + x_a[/tex]
[tex]q_3 = (\frac{1}{m_1}(h - y_a) + x_a, h)[/tex]

Skjæringspunkt mellom [tex]l_1[/tex] og [tex]l_4[/tex]
Setter inn [tex] x=0[/tex] i I:
[tex]y = m_1(0 - x_a) + y_a[/tex]
[tex]q_4 = (0, -m_1x_a + y_a)[/tex]

Skjæringspunkt mellom [tex]l_1[/tex] og [tex]l_5[/tex]
Setter inn [tex] x=w[/tex] i I:
[tex]y = m_1(w - x_a) + y_a[/tex]
[tex]q_5 = (w, m_1(w - x_a) + y_a)[/tex]


Men vi må passe litt på, vi har 3 mulige tilfeller:

1. Hvis [tex]l_1 \parallel l_2 \Rightarrow[/tex] [tex]l_1[/tex] skjærer [tex]l_4[/tex] og [tex]l_5[/tex]

2. Hvis [tex]l_1 \parallel l_4 \Rightarrow[/tex] [tex]l_1[/tex] skjærer [tex]l_2[/tex] og [tex]l_3[/tex].

3. Hvis [tex]l_1 \not\parallel l_2 \wedge l_1 \not\parallel l_4 \Rightarrow[/tex] [tex]l_1[/tex] skjærer [tex]l_2[/tex], [tex]l_3[/tex], [tex]l_4[/tex] og [tex]l_5[/tex].


Vi kan da finne de endelige løsningene:

1. Hvis [tex]m_1 = m_2 = 0[/tex]:
[tex]q_a = q_4[/tex] og [tex]q_b = q_5[/tex]

2. Hvis [tex]l_1 \parallel l_4 \Leftrightarrow l_1 \perp l_2 \Leftrightarrow (x_b-x_a) = 0[/tex]:
[tex]q_a = q_2[/tex] og [tex]q_b = q_3[/tex]

3. Hvis [tex]l_1 \not\parallel l_2 \wedge l_1 \not\parallel l_4[/tex]
Her kan vi muligens finne flere løsninger, men for enkelhets skyld velger vi en løsning der [tex]q_a[/tex] og [tex]q_b[/tex] skjærer to parallelle linjer, altså:
[tex]q_a = q_2[/tex] og [tex]q_b = q_3[/tex]
eller
[tex]q_a = q_4[/tex] og [tex]q_b = q_5[/tex]


Noen som har noen kommentarer på denne løsningen?

Lagt inn: 03/06-2011 12:06
av KjetilEn
Ok, fant en feil allerede.


2. Hvis [tex]l_1 \parallel l_4 \Rightarrow x_a = x_b[/tex] og m_1 er derfor ikke definert. Vi får istedenfor

[tex]q_a = (x_a, 0) \wedge q_b = (x_a, h)[/tex]