Werkplaats / De werkplaats
In jouw eigen tempo
← Wiskunde-fundament
MODULE 01 · LES 01

Een vector is een richting

Geef gegevens een richting en grootte. Bouw zelf de drie basisbewerkingen voor vectoren.

30 min3 checkpoints
DIT GA JE ONTDEKKEN
  • Je leest een tweedimensionale vector als een verplaatsing.
  • Je berekent lengte, optelling en schaling zonder een bibliotheek.
Voorkennis: rekenen met positieve en negatieve getallen

Een model dat een huisprijs voorspelt, kan werken met getallen zoals oppervlakte en aantal kamers. Die getallen krijgen een vaste volgorde: anders weet het model niet welk getal wat betekent. Zo'n geordende rij heet een vector (vector).

Wij beginnen met twee getallen, zodat je de rij ook als een pijl kunt tekenen. Het eerste getal, de x-component, zegt hoeveel je naar rechts gaat; het tweede, de y-component, hoeveel je omhoog gaat. Een negatief getal stuurt je juist naar links of omlaag.

De vector (3, 4) is dus een verplaatsing: drie naar rechts, vier omhoog. Dezelfde verplaatsing kan op verschillende plekken beginnen; hieronder tekenen we haar vanaf het nulpunt. Zo kun je straks richtingen vergelijken zonder steeds een andere beginplek mee te nemen.

KIJK · VERANDER · BEGRIJPEen vector in de ruimte

Verander de componenten. Wat gebeurt er met de lengte?

xy0referentie (1, 0)v = (3, 4)
Lengte 5.00Inproduct met (1, 0) 3.0Cosinus 0.60

Probeer eerst: zet x op 3 en y op 4, en verander daarna alleen x naar −3. De pijl wijst een andere kant op, maar blijft even lang. Laat de andere twee meetwaarden onder het diagram nog even staan: die horen bij de volgende les.

1. De rechte afstand, niet de route langs de assen

Drie stappen naar rechts en vier omhoog vormen twee zijden van een rechthoekige driehoek. De pijl neemt de rechte weg van begin naar eind: de schuine zijde. De regel van Pythagoras zegt dat het kwadraat van die rechte afstand gelijk is aan de som van de twee andere kwadraten.

Een kwadraat is een getal maal zichzelf: drie in het kwadraat is negen. De wortel draait dat om: de wortel van vijfentwintig is vijf, omdat vijf maal vijf vijfentwintig is. We kiezen de niet-negatieve wortel, want een afstand is niet negatief.

‖v‖=x2+y2

Hier is v de hele vector; x en y zijn haar twee componenten. De dubbele strepen betekenen de Euclidische lengte (Euclidean norm) van die vector. De wortel omvat de hele som.

Voor (3, 4) reken je achtereenvolgens: 3 × 3 = 9, 4 × 4 = 16, samen 25 en de wortel daarvan 5. In Python is ** 2 kwadrateren en ** 0.5 de wortel nemen:

x = 3
y = 4
kwadraten = x ** 2 + y ** 2
print(kwadraten)          # 25
print(kwadraten ** 0.5)   # 5.0

= bewaart een waarde onder een naam; print(...) toont een waarde. Tekst na # is alleen toelichting bij de code.

Veelgemaakte fout: 3 + 4 geeft 7, maar dat is de route langs beide assen. De rechte afstand is 5. Voor (−3, 4) krijg je weer 9 + 16, dus dezelfde afstand.

In het oefenlab staat def vector_lengte(x, y): al klaar: def benoemt de berekening, x en y zijn haar invoer. Na return zet je de uitkomst die de functie teruggeeft. Vervang daar de vaste nul door jouw berekening, ook voor (0, 0).

01
CHECKPOINTBereken de lengte

2. Twee bewegingen achter elkaar

Je staat eerst op (1, 2) en schuift daarna (3, −1) op. Horizontaal kom je op 1 + 3 = 4; verticaal op 2 − 1 = 1. De eindplek is (4, 1): je telt dus overeenkomstige componenten op.

Python schrijft zo'n rij als een lijst met vierkante haken. Het tellen van posities begint bij nul: p[0] is het eerste getal en p[1] het tweede.

p = [1, 2]
v = [3, -1]
nieuw = [p[0] + v[0], p[1] + v[1]]
print(nieuw)   # [4, 1]
print(p)       # [1, 2]

De vierkante haken maken een nieuwe lijst en houden de oorspronkelijke plek beschikbaar. Als je daarentegen p[0] verandert, wijzig je de invoerlijst zelf en kun je de oude plek niet meer gebruiken om een tweede route te vergelijken. Maak nu verplaats(p, v); de lijsten bevatten in deze oefening steeds twee getallen.

02
CHECKPOINTCombineer verplaatsingen

3. Dezelfde verplaatsing vergroten

Doe de verplaatsing (2, 1) twee keer en je komt op (4, 2). Schaling (scaling) vermenigvuldigt iedere component met hetzelfde getal, de scalar. Hier is die scalar 2.

v = [2, 1]
factor = 2
print([v[0] * factor, v[1] * factor])   # [4, 2]

Een positieve factor 2 verdubbelt de lengte zonder de richting te veranderen. Factor −1 geeft (−2, −1): dezelfde lengte, maar de tegenovergestelde richting. Factor 0 maakt beide componenten nul.

Schalen kan ook verkleinen: factor 0.5 maakt (2, 1) half zo groot, dus (1, 0.5).

Let op: alleen de eerste component verdubbelen geeft (4, 1), een andere richting. Probeer (2, 1), (4, 2) en (4, 1) in het diagram en vergelijk de pijlen. Schrijf daarna schaal(v, factor), opnieuw met een nieuwe uitvoerlijst.

03
CHECKPOINTSchaal een vector

Wat neem je mee?

  • Een vector bewaart getallen in een betekenisvolle volgorde; in twee dimensies kun je haar als verplaatsing tekenen.
  • Lengte meet rechte afstand. Optellen combineert bewegingen per component.
  • Schalen werkt op alle componenten; een positieve factor bewaart de richting, een negatieve keert haar om.

Bij woninggegevens hebben componenten verschillende eenheden: oppervlakte is iets anders dan kamers. Een getekende afstand is daar niet automatisch een zinvolle overeenkomst; later leer je gegevens passend schalen. Eerst onderzoek je in de volgende les hoe twee pijlen dezelfde kant op kunnen wijzen, ook als ze niet even lang zijn.

Verder lezen & bronnen

Inhoud gecontroleerd op 2026-10-26.
DE VOLGENDE STAPHoeveel wijzen ze dezelfde kant op?
JOUW EXPERIMENT

Probeer het zelf

Python
main.py

Python start zodra jij code uitvoert.

UITVOER

Je uitvoer verschijnt hier.
Alles rekent in je eigen browser.

Jouw checkpoints0 / 3
01
Bereken de lengte

Maak vector_lengte correct voor positieve, negatieve en nulcomponenten.

Een hint

Kwadrateer beide componenten, tel op en neem dan de wortel.

02
Combineer verplaatsingen

Tel twee vectoren per component op zonder de invoer te veranderen.

Een hint

De eerste uitvoer is p[0] + v[0]; behandel de tweede op dezelfde manier.

03
Schaal een vector

Vermenigvuldig alle componenten met de scalar.

Een hint

Een negatieve factor verandert het teken van iedere component.

Vastgelopen? Bekijk de voorbeeldoplossing
def vector_lengte(x, y):
    return (x ** 2 + y ** 2) ** 0.5

def verplaats(p, v):
    return [p[0] + v[0], p[1] + v[1]]

def schaal(v, factor):
    return [v[0] * factor, v[1] * factor]

Voer de code uit en verklaar voor jezelf waarom elke stap werkt.