Formula per CurvaNurbs

Per te si’ … :wink:
A me, a parte qualche passaggi algebrico che poteva saltare, e’ piaciuto … ho sempre faticato a usare f', f'' ecc. … :blush:

Magari ! :wink:
Sarebbe molto piu’ semplice trovare i punti di curvatura min & max per le curve di Bézier …
Almeno credo :confused: :blush:

a me la cosa che mi è piaciuta di più è la lavagna scorrevole :grin: :grin:

ragazzi per me anche se invece di 45min durava 30min o 20min
è tosta, è vero che comunque spiegava pure, ma è un lavoraccio.

30/40min eseguendo espressioni per arrivare ad una soluzione
(e se ricordo bene si potrebbe anche continuare affinandola)

la storia infinita


Fabio quindi dalla derivata applico la formula che hai esposto?

Se ti vuoi calcolare la curvatura sì.

di sicuro dirò una castroneria, ma f’ e f’‘ sarebbero derivata 1 e derivata 2 ?


non so che cosa ho fatto, ma il ragionamento mi ha portato a questo:

non so, mi sa che quella (x) che non conosco mi ha fregato. . .

Forse: ^(3/2)

provato ma purtroppo non’é quello il problema, da questo errore:

credo che il problema sia nei dati di inuput F1* F2. *maggiormente responsabile


sempre se quella (x) non centra nulla. . . il video postato ne aveva parlato.


e pure mi sembra di averla scritta bene

con la derivata utilizzata nei giorni scorsi per una curva di grado 2 si recupera il punto rosa

anche se il risultato non’è quello desiderato, credo che EXP centrale in verde non va bene.


aaaa mi sto avvicinando:

e vediamo a furia di tentativi, troverò la soluzione corretta. . .

provo a invertire qualche addizione/sottrazione

Scusa Salvio, perche’ andare per tentativi quando il messaggio di errore ti dice perche’ non funziona ?
Il messaggio serve a quello. :wink:
Se lo leggi, dice che c’e’ un + tra un intero e un punto.
Conviene partire da questa informazione, no ? :slight_smile:

Poi i ragionamenti del caso li fara’ Fabio, ma almeno sappiamo che quella formula non funziona se i valori di f' ed f'' sono dei vettori 3D.

Per me conviene aspettare che Fabio abbia tempo di rispondere. :grinning:

perché le due derivate le ho prese io di mia iniziativa di wiki eng e EXP di Fabio mi ritorna errore
ma era un mio tentativo, essendo che già a priori non sapevo se era la strada giusta
quando è uscito errore, ho messo in dubbio che l’iniziativa presa non fosse corretta

ed infatti la stessa EXP l’ho messa usando se non erro la tua derivata su curva grado 2 è non da errore

Secondo me se non da’ errore stai lavorando su una sola coordinata, ad esempio per i punti Quad usavamo la Y.
Ma per la curvatura credo si debbano usare tutte le componenti: X, Y e Z
O al massimo X e Y se e’ una curva nel piano.

Emilio toglimi questo dubbio:

la formula dal sito Study e quella di Fabio noto una differenza, che nell’ultima parte 3/2
Fabio ha messo Elevata, ma osservando quella del sito si dovrebbe sostituire con una moltiplicazione :thinking:

bei videi :ok_hand:

A me sembra un elevamento a potenza anche li’.
Diciamo che a denominatore c’e’ una parentesi aperta che poi nessuno chiude … :smile:
Ma mi sembra superflua …
A parte quello la formula pare la stessa.

Solo che credo che la formula sia per funzioni x=f(y)
Mentre noi usiamo curve x=f(t), y=f(t), z=f(t)
Per cui la formula potrebbe essere da cambiara o modificare o da usare diversamente … lascio fare a Fabio. :grinning:

1 Mi Piace

la derivata non mi pare corretta. Mi sembra manchi qualche segno meno.
Potresti indicare qui in latex la funzione di cui vuoi trovare la derivata?

ps ad ogni modo, in uno spazio a 3 dimensioni si ricorre al calcolo differenziale e al sistema di Frenet:

Geometria differenziale delle curve - Wikipedia

Occorre prima calcolare i versori normale e tangente di Frenet per poi applicare la formula:

Torus-Knot_uebereinander_animated

1 Mi Piace

sono le stesse Salvio.
(Elevato ^3/2 che potresti scrivere anche ^1.5 significa fare la radice quadrata di un argomento elevato al cubo).

Provo a togliermi qualche ragnatela dal cervello. :roll_eyes:

Luca ricordava giustamente il triedro di Frenet, un sistema di riferimento dato dalla classica terna di versore tangente, normale e ortonormale.
La particolarità del triedro è che è un sistema di riferimento mobile, cioè si muove in maniera solidale con il punto P lungo una generica curva \alpha(s) .
Va da se che, per poter definire il triedro di Frenet, occorre che la curva abbia il versore tangente (e normale) in ogni punto e sia derivabile due volte.
In generale quindi, nello spazio, una curva è interamente definita da due parametri, la curvatura e la torsione, nell’animazione che ha postato Luca si vedono bene.
A seconda della parametrizzazione, sia per la curvatura che per la torsione, mi aspetto formule differenti.
Per una parametrizzazione qualsiasi, se abbiamo una generica

\alpha(t)=(\phi(t),\psi (t),\chi(s))

la curvatura dovrebbe essere

k(t)=\frac {||\alpha^\prime(t) \space \times \space\alpha^{\prime\prime}(t)||} {||\alpha^\prime(t)||^3}

Sì, ci siamo messi in un caso particolare.
Ora, sempre in termini di parametrizzazione generale, consideriamo \alpha(t) la parametrizzazione di una curva piana, due volte differenziabile, penso che “solo” derivabile non sia sufficiente.
Quindi d \alpha/dt deve esistere in tutto il dominio di definizione e non assume mai il valore nullo, intendo il vettore zero.
Sotto queste ipotesi, la curvatura dovrebbe essere:

k = \frac {x\prime \space y{\prime\prime} \space - \space y\prime \space x{\prime\prime}} {(x\prime^2 \space + \space y\prime^2) ^(3/2)}

Nel caso in cui trattiamo una funzione nella forma y=f(x), direi che siamo in un caso di parametrizzazione particolare dove x=t e y=f(t).
E’ chiaro che la derivata di x rispetto al tempo vale uno, mentre la derivata seconda si annulla.
Da qui la formula “semplificata” di partenza k = \frac {y{\prime\prime} } {(1 \space + \space y\prime^2)^(3/2)}

Ma torniamo a Frenet.
Prendiamo una funzione \alpha(t) di classe C^1 e tale per cui \alpha\prime (t) \ne 0
I tre vettori di Frenet dovrebbero essere:

T(t) = \frac {\alpha\prime(t)} {||\alpha\prime(t)||}

N(t) = \frac{T\prime(t)}{||T\prime(t)||}

B(t) = T(t) \times N(t)

Con questa sintassi la curvatura è banalmente k(t) = \frac{||T\prime(t)||}{||\alpha\prime(t)||}

Mettiamoci nel caso semplice di una circonferenza piana \alpha(t) avremo:

t \mapsto (r \space cos(t), r \space sin(t),0)

\alpha\prime(t) = (-r \space sin(t), r \space cos(t),0)

T = (-sin(t), cos(t),0)

T\prime(t) = (-cos(t), -sin(t),0)

quindi

k(t) = \frac{||T\prime(t)||}{||\alpha\prime(t)||}=\frac{\sqrt{cos^2(t)+sin^2(t)}}{\sqrt{r^2sinn^2(t)+r^2cos^2(t)}} = 1/r

3 Mi Piace

Ciao Salvio, un promemoria, spero ti possa essere utile:

\sqrt{a} = (a)^{1/2}

\frac{1}{\sqrt{a}} = (a)^{-1/2}

\sqrt[3]a = (a)^{1/3}

\sqrt{a^3} = (a)^{3/2}

Grazie Fabio !

Gran bella spiegazione … ho da studiare per un po’. :grinning:

1 Mi Piace

Figurati.
Prendi sempre tutto con le pinze.
Già capisco poco di mio, aggiungici che orami ho l’elasticità mentale di una gallina. :worried:

Vedo che oggi è il tuo anniversario … auguri! :champagne:

1 Mi Piace

mi accodo a Fabio :champagne:


Fabio grazie per le spiegazioni e sopratutto per il tatto gentile che dimostri quando fai tali affermazioni :wink:
le appunto come promemoria nel caso se mai un giorno avendole imparate e mi servisse un ripasso.

per adesso ne prendo nota come tutti gli altri suggerimenti/spiegazioni cerco di approfondire ancora maggiormente come sto facendo anche in rete tramite ricerche varie e alla fine vediamo cosa rimane :+1:

ps comunque andando a spulciare nei topic fatti in passato su questi tipi di argomenti dove si sono condivise anche oltre alle spiegazioni esempi anche formule ecc credo che ormai si possa fare una tesina di laurea ahahahah :grin: :grin:

3 Mi Piace