[Wiskunde] Navigeren om een kubus

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Berichten: 3

[Wiskunde] Navigeren om een kubus

Ik zou graag wat hulp hebben met het volgende probleem:

Ben op het moment bezig me om een kubus te navigeren in een 3 dimensionele ruimte.

Ik heb een beginpunt s, en een eindpunt g. Ik trek een lijn van punt s naar g. Op het moment dat ik de kubus doorsnijd, wil ik weten op welk punt ik de kubus snij, vanaf dat punt wil ik naar het dichtstbijzijnde punt op de dichtstbijzijnde ribbe. Vanaf dit punt weer een lijn trekken naar punt g.

Ik heb een aantal problemen. Als eerste advies hoe de kubus te beschrijven. Moet ik zes vlakken beschrijven?

Hoe bepaal ik het snijpunt, en het dichtstbijzijnde punt op de dichtstbijzijnde ribbe?

Vriendelijke groeten, Sytse

Re: [Wiskunde] Navigeren om een kubus

Is het de bedoeling dat je daar een computerprogramma voor wilt schrijven?

Ik kan alleen zeggen hoe ik het zou programmeren.

Neem aan dat de lengte van de ribbe van de kubus 2r is.

De kubus wordt begrensd door de vlakken x=r, x=-r,y=r,y=-r,z=r,z=-r.

Simpel dus. Het snijden van een lijn met deze kubus levert heel simpel een snijpunt. De kortste afstand tot een ribbe is ook simpel te bepalen.

Nu laat ik niet de kubus in de ruimte ronddolen maar de punten s=s(t) en g=g(t) en houdt de afstand s(t)g(t) constant.

Als s en g verplaatst zijn naar s' en g', dan moet je even een matrix uitrekenen (in het algemene geval natuurlijk), die s' en g' weer terugplaatsen naar s en g. Gebruik deze matrix om ook alle hoekpunten en de snijpunten terug te werpen naar de situatie met onveranderlijke s en g.

You snap? :roll:

Berichten: 3

Re: [Wiskunde] Navigeren om een kubus

Alvast bedankt voor de reactie :roll:
PeterPan schreef:Is het de bedoeling dat je daar een computerprogramma voor wilt schrijven?

Ik kan alleen zeggen hoe ik het zou programmeren.
Het is inderdaad voor een computerprogramma.
Het snijden van een lijn met deze kubus levert heel simpel een snijpunt. De kortste afstand tot een ribbe is ook simpel te bepalen.
Hier zit mijn eerste probleem. Hoe bepaal ik in de eerste plaats of, en waar de lijn de kubus snijdt?

Groeten

Re: [Wiskunde] Navigeren om een kubus

Hier zit mijn eerste probleem. Hoe bepaal ik in de eerste plaats of, en waar de lijn de kubus snijdt?
De lijn is bijvoorbeeld
\(\overline{x} = \lambda \left( \begin{array}{c} 2 3 -1 \end{array} \right) \)
Dan is x = 2\(\lambda\), y = 3\(\lambda\) en z = -\(\lambda\).

Snijden met x=r, x=-r, y=r, y=-r, z=r, z=-r levert de volgende snijpunten op met de kubus:

(r,3r/2,-r/2), (-r,-3r/2,r/2), (2r/3,r,-r/3), (-2r/3,-r,2r/3), (-2r,-3r,r) en (2r,3r,-r).

Alleen (2r/3,r,-r/3) en (-2r/3,-r,2r/3) voldoen, want de coordinaten moeten tussen -r en r liggen.

Gebruikersavatar
Berichten: 5.679

Re: [Wiskunde] Navigeren om een kubus

shengeveld schreef:Hier zit mijn eerste probleem. Hoe bepaal ik in de eerste plaats of, en waar de lijn de kubus snijdt?

Groeten
Die lijn van s naar g kun je uitdrukken als s+t(g-s) met t=0..1

Voor het gemak schrijf ik even d=g-s

Vervolgens los je deze 6 vergelijkingen op naar t:
\(s_x + t \cdot d_x = r\)
\(s_x + t \cdot d_x = -r\)
....

En idem voor y en z. Je krijgt dan maximaal 6 waarden voor t (het zou kunnen dat sommige van die 6 vergelijkingen niet oplosbaar zijn, als de lijn loodrecht op 1 van de vlakken staat).

Oplossingen waarbij t<0 of t>1 gooi je weg (daar ligt een eventueel snijpunt namelijk voor s of voorbij g).

Vervolgens bepaal je voor iedere t die nog over is, het bijbehorende punt op de lijn s-g:
\(p_i = s + t_i \cdot d\)
Nu kijk je voor iedere p of dat punt op of buiten de kubus ligt: als px<-r of px>r of py<-r of.. enz (6 criteria), dan ligt het punt erbuiten en gooi je hem weg.

Als s en g zelf allebei buiten de kubus lagen heb je nu nog 2 oplossingen over, het punt p wat bij de kleinste t hoort is waar de lijn s-g de kubus in gaat, het tweede punt is waar hij weer naar buiten komt:

Afbeelding

(edit) nevermind, PeterPan was me voor :roll: Naja hopelijk maakt deze uitleg het een beetje visueel.
In theory, there's no difference between theory and practice. In practice, there is.

Reageer