Her repeterer vi ein del omgrep frå vektorkapittelet i R1. I tillegg får du øvd på å rekne med vektorar i tre dimensjonar. Nedst på sida kan du laste ned oppgåvene som Word- og pdf-dokument.
Dei fleste reknereglane for vektorar er like uansett om vektorane er i to eller tre dimensjonar. Hugs at du kan gå til vektorkapittelet i matematikk R1 for å repetere.
Oppgåvene skal løysast utan hjelpemiddel om ikkje anna er gitt.
Her skal vi utleie, det vil seie rekne oss fram til, formelen for skalarproduktet mellom to vektorar i tre dimensjonar ved hjelp av dei tre einingsvektorane og i høvesvis -, - og -retning.
a) Bruk definisjonen på skalarproduktet og finn og .
Løysing
b) Bruk definisjonen på skalarproduktet og finn og .
Løysing
c) Vi har gitt dei generelle vektorane og . Set , bruk reknereglar for skalarproduktet, og finn ein formel for skalarproduktet uttrykt ved koordinatane til og .
Sidan ligg i -planet rett under , vil ha koordinatane . Trekanten er rettvinkla. Det betyr at koordinatane til er . Ved å bruke pytagorassetninga får vi at
Ved å gjere tilsvarande med den rettvinkla trekanten får vi at
Lag eit program som reknar ut vektorkoordinatane til vektoren mellom to punkt og som brukaren av programmet skriv inn.
Tips til oppgåva
Vi kan skrive inn alle koordinatane éin og éin, men ved hjelp av metoden "split" kan vi skrive inn éin og éin vektor.
Løysing
Idéen er å få lagra koordinatane til kvart punkt som ei liste og gjere om listene til ein numpy-array slik at vi kan trekke den eine frå den andre i éin operasjon. Brukaren av programmet kan skrive inn eitt og eitt punkt som vi gjer om til ei liste ved hjelp av metoden "split".
python
1import numpy as np
23print("Dette programmet finn vektoren mellom to punkt A og B.")4A =input("Skriv inn koordinatane til startpunktet A på forma \"x,y,z\": ")5B =input("Skriv inn koordinatane til endepunktet B på forma \"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å skrive ut apostrofane i inputsetningane, skriv vi "\" (omvend skråstrek) framfor dei. I den siste linja konverterer vi vektoren tilbake til ei liste, for då blir det skrive ut eit komma mellom kvart listeelement (kvar koordinat).
Det er mogleg å lage kortare kode enn dette dømet. Ved å bruke såkalla "list comprehension" kan vi til dømes slå saman linje 8 til 10 og linje 13 til 15. Koden nedanfor gjer det same som linje 8 til 10:
python
1A = np.array([float(k)for k in A])
Vi kan vidare slå saman denne linja med linje 7 slik at linjene 7 til 10 kan skrivast som