Strumenti di uso comune

Quali altri oggetti abbiamo a disposizione.

Nel paragrafo precedente abbiamo visto come realizzare oggetti nuovi come assi, bisettrici, triangoli, quadrati, ... Ma se ho bisogno di vari assi per realizzare una costruzione complessa, non è comodo per ognuno di questi ripetere tutta la costruzione. Alcuni oggetti di uso comune sono già prefabbricati e vengono messi a disposizione dalla libreria pyig, basta chiamarli.

Nei prossimi paragrafi riporto quelli di uso più comune, l’elenco completo si trova nel manuale di Pygraph che è stato scaricato assieme alle librerie.

InteractivePlane

InteractivePlane Crea il piano interattivo nel fare questa operazione si possono decidere alcune caratteristiche.

Sintassi

<nome_variabile> = InteractivePlane([<parametri>])

Osservazioni

Il costruttore presenta molti parametri tutti con un valore predefinito. Nel momento in cui si crea un piano cartesiano si possono quindi decidere le sue caratteristiche. Vediamole in dettaglio:

  • titolo della finestra, valore predefinito: “Interactive geometry”;
  • dimensione, valori predefiniti: larghezza=600, altezza=600;
  • scala di rappresentazione, valori predefiniti: una unità = 20 pixel;
  • posizione dell’origine, valore predefinito: il centro della finestra;
  • rappresentazione degli assi cartesiani, valore predefinito: True;
  • rappresentazione di una griglia di punti, valore predefinito: True;
  • colore degli assi valore predefinito: ‘#808080’ (grigio).
  • colore della griglia valore predefinito: ‘#808080’.
  • riferimento alla finestra che contiene il piano cartesiano, valore predefinito: None.

Poiché tutti i parametri hanno un valore predefinito, possiamo creare un oggetto della classe InteractivePlane senza specificare alcun argomento: verranno usati tutti i valori predefiniti. Oppure possiamo specificare per nome gli argomenti che vogliamo siano diversi dal comportamento predefinito, si vedano di seguito alcuni esempi.

Esempio

Si vedano tutti gli esempi seguenti.

Point

Scopo

Crea un punto libero date le coordinate della sua posizione iniziale.

Questo oggetto è la base di ogni costruzione; dai punti liberi dipendono, direttamente o indirettamente, gli altri oggetti grafici.

Quando il puntatore del mouse si sovrappone ad un punto libero questo cambia colore. Trascinando un punto libero, con il mouse, tutti gli oggetti che dipendono da lui, verranno modificati.

Point essendo un oggetto che può essere trascinato con il mouse ha un colore predefinito diverso da quello degli altri oggetti.

Sintassi

Point(x, y[, visible][, color][, width][, name])

Nota

Spesso nella pratica è necessario assegare l’oggetto creato ad un identificatore in modo da poter fare riferimento ad un oggetto nella costruzione di altri oggetti:

<identificatore> = Point(x, y[, visible][, color][, width][, name])

Si vedano gli esempi seguenti.

Osservazioni

  • x e y sono due numeri, x è l’ascissa e y l’ordinata del punto.
  • Per quanto riguarda i parametri non obbligatori si veda quanto scritto nel paragrafo relativo agli attributi degli oggetti visibili.

Nota

Nel resto del manuale riporterò solo gli argomenti obbligatori, è sottinteso che tutti gli oggetti che possono essere visualizzati hanno anche i parametri: visible, color, width, name.

Esempio

Funzione definita in N ad andamento casuale.

import random
ip = InteractivePlane('Point')
y = 0
for x in range(-14, 14):
    y += random.randrange(-1, 2)
    Point(x, y, color='red')

Attributi degli oggetti geometrici

Scopo

Point, come tutti gli oggetti geometrici ha degli attributi che possono essere determinati nel momento della creazione dell’oggetto stesso o in seguito. Questi attributi definiscono alcune caratteristiche degli oggetti che possono essere visualizzati.

  • visible stabilisce se l’oggetto sarà visibili o invisibile;
  • color imposta il colore dell’oggetto;
  • width imposta la larghezza dell’oggetto.
  • name imposta il nome dell’oggetto.

Sintassi

<oggetto>.visible = v
<oggetto>.color = c
<oggetto>.width = w
<oggetto>.name = s

Osservazioni

  • v è un valore booleano, può essere True o False.
  • w è un numero che indica la larghezza in pixel.
  • c può essere:
    • una stringa nel formato: “#rrggbb” dove rr, gg e bb sono numeri esadecimali di due cifre che rappresentano rispettivamente le componenti rossa, verde, e blu del colore;
    • Una stringa contenente il nome di un colore;
    • Una terna di numeri nell’intervallo 0-1 rappresentanti le componenti rossa verde e blu.
  • s è una stringa

Esempio

Disegna tre punti: uno con i valori di default, uno con colore dimensione e nome definiti quando viene creato, uno con valori cambiati dopo essere stato cerato.

ip = InteractivePlane('attributi')
a = Point(-5, 3)
b = Point(2, 3, color='indian red', width=8, name='B')
c = Point(9, 3)
c.color = 'dark orange'
c.width = 8
c.name = 'C'

Metodi degli oggetti geometrici

Scopo

Tutti gli oggetti geometrici hanno anche dei metodi che danno come risultato alcune informazioni relative all’oggetto stesso.

  • xcoord l’ascissa;
  • ycoord l’ordinata;
  • coords le coordinate.

Sintassi

<oggetto>.xcoord()
<oggetto>.ycoord()
<oggetto>.coords()

Osservazioni

Non richiedono argomenti e restituiscono un particolare oggetto che può essere utilizzato all’interno di un testo variabile.

Esempio

Scrivi ascissa, ordinata e posizione di un punto.

ip = InteractivePlane('coords, xcoord, ycoord')
a = Point(-5, 8, name='A')
VarText(-5, -1, 'ascissa di A: {0}', a.xcoord())
VarText(-5, -2, 'ordinata di A: {0}', a.ycoord())
VarText(-5, -3, 'posizione di A: {0}', a.coords())

Segment

Scopo

Crea un segmento dati i due estremi, i due estremi sono punti.

Sintassi

<identificatore> = Segment(point0, point1)

Osservazioni

point0 e point1 sono due punti.

Esempio

Disegna un triangolo con i lati colorati in modo differente.

ip = InteractivePlane('Segment')
# creo i 3 vertici
v0 = Point(-4, -3, width=5)
v1 = Point( 5, -1, width=5)
v2 = Point( 2,  6, width=5)
# creo i 3 lati
l0 = Segment(v0, v1, color='steel blue')
l1 = Segment(v1, v2, color='sea green')
l2 = Segment(v2, v0, color='saddle brown')

length

Scopo

È il metodo della classe Segment che restituisce un oggetto data contenete la lunghezza del segmento stesso.

Sintassi

<obj>.length()

Osservazioni

La lunghezza è la distanza tra point0 e point1.

Esempio

Disegna un segmento e scrivi la sua lunghezza.

ip = InteractivePlane('length')
p0 = Point(-4, 7, width=5, name='A')
p1 = Point(8, 10, width=5, name='B')
seg = Segment(p0, p1)
VarText(-5, -5, 'lunghezza di AB = {0}', seg.length())

MidPoints

Scopo

Crea il punto medio tra due punti.

Sintassi

MidPoints(point0, point1)

Osservazioni

point0 e point1 sono due punti.

Esempio

Punto medio tra due punti.

ip = InteractivePlane('MidPoints')
# creo due punti
p0 = Point(-2, -5)
p1 = Point(4, 7)
# cambio i loro attributi
p0.color = "#00a600"
p0.width = 5
p1.color = "#006a00"
p1.width = 5
# creao il punto medio tra p0 e p1
m = MidPoints(p0, p1, name='M')
# cambio gli attributi di m
m.color = "#f0f000"
m.width = 10

MidPoint

Scopo

Crea il punto medio di un segmento

Sintassi

MidPoint(segment)

Osservazioni

segment è un oggetto che ha un point0 e un point1.

Esempio

Punto medio di un segmento.

ip = InteractivePlane('MidPoint')
# creo un segmento
s=Segment(Point(-2, -1, color="#a60000", width=5),
          Point(5, 7, color="#6a0000", width=5),
          color="#a0a0a0")
# creo il suo punto medio
MidPoint(s, color="#6f6f00", width=10, name='M')

Line

Scopo

Crea una retta per due punti.

Sintassi

Line(point0, point1)

Osservazioni

point0 e point1 sono, indovina un po’, due punti.

Vedi anche i metodi delle classi linea presentati nella classe Segment.

Esempio

Triangolo delimitato da rette.

ip = InteractivePlane('Line')
# creo i 3 punti
a=Point(0, 0)
b=Point(1, 5)
c=Point(5, 1)
# creo i 3 lati
Line(a, b, color="#dead34")
Line(b, c, color="#dead34")
Line(c, a, color="#dead34")

Ray

Scopo

Traccia una semiretta con l’origine in un punto e passante per un altro punto.

Sintassi

Ray(point0, point1)

Osservazioni

point0 è l’origine della semiretta che passa per point1.

Vedi anche i metodi delle classi linea presentati nella classe Segment.

Esempio

Triangolo delimitato da semirette.

ip = InteractivePlane('Ray')
# creo i 3 punti
a=Point(0, 0)
b=Point(1, 5)
c=Point(5, 1)
# creo i 3 lati
Ray(a, b, color="#de34ad")
Ray(b, c, color="#de34ad")
Ray(c, a, color="#de34ad")

Orthogonal

Scopo

Crea la retta perpendicolare ad una retta data passante per un punto.

Sintassi

Orthogonal(line, point)

Osservazioni

line è la retta alla quale si costruisce la perpendicolare passante per point.

Vedi anche i metodi delle classi linea presentati nella classe Segment.

Esempio

Disegna la perpendicolare ad una retta data passante per un punto.

ip = InteractivePlane('Orthogonal')
retta = Line(Point(-4, -1, width=5),
             Point(6, 2, width=5),
             width=3, color='DarkOrange1', name='r')
punto = Point(-3, 5, width=5, name='P')
Orthogonal(retta, punto)

Parallel

Scopo

Crea la retta parallela ad una retta data passante per un punto.

Sintassi

Parallel(line, point)

Osservazioni

line è la retta alla quale si costruisce la parallela passante per point.

Vedi anche i metodi delle classi linea presentati nella classe Segment.

Esempio

Disegna la parallela ad una retta data passante per un punto.

ip = InteractivePlane('Parallel')
retta = Line(Point(-4, -1, width=5),
             Point(6, 2, width=5),
             width=3, color='DarkOrange1', name='r')
punto = Point(-3, 5, width=5, name='P')
Parallel(retta, punto)

Polygon

Scopo

Crea un poligono data una sequenza di vertici.

Sintassi

Polygon(points)

Osservazioni

points è una sequenza di punti, può essere una lista (delimitata da parentesi quadre) o una tupla (delimitata da parentesi tonde).

Esempio

Disegna un poligono date le coordinate dei vertici.

ip = InteractivePlane('24: Polygon')
# Lista di coordinate
coords = ((-8, -3), (-6, -2), (-5, -2), (-4, 2), (-2, 3), (0, 4),
          (2, 3), (4, 2), (5, -2), (6, -2), (8, -3))
# Costruzione di una lista di punti partendo da una lista di coordinate:
# listcompreension
ip.defwidth = 5
points = [Point(x, y) for x,y in coords]
Polygon(points, color='HotPink3')

perimeter e surface

Scopo

Sono metodi presenti in tutte le classi figura, restituiscono la lunghezza del contorno e l’area della superficie dell’oggetto.

Sintassi

<figura>.perimeter()
<figura>.surface()

Osservazioni

Sono metodi degli oggetti che sono figure piane e non richiede argomenti.

Esempio

Scrive alcune informazioni relative a un poligono.

poli = Polygon((Point(-7, -3, width=5, name="A"),
                Point(5, -5, width=5, name="B"),
                Point(-3, 8, width=5, name="C")),
                width=4, color='magenta', intcolor='olive drab')
VarText(-3, -6, "perimetro={0}", poli.perimeter(), color='magenta')
VarText(-3, -7, "area={0}", poli.surface(), color='olive drab')

Circle

Scopo

Circonferenza dato il centro e un punto o il centro e il raggio (un segmento).

Sintassi

Circle(center, point)
Circle(center, segment)

Osservazioni

center è il centro della circonferenza passante per point o di raggio segment.

Vedi anche i metodi delle classi figure piane presentati nella classe Polygon.

Esempio

Circonferenze con centro nell’origine.

ip = InteractivePlane('Circle(Point, Point)')
origine = Point(0, 0, visible=False, name="O")
p0 = Point(-7, -3, width=5, name="P")
Circle(origine, p0, color="#c0c0de", width=4)
raggio = Segment(Point(-7, 9, width=5, name="A"),
                 Point(-4, 9, width=5, name="B"))
Circle(origine, raggio, color="#c0c0de", width=4)

Intersection

Scopo

Crea il punto di intersezione tra due oggetti.

Sintassi

Intersection(obj0, obj1)
Intersection(obj0, obj1, which)

Osservazioni

obj0 e obj1 possono essere rette o circonferenze. Se uno dei due oggetti è una circonferenza è necessario specificare quale delle due intersezioni verrà restituita indicando come terzo parametro +1 o -1.

Esempio

Disegna una circonferenza tangente a una retta.

ip = InteractivePlane('Intersection line line')
# Disegno retta e punto
retta = Line(Point(-4, -1, width=5),
             Point(6, 2, width=5),
             width=3, color='DarkOrange1', name='r')
punto = Point(-3, 5, width=5, name='P')
# trovo il punto di tangenza
perpendicolare = Orthogonal(retta, punto, width=1)
p_tang = Intersection(retta, perpendicolare, width=5)
# disegno la circonferenza
Circle(punto, p_tang, width=4, color='IndianRed')

Disegna il simmetrico di un punto rispetto ad una retta.

ip = InteractivePlane('Intersection line circle')
# disegno l'asse di simmetria e il punto
asse = Line(Point(-4, -11, width=5),
            Point(-2, 12, width=5),
            width=3, color='DarkOrange1', name='r')
punto = Point(-7, 3, width=5, name='P')
# disegno la perpendicolare all'asse passante per il punto
perp = Orthogonal(asse, punto, width=1)
# trovo l'intersezione tra la perpendicolare e l'asse
piede = Intersection(perp, asse)
# disegno la circonferenza di centro piede e passante per punto
circ = Circle(piede, punto, width=1)
# trovo il simmetrico di punto rispetto a asse
Intersection(perp, circ, -1, width=5, color='DebianRed', name="P'")

Disegna un triangolo equilatero.

ip = InteractivePlane('Intersection circle circle')
# Disegno i due primi vertici
v0=Point(-2, -1, width=5, name='A')
v1=Point(3, 2, width=5, name='B')
# Disegno le due circonferenze di centro p0 e p1 e passanti per p1 e p0
c0=Circle(v0, v1, width=1)
c1=Circle(v1, v0, width=1)
# terzo vertice: intersezione delle due circonferenze
v2=Intersection(c0, c1, 1, width=5, name='C')
# triangolo per i 3 punti
Polygon((v0, v1, v2), width=4, color='DarkSeaGreen4')

Text

Scopo

Crea un testo posizionato in un punto del piano.

Sintassi

Text(x, y, text[, iplane=None])

Osservazioni

  • x e y sono due numeri interi o razionali relativi x è l’ascissa e y l’ordinata del punto.
  • text è la stringa che verrà visualizzata.
  • Se sono presenti più piani interattivi, si può specificare l’argomento iplane per indicare in quale di questi la scritta deve essere visualizzata.

Esempio

Scrive un titolo in due finestre grafiche.

ip0 = InteractivePlane('Text pale green', w=400, h=200)
ip1 = InteractivePlane('Text blue violet', w=400, h=200)
Text(-2, 2, "Prove di testo blue violet",
     color='blue violet', width=20)
Text(-2, 2, "Prove di testo pale green",
     color='pale green', width=20, iplane=ip0)

VarText

Scopo

Crea un testo variabile. Il testo contiene dei “segnaposto” che verranno sostituiti con i valori prodotti dai dati presenti nel parametro variables.

Sintassi

VarText(x, y, text, variables[, iplane=None])

Osservazioni

  • x e y sono due numeri interi o razionali relativi x è l’ascissa e y l’ordinata del punto.
  • text è la stringa che contiene la parte costante e i segnaposto.
  • In genere i segnaposto saranno nella forma: “{0}” che indica a Python di convertire in stringa il risultato prodotto dal dato.
  • variables è un dato o una tupla di dati.
  • Se sono presenti più piani interattivi, si può specificare l’argomento iplane per indicare in quale di questi la scritta deve essere visualizzata.

Esempio

Un testo che riporta la posizione dei un punto.

ip = InteractivePlane('VarText')
p0 = Point(7, 3, color='green', width=10, name='A')
VarText(-4, -3, "Posizione del punto A: ({0}; {1})",
                (p0.xcoord(), p0.ycoord()),
                color='green', width=10)

PointOn

Scopo

Punto disegnato su un oggetto in una posizione fissa.

Sintassi

PointOn(obj, parameter)

Osservazioni

L’oggetto deve essere una linea o una retta o una circonferenza, parameter è un numero che individua una precisa posizione sull’oggetto. Sia le rette sia le circonferenze hanno una loro metrica che è legata ai punti base dell’oggetto. Su una retta una semiretta o un segmento point0 corrisponde al parametro 0 mentre point1 corrisponde al parametro 1. Nelle circoferenze il punto di base della circonferenza stessa corrisponde al parametro 0 l’intera circonferenza vale 2. Il punto creato con PointOn non può essere trascinato con il mouse.

Esempio

Disegna il simmetrico di un punto rispetto ad una retta.

ip = InteractivePlane('PointOn')
# disegno l'asse di simmetria e il punto
asse = Line(Point(-4, -11, width=5),
            Point(-2, 12, width=5),
            width=3, color='DarkOrange1', name='r')
punto = Point(-7, 3, width=5, name='P')
# disegno la perpendicolare all'asse passante per il punto
perp = Orthogonal(asse, punto, width=1)
# trovo il simmetrico di punto rispetto a asse
PointOn(perp, -1, width=5, color='DebianRed', name="P'")
Text(-5, -6, """P' è il simmetrico di P.""")

ConstrainedPoint

Scopo

Punto legato ad un oggetto.

Sintassi

ConstrainedPoint(obj, parameter)

Osservazioni

Per quanto riguarda parameter, valgono le osservazioni fatte per PoinOn. Questo punto però può essere trascinato con il mouse pur restando sempre sull’oggetto. Dato che può essere trascinato con il mouse ha un colore di default diverso da quello degli altri oggetti.

Esempio

Circonferenza e proiezioni sugli assi.

ip = InteractivePlane('ConstrainedPoint', sx=200)
# Circonferenza
origine = Point(0, 0, visible=False)
unix = Point(1, 0, visible=False)
uniy = Point(0, 1, visible=False)
circ = Circle(origine, unix, color="gray10")
# Punto sulla circonferenza
cursore = ConstrainedPoint(circ, 0.25, color='magenta', width=20)
# assi
assex = Line(origine, unix, visible=False)
assey = Line(origine, uniy, visible=False)
# proiezioni
py = Parallel(assey, cursore, visible=False)
hx = Intersection(assex, py, color='red', width=8)
px = Parallel(assex, cursore, visible=False)
hy = Intersection(assey, px, color='blue', width=8)

parameter

Scopo

I punti legati agli oggetti hanno un metodo che permette di ottenere il parametro.

Sintassi

<constrained point>.parameter()

Osservazioni

In PointOn il parametro è fissato nel momento della costruzione dell’oggetto. In ConstrainedPoint il parametro può essere variato trascinando il punto con il mouse.

Esempio

Scrivi i dati relativi a un punto collegato a un oggetto.

ip = InteractivePlane('parameter')
c0 = Circle(Point(-6, 6, width=6), Point(-1, 5, width=6))
c1 = Circle(Point(6, 6, width=6), Point(1, 5, width=6))
a = PointOn(c0, 0.5, name='A')
b = ConstrainedPoint(c1, 0.5, name='B')
VarText(-5, -1, 'ascissa di A: {0}', a.xcoord())
VarText(-5, -2, 'ordinata di A: {0}', a.ycoord())
VarText(-5, -3, 'posizione di A: {0}', a.coords())
VarText(-5, -4, 'parametro di A: {0}', a.parameter())
VarText(5, -1, 'ascissa di B: {0}', b.xcoord())
VarText(5, -2, 'ordinata di B: {0}', b.ycoord())
VarText(5, -3, 'posizione di B: {0}', b.coords())
VarText(5, -4, 'parametro di B: {0}', b.parameter())

Angle

Scopo

Angolo dati tre punti o due punti e un altro angolo. Il secondo punto rappresenta il vertice. Il verso di costruzione dell’angolo è quello antiorario.

Sintassi

Angle(point0, vertex, point1[, sides])
Angle(point0, vertex, angle[, sides])

Osservazioni

L’argomento sides può valere:

  • True (o (0, 1)): vengono disegnati i lati;
  • 0: viene disegnato il lato 0;
  • 1: viene disegnato il lato 1;

Angle fornisce i seguenti metodi dal significato piuttosto evidente:

* ``extent``: ampiezza dell'angolo;
* ``bisector``: bisettrice;

Esempio

Disegna un angolo e un angolo con i lati.

ip = InteractivePlane('Angle(Point, Point, Point)')
ip.defwidth = 5
a = Point(-2, 4, color="#40c040", name="A")
b = Point(-5, -2, color="#40c040", name="B")
c = Point(-8, 6, color="#40c040", name="C")
d = Point(8, 6, color="#40c040", name="D")
e = Point(5, -2, color="#40c040", name="E")
f = Point(2, 4, color="#40c040", name="F")
# angolo senza i lati
Angle(a, b, c, color="#40c040")
# angolo con i lati
Angle(d, e, f, color="#c04040", sides=True)

Somma di due angoli.

ip = InteractivePlane('Angle(Point, Point, Angle)')
# i 2 angoli di partenza
a = Angle(Point(-3, 7, width=6),
          Point(-7, 5, width=6),
          Point(-6, 8, width=6),
          sides=(0, 1), color="#f09000", name='alfa')
b = Angle(Point(9, 2, width=6),
          Point(2, 3, width=6),
          Point(6, 4, width=6),
          sides=(0, 1), color="#0090f0", name='beta')
# Punti di base dell'angolo somma di a b
v = Point(-11, -8, width=6)
p0 = Point(3, -10, width=6)
# la somma degli angoli
b1 = Angle(p0, v, b, (0, 1), color="#0090f0")
p1 = b1.point1()
a1 = Angle(p1, v, a, sides=True, color="#f09000")
Text(-4, -12, "Somma di due angoli")

Bisector

Scopo

Retta bisettrice di un angolo.

Sintassi

Bisector(angle)

Osservazioni

Vedi Ray.

Esempio

Disegna l’incentro di un triangolo.

ip = InteractivePlane('Bisector')
# I tre vertici del triangolo
a=Point(-7, -3, color="#40c040", width=5, name="A")
b=Point(5, -5, color="#40c040", width=5, name="B")
c=Point(-3, 8, color="#40c040", width=5, name="C")
# Il triangolo
Polygon((a, b, c))
# Due angoli del triangolo
cba=Angle(c, b, a)
bac=Angle(b, a, c)
# Le bisettrici dei due angoli
b1=Bisector(cba, color="#a0c040")
b2=Bisector(bac, color="#a0c040")
# L'incentro
Intersection(b1, b2, color="#c040c0", width=5, name="I")

Calc

Scopo

Dato che contiene il risultato di un calcolo.

Sintassi

Calc(function, variables)

Osservazioni

  • function è una funzione python, al momento del calcolo, alla funzione vengono passati come argomenti il contenuto di variables.
  • variables è un oggetto Data o una tupla che contiene oggetti Data. Il risultato è memorizzato all’interno dell’oggetto Calc e può essere visualizzato con VarText o utilizzato per definire la posizione di un punto.

Esempio

Calcolla il quadrato di un lato e la somma dei quadrati degli altri due di un triangolo.

ip = InteractivePlane('Calc')
Circle(Point(2, 4), Point(-3, 4), width=1)
ip.defwidth = 5
a = Point(-3, 4, name="A")
b = Point(7, 4, name="B")
c = Point(-1, 8, name="C")
ab = Segment(a, b, color="#40c040")
bc = Segment(b, c, color="#c04040")
ca = Segment(c, a, color="#c04040")
q1 = Calc(lambda a: a*a, ab.length())
q2 = Calc(lambda a, b: a*a+b*b, (bc.length(), ca.length()))
VarText(-5, -5, "ab^2 = {0}", q1, color="#40c040")
VarText(-5, -6, "bc^2 + ca^2 = {0}", q2, color="#c04040")

Riassumendo

  • In questo paragrafo sono stati presentati i seguenti oggetti.
    • Angle Angolo dati tre punti o due punti e un angolo, il secondo punto rappresenta il vertice. Il verso di costruzione dell’angolo è quello antiorario.
    • Bisector Retta bisettrice di un angolo.
    • Circle Circonferenza dato il centro e un punto o il centro e un raggio (un segmento).
    • ConstrainedPoint Punto legato ad un oggetto.
    • Calc Dato che contiene il risultato di un calcolo.
    • InteractivePlane Crea il piano cartesiano e inizializza gli attributi del piano.
    • Intersection Crea il punto di intersezione tra due rette.
    • Line Crea una retta per due punti.
    • MidPoint Crea il punto medio di un segmento
    • MidPoints Crea il punto medio tra due punti.
    • Orthogonal Crea la retta perpendicolare ad una retta data passante per un punto.
    • Parallel Crea la retta parallela ad una retta data passante per un punto.
    • Point Crea un punto libero date le coordinate della sua posizione iniziale.
    • PointOn Punto disegnato su un oggetto in una posizione fissa.
    • Polygon Crea un poligono data una sequenza di vertici.
    • Ray Traccia una semiretta con l’origine in un punto e passante per un altro punto.
    • Segment Crea un segmento dati i due estremi, i due estremi sono punti.
    • Text Crea un testo posizionato in un punto del piano.
    • VarText Crea un testo variabile. Il testo contiene dei “segnaposto” che verranno sostituiti con i valori prodotti dai dati presenti nel parametro variables.
  • In questo paragrafo sono stati presentati i seguenti attributi.
    • <oggetto_visibile>.color Attributo degli oggetti geometrici: imposta il colore dell’oggetto;
    • <oggetto_visibile>.name Attributo degli oggetti geometrici: imposta il nome dell’oggetto.
    • <oggetto_visibile>.visible Attributo degli oggetti geometrici: stabilisce se l’oggetto sarà visibili o invisibile;
    • <oggetto_visibile>.width Attributi degli oggetti geometrici: imposta la larghezza dell’oggetto.
  • In questo paragrafo sono stati presentati i seguenti metodi.
    • <circonferenza>.radius Metodo delle classi circonferenza che restituisce un oggetto data che contiene la lunghezza del raggio della circonferenza.
    • <figura>.perimeter Metodo delle classi figura che restituisce un oggetto data contenete la lunghezza del contorno dell’oggetto.
    • <figura>.surface Metodo delle classi figura che restituisce un oggetto data contenete l’area della superficie dell’oggetto.
    • <oggetto_visibile>.coords Restituisce un dato che contiene le coordinate.
    • <oggetto_visibile>.xcoord Metodo degli oggetti visualizzabili: restituisce un dato che contiene l’ascissa.
    • <oggetto_visibile>.ycoord Metodo degli oggetti visualizzabili: restituisce un dato che contiene l’ordinata.
    • <punto_legato>.parameter Metodo dei punti legati agli oggetti che restituisce un oggetto data contenete il parametro.
    • <segmento>.length Metodo della classe Segment che restituisce un oggetto data contenete la lunghezza del segmento stesso.

Prova tu

  1. Ricopia e modifica alcuni esempi del manuale.
  2. Disegna un triangolo con evidenziati i punti medi dei lati.
  3. Disegna un quadrato usando gli oggetti: Orthogonal e Parallel.
  4. Disegna un esagono regolare dato il centro e un vertice.
  5. Disegna un poligono regolare dato il centro, un vertice e il numero di lati.
  6. Disegna un poligono regolare e tutte le sue diagonali.