Her repeterer vi en del begreper fra vektorkapittelet i R1. I tillegg får du øvd på å regne med vektorer i tre dimensjoner. Nederst på siden kan du laste ned oppgavene som Word- og pdf-dokumenter.
De fleste regnereglene for vektorer er like uansett om vektorene er i to eller tre dimensjoner. Husk at du kan gå til vektorkapittelet i matematikk R1 for å repetere.
Oppgavene skal løses uten hjelpemidler om ikke annet er oppgitt.
Her skal vi utlede, det vil si regne oss fram til, formelen for skalarproduktet mellom to vektorer i tre dimensjoner ved hjelp av de tre enhetsvektorene og i henholdsvis -, - og -retning.
a) Bruk definisjonen på skalarproduktet og finn og .
Løsning
b) Bruk definisjonen på skalarproduktet og finn og .
Løsning
c) Vi har gitt de generelle vektorene og . Sett , bruk regneregler for skalarproduktet, og finn en formel for skalarproduktet uttrykt ved koordinatene til og .
Siden ligger i -planet rett under , vil ha koordinatene . Trekanten er rettvinklet. Det betyr at koordinatene til er . Ved å bruke pytagorassetningen får vi at
Ved å gjøre tilsvarende med den rettvinklede trekanten får vi at
Lag et program som regner ut vektorkoordinatene til vektoren mellom to punkter og som brukeren av programmet skriver inn.
Tips til oppgaven
Vi kan skrive inn alle koordinatene én og én, men ved hjelp av metoden "split" kan vi skrive inn én og én vektor.
Løsning
Idéen er å få lagret koordinatene til hvert punkt som ei liste og gjøre om listene til en numpy-array slik at vi kan trekke den ene fra den andre i én operasjon. Brukeren av programmet kan skrive inn ett og ett punkt som vi gjør om til ei liste ved hjelp av metoden "split".
python
1import numpy as np
23print("Dette programmet finner vektoren mellom to punkter A og B.")4A =input("Skriv inn koordinatene til startpunktet A på formen \"x,y,z\": ")5B =input("Skriv inn koordinatene til endepunktet B på formen \"x,y,z\": ")67A = A.split(",")8for i inrange(len(A)):9 A[i]=float(A[i])10A = np.array(A)1112B = B.split(",")13for i inrange(len(B)):14 B[i]=float(B[i])15B = np.array(B)1617vektor = B - A
18print(f"Vektoren mellom A og B blir {list(vektor)}.")
Legg merke til at for å få skrevet ut apostrofene i inputsetningene, skriver vi "\" (omvendt skråstrek) foran dem. I siste linje konverterer vi vektoren tilbake til ei liste, for da blir det skrevet ut et komma mellom hvert listeelement (hver koordinat).
Det er mulig å lage kortere kode enn dette eksempelet. Ved å bruke såkalt "list comprehension" kan vi for eksempel slå sammen linje 8 til 10 og linje 13 til 15. Koden nedenfor gjør det samme som linje 8 til 10:
python
1A = np.array([float(k)for k in A])
Vi kan videre slå sammen denne linja med linje 7 slik at linjene 7 til 10 kan skrives som