|  |  | 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 ad 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)`

`prototipo (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 |