Beschrijvende constructies

Er zijn twee constructiemodi:

De visuele constructiemodus is de standaard manier van werken. Om van modus te wisselen kan je volgende icoon gebruiken: icoon, of je doet het via het menu. In de beschrijvende modus wordt het toestandsveld onderaan vervangen door een invoervak.

Visuele modus

Hier gebruik je de muis om voorwerpen te construeren.

Beschrijvende modus

In deze modus is er een invoerlijn onder de constructie. Je kan via deze invoerlijn een constructie maken zonder de muis te gebruiken. Let op volgende verschilpunten met de visuele modus:

Er is een vaste syntaxis voor de input: naam=function(parameter,...)

Als de naam ontbreekt krijgt het geconstrueerde voorwerp een standaardnaam (bvb. P1 voor een punt, l3 voor het derde lijnstuk,...). Hierna volgt een korte beschrijving van de syntaxis. Merk op dat je overal waar een waarde verwacht wordt ook wiskundige uitdrukkingen kan gebruiken. Lege haakjes kan je weglaten. Opmerking: het is belangrijk dat je hoofdletters en kleine letters respecteert. Zo is het commando voor een punt 'P' en NIET 'p'!

Nog een opmerking: overal waar in onderstaande tabel "waar" (of 'true') vermeld staat, kan je ook "vals" (of 'false') kiezen. Het effect is dan natuurlijk net het tegenovergestelde.

Syntaxis Lang Beschrijving
A=P() Punt Genereert een punt (met naam 'A') op een willekeurige positie.
A=P(0,1) Een vast punt.
a=l(B,C) lijnstuk Een lijnstuk van B tot C.
a=l(B,2) Een lijnstuk met een vaste lengte.
a=r(B,C) rechte Een rechte door B en C.
a=s(B,C) straal Een straal (halfrechte) van B door C.
c=c(A,B) cirkel Een cirkel rond A door B.
c=c(A,2) Een cirkel met een vaste straal.
c=c(A,B,C) Een cirkel rond A met straal BC.
A=I(a,b) intersectie Intersectie van twee rechten a en b.
A,B=I(c1,c2) Beide snijpunten tussen twee voorwerpen (bvb. twee cirkels)
away(A,P) away Houd het snijpunt A weg van het punt P.
M=M(A,B) Middelpunt Het middelpunt van AB.
g=e(d,A) evenwijdige De evenwijdige door A aan d
g=n(g,A) loodlijn De loodlijn door A op g.
a=h(A,B,C) hoek De hoek ABC
a=h(A,B,90) Een hoek met een vaste grootte.
A=V(P1,P2,P3) veelhoek Maakt een oppervlakte met deze hoekpunten.
waarde(P,0,1) waarde Maakt het punt vast op de gegeven coördinaten.
waarde(l,2) Fixeert de lengte van het lijnstuk l.
waarde(c,2) Zet de straal van cirkel c gelijk aan 2.
waarde(w,90) Maakt de hoek w gelijk aan 90 graden.
waarde(waar,o) Zorgt dat de waarde van o getoond wordt.
waarde(o) snellere schrijfwijze voor het bovenstaande.
waarde(waar) Bepaalt de standaardinstelling om waarden al dan niet te tonen.
naam(o,p) naam Verandert de naam van o in p.
naam(waar,o) Zorgt ervoor dat de naam van voorwerp o getoond wordt.
naam(o) Toont de naam van voorwerp o
naam(waar) Standaardinstelling om vanaf nu de naam van alle voorwerpen te tonen.
verberg(waar,V) verberg Verbergt of toont voorwerp V.
verberg(V) Verbergt V.
verberg(waar) Alle voorwerpen worden vanaf nu standaard verborgen getekend.
kleur(groen,V) kleur Geef voorwerp V een bepaalde kleur (kies uit rood, groen, bruin, blauw, zwart).
kleur(groenn) Bepaalt de standaardkleur voor alle volgende voorwerpen.
dikte(dik,V) dikte Kies als lijndikte voor voorwerp V dik, normaal of dun.
dikte(dun) Bepaal de standaardlijndikte voor alle volgende voorwerpen.
type(ruit,P) type Teken het punt P als een vierkant, ruit, cirkel, punt, kruis, diagonaal kruis.
type(diagonaal kruis) Kies het standaard punttype voor alle volgende punten.
gedeeltelijk(waar,V) Gedeeltelijk Toon voorwerp V (cirkel of rechte) al dan niet gedeeltelijk.
gedeeltelijk(V) Toon voorwerp V gedeeltelijk.
gedeeltelijk(waar) Bepaal de standaardinstelling voor alle volgende voorwerpen.
vul(waar,V) vul Toon voorwerp V (bvb. cirkel) al dan niet gevuld.
vul(V) Toon voorwerp V gevuld.
terug(waar,V) achtergrond Verplaats voorwerp V al dan niet naar de achtergrond.
terug(V) Verplaats voorwerp V naar de achtergrond.
venster(0,0,5) venster Stel het tekenvenster in op breedte 2*5 en centrum (0,0).


Macros

Je kan ook macro's gebruiken. Namen aan de linkerkant van het gelijkheidsteken worden toegekend aan doelvoorwerpen. Een bijkomende parameter kan je gebruiken om een waarde aan een voorwerp toe te kennen bij het gebruik van interactieve modus.

Beschrijvende constructies in bestanden

Je kan beschrijvende constructie van een bestand inladen of eerst editeren (met een editor) en dan inladen. Per lijn komt er één commando. Commentaar start met // Het is ook mogelijk om macro's te gebruiken, zoals in onderstaand voorbeeld getoond wordt.

macro U 
// Constructs a circle through three points
    parameter A=point // Select first point
    parameter B=point // Select second Point
    parameter C=point // Select third point
    g1=MS(A,B)
    g2=MS(A,C)
    U=intersection(g1,g2)
    target k=circle(U,A)
end

Inspingen hoeft niet (maar maakt de code wel leesbaarder) Commentaarlijnen in een macro worden als 'prompt' gebruikt als je macro interactief gebruikt. Bovenstaande macro roept een andere macro MS op met twee parameters.

macro MS
  param A=point
  param B=point
  partial(true)
  k1=circle(A,B)
  k2=circle(B,A)
  partial(false)
  P1,P2=intersection(k1,k2)
  target g=line(P1,P2)
end

Als een rechte twee voorwerpen construeert moet je het doelvoorwerp afzonderlijk definiëren als volgt:

A,B=intersection(g,k)
target B

Als een macro meer dan 1 doel heeft, moet je alle doelen toekennen.

A,B=test(...)

'Prompts' worden gedefinieerd door het woord 'prompt' voor de voorwerpnaam te zetten.

k=circle(A,5)
pompt k

Dit is een voorbeeld van een macro die een lijnstuk als parameter krijgt:

macro MS
// Mittelsenkrechte
  A=point
  B=point
    parameter s=segment(A,B)
    ...
Ende

Als cirkels als parameter gebruikt worden, gebruik je volgende syntax:

M=point
parameter circle(M)

Dit soort cirkel kan alleen in parameters gebruikt worden.