# Parametrizzazione dominio

**URL:** <https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253>\
**Category:** Rhino Windows\
**Created:** [13 Agosto 2017, 11:11pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253 "2017-08-13T23:11:58Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [13 Agosto 2017, 11:11pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/1 "2017-08-13T23:11:58Z")

</div>

un vostro parere: differenze tra dominio e lunghezza in una curva nel senso

1. quando fare una parametrizzazione curva?
2. è utile far diventare il dominio della stessa misura della lunghezza di una curva o solo da 0 a 1?

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [14 Agosto 2017, 9:27am UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/2 "2017-08-14T09:27:54Z")

</div>

> [@0904](#):
>
> è utile far diventare il dominio della stessa misura della lunghezza di una curva … ?

Per quale scopo ?

Tieni anche conto del fatto che, se anche setti un dominio uguale alla lunghezza,  
per punti ‘interni’ alla curva (cioe’ non punto iniziale o punto finale), generalmente non ci sara’ corrispondenza tra valore del parametro e lunghezza della curva fino a quel punto.

Per esemplificare, se la curva e’ lunga 100 e tu setti il dominio da 0 a 100, non e’ detto che il punto distante 75 da inizio curva abbia valore del parametro = 75.

EDIT

… La verifica di questa ( incauta 😉 ) affermazione potrebbe essere un buon esercizio di scripting … 😃

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2017, 12:59pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/3 "2017-08-14T12:59:45Z")

</div>

ciao emilio. sul fatto che il dominio e la lunghezza curva non corrispondano quansi mai, di questo ne sono al corrente. infatti la domanda mi è sorta quando ho applicato il comando “Riparametrizza” ad una curva con opzione “Automatico” e Rhino mi ha impostato il dominio fine alla stessa lunghezza della curva.

per questo mi chiedevo che senso ha?

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [14 Agosto 2017, 2:56pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/4 "2017-08-14T14:56:25Z")

</div>

Non è incauta affatto.  
Il fatto che lo spazio parametrico e quello “metrico” coincidano è un caso.  
Rhino utilizza un metodo curioso per individuare il dominio di una curva. Misura la poligon cage e si tara su quello. Potrebbe benissimo usare l’intervallo 0\<1 per quel che vale.  
Nei miei corsi quando spiego sta cosa faccio disegnare una curva grado 3 con 4 punti di controllo (single span) mettendo tutti i Cv lungo le X. In un caso con spaziatura regolare e nell’altro il secondo terzo e quarto vicini fra loro ma a grande distanza dal primo: lunghezza complessiva delle due curve identica. Entrambe vere nel dominio 0\<1.  
…e zacchete… che viene fuori la differenza fra spazio “metrico” e “parametrico” quando si fa un evaluate a parametro 0.5 per esempio.

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [14 Agosto 2017, 3:14pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/5 "2017-08-14T15:14:07Z")

</div>

Grazie per la spiegazione, Giuspa !

Per cui non c’e’ una ragione particolare per il dominio usato per la parametrizzazione ‘automatica’, giusto ?  
( Certo, un valore si doveva pur scegliere in qualche modo … 🙂 )

Credo che resti la domanda di Salvio: in quali casi puo’ essere utile cambiare il dominio ?

( Eh … ormai con la memoria che mi ritrovo … e’ tutto incauto … 😃 )

Ciao !

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [14 Agosto 2017, 3:46pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/6 "2017-08-14T15:46:46Z")

</div>

> [@emilio](#):
>
> Credo che resti la domanda di Salvio: in quali casi puo’ essere utile cambiare il dominio ?

Esempio banale: hai diverse curve che devi “evaluate” a uno o più parametri comuni.  
La cosa più conveniente è riparametrizzare tutte fra 0\<1. In questo modo sai cosa succede in ogni curva ad esempio a 0.5.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2017, 3:48pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/7 "2017-08-14T15:48:39Z")

</div>

emilio se può essere consolatorio, anche per me che ho qualche anno in meno la memoria mi gioca brutti scherzi ultimamente 🙂 PS beh per chi vuole fare “l’incauta verifica” può provare questo codice:

```
Dim crv : crv = Rhino.GetObject
Dim pt : pt = Rhino.GetPointOnCurve(crv)
Dim t : t = Rhino.CurveClosestPoint(crv, pt)
Dim dom : dom = Rhino.CurveDomain(crv)
Rhino.Print "lunghezza : " & Rhino.CurveLength(crv,, Array(Dom(0), t)) & " - dominio : " & t
```

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2017, 3:56pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/8 "2017-08-14T15:56:22Z")

</div>

grazie per le ottime spigazioni ma ad un certo punto mi perdo . . . .

> [@giuseppe](#):
>
> In questo modo sai cosa succede in ogni curva ad esempio a 0.5

???

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [14 Agosto 2017, 3:57pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/9 "2017-08-14T15:57:34Z")

</div>

…e allora tanto ottime non sono… 😉  
…Al parametro (t) 0.5

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2017, 5:04pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/10 "2017-08-14T17:04:43Z")

</div>

che intendevi il parametro (t) 0.5 era chiaro non mi è chiaro cosa dovrebbe succedere?

intendi forse che non corrisponde alla metà della lunghezza della curva?

> [@giuseppe](#):
>
> e allora tanto ottime non sono

la spiegazione va bene è l’argomento che non è semplice . . . .

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [14 Agosto 2017, 6:38pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/11 "2017-08-14T18:38:45Z")

</div>

> [@0904](#):
>
> Dim crv : crv = Rhino.GetObject  
> Dim pt : pt = Rhino.GetPointOnCurve(crv)  
> Dim t : t = Rhino.CurveClosestPoint(crv, pt)  
> Dim dom : dom = Rhino.CurveDomain(crv)  
> Rhino.Print "lunghezza : " & Rhino.CurveLength(crv, Array(Dom(0), t)) & " - dominio : " & t

Ottimo.  
Si potrebbe usare nei corsi di cui parla Giuseppe … 🙂

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [14 Agosto 2017, 8:05pm UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/12 "2017-08-14T20:05:36Z")

</div>

grazie emilio troppo gentile 🙂  
come variante si potrebbe aggiungere questa riga Rhino.AddPoint Rhino.EvaluateCurve(crv, dom(1) / 2) :

```
Dim crv : crv = Rhino.GetObject
Dim dom : dom = Rhino.CurveDomain(crv) 'spostata dalla quarta riga
Rhino.AddPoint Rhino.EvaluateCurve(crv, dom(1) / 2) 'riga aggiunta
Dim pt : pt = Rhino.GetPointOnCurve(crv)
Dim t : t = Rhino.CurveClosestPoint(crv, pt)
Rhino.Print "lunghezza : " & Rhino.CurveLength(crv,, Array(Dom(0), t)) & " - dominio : " & t

```

in modo per avere un punto come riferimento e con lo Snap Medio attivo per verificare la differenza della metà lunghezza curva e la metà della lunghezza del dominio

---

<div class="post-metadata">

**Author:** ![giuseppe](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/giuseppe/32/16416_2.png) [@giuseppe](https://it.discourse.mcneel.com/u/giuseppe)\
**Post date:** [15 Agosto 2017, 10:47am UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/13 "2017-08-15T10:47:09Z")

</div>

> [@0904](#):
>
> intendi forse che non corrisponde alla metà della lunghezza della curva?

esattamente questo intendevo.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [15 Agosto 2017, 11:04am UTC](https://it.discourse.mcneel.com/t/parametrizzazione-dominio/1253/14 "2017-08-15T11:04:14Z")

</div>

🙂 infatti giuseppe era una cosa che conoscevo grazie ad una lezione in un tuo video su Gh  
dove spiegavi tra l’altro proprio questo concetto. visto che sono attento nelle spiegazioni 🙂
