|  |  | Punto

#### Punto

`prototipo (Point nome free x y)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`x`: Ascissa del punto
`y`: Ordinata del punto
output: Riferimento per un punto libero nel piano con coordinate iniziali `x` e `y`.
Esempio:
`(define p1 (Point "A" free 1.2 (acos -1)))`

`prototipo (Point nome on-curve linea x)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`linea`: Riferimento a una linea (retta, semiretta, segmento, ecc.)
`x`: Ascissa curvilinea di un punto libero il cui valore appartiene all'intervallo [0 ; 1]
output: Riferimento per un punto libero su una curva.
Esempio:
`(Point "M" on-curve s1 0.5)`

`prototipe (Point nome middle-2pts p1 p2)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`p1`: Riferimento ad un punto
`p2`: Riferimento ad un punto
output: Riferimento al punto medio tra due punti.
Esempio:
`(lets Point "A" free 1 1)
(lets Point "B" free 4 4)
(Point "I" middle-2pts A B)`

`prototipo (Point nome middle-segment s)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`s`: Riferimento ad un segmento
output: Riferimento al punto medio di un segmento.
Esempio:
`(Point "L" middle-segment s)`

`prototipo (Point nome intersection l1 l2)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`l1`: Riferimento ad una linea
`l2`: Riferimento ad una linea
output: Riferimento al punto di intersezione di due linee.
Esempio:
`(Point "I" intersection line segment)`

`prototipo (Point nome intersection2 l1 l2)`
`nome`: Stringa di caratteri che designa il nome dell'oggetto
`l1`: Riferimento ad una linea
`l2`: Riferimento ad una curva
output: Riferimento al secondo punto d'intersezione di due curve quando una delle due è un arco o una circonferenza.
Esempio:
`(Point "I" intersection2 line circle)`

|  |  | Punto