Discussion:
Courbe de Bezier cubique
(trop ancien pour répondre)
kurtz le pirate
2024-07-28 15:47:51 UTC
Permalink
Bonjour,


Pour une ourbe de Bézier cubique, definie par quatre points P0, P1, P2
et P3, on a :
B(t) = P0(1-t)^3 + 3P1t(1-t)^2+3P2t^2(1-t)+P3t^3
avec t [0,1]
<https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier>

Courbe paramétrique x = B(t) et y = B(t).

Comme on a plus l'habitude d'avoir y = f(x), je me demande comment
calculer le 't' pour un 'x'.

Je tombe sur une équation du troisième degrés qui n'est pas des plus
simple à résoudre...


N'y aurait-il pas un autre moyen ou astuce ?
--
Kurtz le pirate
Compagnie de la Banquise
Olivier Miakinen
2024-07-28 16:50:03 UTC
Permalink
Bonjour,
Pour une courbe de Bézier cubique, definie par quatre points P0, P1, P2
B(t) = P0(1-t)^3 + 3P1t(1-t)^2+3P2t^2(1-t)+P3t^3
avec t [0,1]
<https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier>
Ok.
Courbe paramétrique x = B(t) et y = B(t).
Euh... plutôt (x,y) = B(t), ou bien x = B(t).x et y = B(t).y, un truc
de ce genre...
Comme on a plus l'habitude d'avoir y = f(x),
Bof, pas vraiment pour les courbes de Bézier.
je me demande comment calculer le 't' pour un 'x'.
Calculer /le/ t pour un x, c'est à priori impossible dans le cas
général. En effet, pour la plupart des x de R il n'y a aucun t qui
corresponde, alors que pour certains x il peut y avoir plusieurs t.
À priori je dirais qu'il peut exister jusqu'à trois valeurs de t
pour le même x dans le cas des courbes de Bézier cubiques, avec
donc trois y différents pour ce même x.
Je tombe sur une équation du troisième degrés qui n'est pas des plus
simple à résoudre...
N'y aurait-il pas un autre moyen ou astuce ?
Je pense que non. Et je ne comprends pas pourquoi tu cherches à te
compliquer la vie par rapport à la simplicité de la formule de départ.
--
Olivier Miakinen
Olivier Miakinen
2024-07-28 19:08:20 UTC
Permalink
Post by Olivier Miakinen
Post by kurtz le pirate
B(t) = P0(1-t)^3 + 3P1t(1-t)^2+3P2t^2(1-t)+P3t^3
avec t [0,1]
<https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier>
Calculer /le/ t pour un x, c'est à priori impossible dans le cas
général. En effet, pour la plupart des x de R il n'y a aucun t qui
corresponde, alors que pour certains x il peut y avoir plusieurs t.
À priori je dirais qu'il peut exister jusqu'à trois valeurs de t
pour le même x dans le cas des courbes de Bézier cubiques, avec
donc trois y différents pour ce même x.
Pour prendre un exemple simple, soient :
P3 = -P0 = (1,1)
P1 = -P2 = (a,-1)

On a alors :
x(t) = (6a+2)t³ - (9a+3)t² + (3a+3)t - 1
y(t) = -4t³ + 6t² - 1

... que l'on peut factoriser :
x(t) = (2t-1)((3a+1)t² - (3a+1)t + 1)
y(t) = -(2t-1)(2t² - 2t - 1)

La courbe passe évidemment par le point (0,0) quand t = 1/2. Il reste
à savoir s'il y a d'autres valeurs de t pour lesquelles x = 0 (alors
que sur [0,1], y(t) ne s'annule qu'en t = 1/2). Tout dépend de la valeur
de a.

Étudions la fonction g(t) = ((3a+1)t² - (3a+1)t + 1). Le discriminant
delta vaut (3a+1)² - 4(3a+1) = 3(a-1)(3a+1)

Si a vaut 1, x(t) = (2t-1)(4t²-4t+1) = (2t-1)³, et t=1/2 est une racine
triple de x(t).

Si a est compris entre 0 et 1, g(t) ne s'annule jamais, et on peut
effectivement trouver un seul 't' correspondant à x = 0 (et même à
tout x entre -1 et +1).

Mais si a est plus grand que 1, alors il existe trois 't' différents et
trois 'y' différents pour x = 0.

CQFD. Ta demande de départ était bien illusoire.
--
Olivier Miakinen
kurtz le pirate
2024-07-29 09:07:20 UTC
Permalink
Post by Olivier Miakinen
Post by Olivier Miakinen
Post by kurtz le pirate
B(t) = P0(1-t)^3 + 3P1t(1-t)^2+3P2t^2(1-t)+P3t^3
avec t [0,1]
<https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier>
Calculer /le/ t pour un x, c'est à priori impossible dans le cas
général. En effet, pour la plupart des x de R il n'y a aucun t qui
corresponde, alors que pour certains x il peut y avoir plusieurs t.
À priori je dirais qu'il peut exister jusqu'à trois valeurs de t
pour le même x dans le cas des courbes de Bézier cubiques, avec
donc trois y différents pour ce même x.
P3 = -P0 = (1,1)
P1 = -P2 = (a,-1)
x(t) = (6a+2)t³ - (9a+3)t² + (3a+3)t - 1
y(t) = -4t³ + 6t² - 1
x(t) = (2t-1)((3a+1)t² - (3a+1)t + 1)
y(t) = -(2t-1)(2t² - 2t - 1)
La courbe passe évidemment par le point (0,0) quand t = 1/2. Il reste
à savoir s'il y a d'autres valeurs de t pour lesquelles x = 0 (alors
que sur [0,1], y(t) ne s'annule qu'en t = 1/2). Tout dépend de la valeur
de a.
Étudions la fonction g(t) = ((3a+1)t² - (3a+1)t + 1). Le discriminant
delta vaut (3a+1)² - 4(3a+1) = 3(a-1)(3a+1)
Si a vaut 1, x(t) = (2t-1)(4t²-4t+1) = (2t-1)³, et t=1/2 est une racine
triple de x(t).
Si a est compris entre 0 et 1, g(t) ne s'annule jamais, et on peut
effectivement trouver un seul 't' correspondant à x = 0 (et même à
tout x entre -1 et +1).
Mais si a est plus grand que 1, alors il existe trois 't' différents et
trois 'y' différents pour x = 0.
Oui c'est tout à fait ça, et c'est ce que je veux éviter.
Post by Olivier Miakinen
CQFD. Ta demande de départ était bien illusoire.
Pas tant que ça. J'ai trouvé une solution beaucoup plus simple.
Vu ma réponse précédente, une simple itération en partant de 0 me donne
ma valeur t pour mon x et donc ma valeur y...

CQFD ;)
--
kurtz le pirate
compagnie de la banquise
Michel Talon
2024-07-29 20:46:30 UTC
Permalink
Post by Olivier Miakinen
x(t) = (6a+2)t³ - (9a+3)t² + (3a+3)t - 1
y(t) = -4t³ + 6t² - 1
Pour prendre un exemple de ce que donne la méthode d'élimination,
prenons ces formules que tu donnes. Calcul avec maxima:

(%i1) eq1: x=(6*a+2)*t^3-(9*a+3)*t^2+(3*a+3)*t-1$

(%i2) eq2: y=-4*t^3+6*t^2-1$

(%i3) eliminate([eq1,eq2],[t]);

(%o3) [-8*(a^3*(27*y^3-27*y)+a^2*(27*y^3-27*y)+a*(9*y^3+27*y)+y^3
+x*(a^2*(54*y^2-54)+a*(36*y^2-108)+6*y^2-54)
+x^2*(36*a*y+12*y)+27*y+8*x^3)]
(%i4) facsum(%[1],x,y);

(%o4) (-8*(3*a+1)^3*y^3)-48*(3*a+1)^2*x*y^2-96*(3*a+1)*x^2*y
+216*(a-1)*(a+1)^2*y-64*x^3+432*(a+1)^2*x

Ci-dessus on applique facsum à %[1] car eliminate retourne une liste,
et % est
le résultat précédent.

On voit que la courbe est une cubique qui passe par le point (0,0) pour
tout a, comme tu le remarques. On voit aussi que pour a=-1/3
l'expression se simplifie:

(%i5) ratsubst(-1/3,a,%);

(%o5) (-128*y)-64*x^3+192*x

En fait ceci est une cubique dégénérée, comme le montre la transformation:

(%i6) factor(ratsubst(x*y,y,%)); /* remplacer y par x*y */

(%o6) -64*x*(2*y+x^2-3)

qui est le produit d'une conique par une droite.

Le cas a=1 produit une simplification assez forte. On s'aperçoit que le
comportement à l'infini est donné par les termes de degré 3 qui se
factorisent en
-64*(2*y+x)^3 ce qui justifie le changement de variables suivant:

(%i19) ratsubst(-2*y+X,x,subst(1,a,%o3[1]));

(%o19) (-3456*y)-64*X^3+1728*X
(%i20) factor(%);

(%o20) -64*(54*y+X^3-27*X)

Ici encore y-> X*y donne le produit d'une droite par une conique
X*(54*y+X^2-27).

Autre remarque. La courbe est une cubique "unicursale" puisqu'elle a
une représentation paramétrique rationnelle. Ce n'est absolument pas le
cas général des cubiques qui n'ont en général qu'une paramétrisation
elliptique. Typiquement cette dégénérescence se produit quand la
cubique a un point double - prenant une droite passant par le point
double , et qui recoupe la cubique en un point, celui ci dépend
rationnellement de la pente de la droite.
--
Michel Talon
efji
2024-07-29 22:57:23 UTC
Permalink
Post by Michel Talon
  x(t) = (6a+2)t³ - (9a+3)t² + (3a+3)t - 1
  y(t) = -4t³ + 6t² - 1
Pour prendre un exemple de ce que donne la méthode d'élimination,
(%i1) eq1: x=(6*a+2)*t^3-(9*a+3)*t^2+(3*a+3)*t-1$
(%i2) eq2: y=-4*t^3+6*t^2-1$
(%i3) eliminate([eq1,eq2],[t]);
(%o3) [-8*(a^3*(27*y^3-27*y)+a^2*(27*y^3-27*y)+a*(9*y^3+27*y)+y^3
                            +x*(a^2*(54*y^2-54)+a*(36*y^2-108)+6*y^2-54)
                            +x^2*(36*a*y+12*y)+27*y+8*x^3)]
(%i4) facsum(%[1],x,y);
(%o4) (-8*(3*a+1)^3*y^3)-48*(3*a+1)^2*x*y^2-96*(3*a+1)*x^2*y
                        +216*(a-1)*(a+1)^2*y-64*x^3+432*(a+1)^2*x
Ci-dessus on applique facsum  à %[1] car eliminate retourne une liste,
et % est
le résultat précédent.
Oui, il y a évidemment plusieurs cas à considérer, a priori 3 dans la
cas d'une cubique (à vérifier). On ne peut pas éliminer t de façon
univoque dans un système de ce genre. Donc vous avez poursuivi le
raisonnement dans un seul cas, et réduit le problème.
--
F.J.
Michel Talon
2024-07-30 09:28:29 UTC
Permalink
Post by efji
Oui, il y a évidemment plusieurs cas à considérer, a priori 3 dans la
cas d'une cubique (à vérifier). On ne peut pas éliminer t de façon
univoque dans un système de ce genre. Donc vous avez poursuivi le
raisonnement dans un seul cas, et réduit le problème.
Pas du tout, il s'agit d'une liste comprenant un seul élément.
Voir le résultat %o3 qui est une liste à 1 élément.
En fait oui, on peut éliminer t de façon univoque sans aucun problème,
c'est ce que fait le résultant. La chose devient plus compliquée si on
doit éliminer plusieurs variables entre plus de deux polynômes, Ca a
fait l'objet des travaux de Kronecker, Macaulay, van der Waerden au
début du 20° siècle. Mais pour éliminer une variable entre deux
polynômes c'est beaucoup plus vieux et plus simple,
Sylvester, vers 1850.
--
Michel Talon
efji
2024-07-31 08:35:10 UTC
Permalink
Post by Michel Talon
Post by efji
Oui, il y a évidemment plusieurs cas à considérer, a priori 3 dans la
cas d'une cubique (à vérifier). On ne peut pas éliminer t de façon
univoque dans un système de ce genre. Donc vous avez poursuivi le
raisonnement dans un seul cas, et réduit le problème.
Pas du tout, il s'agit d'une liste comprenant un seul élément.
Voir le résultat %o3 qui est une liste à 1 élément.
En fait oui, on peut éliminer t de façon univoque sans aucun problème,
c'est ce que fait le résultant. La chose devient plus compliquée si on
doit éliminer plusieurs variables entre plus de deux polynômes,  Ca a
fait l'objet des travaux de Kronecker, Macaulay, van der Waerden au
début du 20° siècle. Mais pour éliminer une variable entre deux
polynômes c'est beaucoup plus vieux et plus simple,
Sylvester, vers 1850.
En effet, merci.
L'algèbre peut être amusante parfois. Je n'aurais pas dû faire l'impasse
systématique :)
Cela dit ça ne répond pas à la question initiale qui cherchait une
équation de la forme y=f(x) :)
--
F.J.
Michel Talon
2024-07-30 14:05:32 UTC
Permalink
Autre remarque. La courbe est une cubique "unicursale"  puisqu'elle a
une représentation paramétrique rationnelle. Ce n'est absolument pas le
cas général des cubiques qui n'ont en général qu'une paramétrisation
elliptique.  Typiquement  cette dégénérescence se produit quand la
cubique a un point double  - prenant une droite passant par le point
double , et qui recoupe la cubique en un point, celui ci dépend
rationnellement de la pente de la droite.
En fait la situation ici est extrêmement triviale. L'équation de la
courbe est, après un peu de simplification:
(3*a+1)^3*y^3+6*(3*a+1)^2*x*y^2+12*(3*a+1)*x^2*y-27*(a-1)*(a+1)^2*y+8*x^3
-54*(a+1)^2*x
Il n'y a que des termes de degré 3 et de degré 1. Il saute aux yeux que
les termes de degré 3 sont (3*a+1)*y+2*x)^3 et les termes de degré 1
sont -27*(a+1)^2*((a-1)*y+2*x).
Donc l'équation de la courbe est en fait:

(3*a+1)*y+2*x)^3 - 27*(a + 1)^2*((a-1)*y + 2*x) = 0

Mais alors le simple changement de variables linéaire
X=(3*a+1)*y+2*x, Y=(a-1)*y+2*x
inversible si a différent de -1 met la courbe sous la forme
X^3-27*Y*(a+1)^2=0

ce qui est la cubique la plus banale Y = c X^3 trivialement unicursale
(prendre X comme paramètre). Pour revenir à la paramétrisation initiale
en terme de t, il suffit de remarquer que
subst([eq1,eq2],X=(3*a+1)*y+2*x); --> X = (6*a+6)*t-3*a-3

autrement dit X et t sont liés par une relation linéaire, autrement dit
sont totalement équivalents (si a /= -1). Voilà je pense que la
relation entre la courbe et sa représentation paramétrique est
complètement élucidée.

Finalement, concernant la courbe x=cos(u) y=sin(u) c'est à dire le
cercle x^2+y^2=1, c'est tout autant une courbe unicursale,
algébriquement équivalente à une droite, comme le montre la
paramétrisation obtenue par t = tan(u/2)

x= (1-t^2)/(1+t^2) y=2t/(1+t^2)

Le point à l'infini de la droite des t correspond à (-1,0) sur le
cercle, les autres points du cercle correspondent bijectivement aux
points à distance finie.
--
Michel Talon
efji
2024-07-31 08:36:28 UTC
Permalink
Post by Michel Talon
Finalement, concernant la courbe x=cos(u) y=sin(u) c'est à dire le
cercle x^2+y^2=1, c'est tout autant une courbe unicursale,
algébriquement équivalente à une droite, comme le montre la
paramétrisation obtenue par t = tan(u/2)
x= (1-t^2)/(1+t^2)   y=2t/(1+t^2)
Le point à l'infini de la droite des t correspond à (-1,0) sur le
cercle, les autres points du cercle correspondent bijectivement aux
points à distance finie.
Oui bien sûr, c'est assez connu :)
Mais ça ne se met toujours pas sous la forme y=f(x) comme le souhaitait
le posteur initial pour une raison obscure.
--
F.J.
Olivier Miakinen
2024-07-31 11:04:47 UTC
Permalink
Post by efji
Mais ça ne se met toujours pas sous la forme y=f(x) comme le souhaitait
le posteur initial
En effet.
Post by efji
pour une raison obscure.
En effet. :-)
--
Olivier Miakinen
Michel Talon
2024-07-31 13:32:05 UTC
Permalink
Post by Olivier Miakinen
Post by efji
Mais ça ne se met toujours pas sous la forme y=f(x) comme le souhaitait
le posteur initial
En effet.
Post by efji
pour une raison obscure.
En effet. :-)
En effet en général on obtient une relation polynomiale P(x,y)=0. Il se
trouve que dans le cas d'espèce, et là vraiment pour une raison obscure,
on arrive à une relation Y=f(X) en fait Y=cX^3 mais pour des variables
X et Y qui sont des combinaisons linéaires de x et y, c'est à dire
géométriquement après un changement de base. C'est le calcul que j'ai
détaillé.

P.S. En général quand on élimine t entre p(t) et q(t) avec deg(p)=n et
deg(q)=m on
obtient une relation R=0 (R est le résultant) qui est de degré m*n
global dans les coefficients de p et q. Dans le cas présent on a m=n=3
donc on pourrait avoir des termes de degré 9 dans les coeffs et donc en
x et y. Or on trouve des termes en x,y de degré 3. Il y a donc quelque
chose de bien particulier dans cet exemple. Pour se documenter sur ces
sujets sans se plonger dans des cours de géométrie algébrique moderne,
il y a moyen de lire
Algebraic curves de Walker
Ideals, varieties and algorithms de Cox, Little, O'Shea

quand à la théorie des résultants en dimension supérieure
The algebraic theory of modular systems de Macaulay (se trouve sur
l'internet archive) Cambridge 1916. les 22 premières pages.
--
Michel Talon
Olivier Miakinen
2024-07-31 15:35:14 UTC
Permalink
[...] Il y a donc quelque chose de bien particulier dans cet exemple.
Si tu parles de l'exemple que j'avais donné pour qu'il y ait trois 't'
et trois 'y' en x=0 lorsque a > 1, bien sûr qu'il est particulier.

J'avais choisi quatre points bien précis de telle sorte que la courbe
soit toujours symétrique par rapport au point (x,y) = (0,0), et que
selon la valeur de a on puisse avoir 1 ou 3 images de x=0.

Vu que j'ai tout calculé à la main, je n'allais pas choisir un exemple
trop compliqué.
--
Olivier Miakinen
kurtz le pirate
2024-07-29 09:02:29 UTC
Permalink
On 28/07/2024 18:50, Olivier Miakinen wrote:

Bonjour Olivier,
[snip]
Calculer /le/ t pour un x, c'est à priori impossible dans le cas
général. En effet, pour la plupart des x de R il n'y a aucun t qui
corresponde, alors que pour certains x il peut y avoir plusieurs t.
À priori je dirais qu'il peut exister jusqu'à trois valeurs de t
pour le même x dans le cas des courbes de Bézier cubiques, avec
donc trois y différents pour ce même x.
Oui mais, c'est ma faute, je n'ai pas tout dit, mon "t" est borné [0,1]
Post by kurtz le pirate
Je tombe sur une équation du troisième degrés qui n'est pas des plus
simple à résoudre...
N'y aurait-il pas un autre moyen ou astuce ?
Je pense que non. Et je ne comprends pas pourquoi tu cherches à te
compliquer la vie par rapport à la simplicité de la formule de départ.
En fait, j'utilise la coubre dans sa plus simple expression avec 4
points : P0 = <0,0> et P3 = <1,1>. Pour les deux autres c'est variable.
Une fois la courbe définie avec P1 et P2, je veux m'en servir pour
transformer une entrée (x) entre 0 et 1 en (y) est donné par la courbe.
Je ne sais pas si je suis clair.

Par exemple, un gris en entré de 20% (0.20) sera remplacé par un gris x%.
--
kurtz le pirate
compagnie de la banquise
Olivier Miakinen
2024-07-29 13:26:01 UTC
Permalink
Post by kurtz le pirate
Post by Olivier Miakinen
Calculer /le/ t pour un x, c'est à priori impossible dans le cas
général. En effet, pour la plupart des x de R il n'y a aucun t qui
corresponde, alors que pour certains x il peut y avoir plusieurs t.
À priori je dirais qu'il peut exister jusqu'à trois valeurs de t
pour le même x dans le cas des courbes de Bézier cubiques, avec
donc trois y différents pour ce même x.
Oui mais, c'est ma faute, je n'ai pas tout dit, mon "t" est borné [0,1]
???

Bien évidemment, que le t est borné dans [0,1], c'est le principe même
du paramétrage des courbes de Bézier ! Il n'en reste pas moins que tu
peux avoir plusieurs t dans [0,1] donnant le même x.
Post by kurtz le pirate
En fait, j'utilise la coubre dans sa plus simple expression avec 4
points : P0 = <0,0> et P3 = <1,1>. Pour les deux autres c'est variable.
Eh bien prends P1 = <2,y1> et P2 = <-1,y2>, quels que soient y1 et y2 tu
devrais avoir des valeurs de x pour lesquels il y a trois valeurs de t
dans [0,1].

Bien évidemment ce ne sera jamais le cas si tu choisis :
x0=0 < x1 < x2 < x3=1
mais c'est cette hypothèse, si tu l'as faite, que tu aurais dû
préciser !

J'ajoute que si tu as besoin de cette hypothèse c'est dommage parce que
cela limite un peu l'intérêt des courbes de Bézier.
--
Olivier Miakinen
efji
2024-07-29 09:10:59 UTC
Permalink
Post by kurtz le pirate
Bonjour,
Pour une ourbe de Bézier cubique, definie par quatre points P0, P1, P2
B(t) = P0(1-t)^3 + 3P1t(1-t)^2+3P2t^2(1-t)+P3t^3
avec t [0,1]
<https://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier>
Courbe paramétrique x = B(t) et y = B(t).
Comme on a plus l'habitude d'avoir y = f(x), je me demande comment
calculer le 't' pour un 'x'.
Je tombe sur une équation du troisième degrés qui n'est pas des plus
simple à résoudre...
N'y aurait-il pas un autre moyen ou astuce ?
Je ne comprends pas bien pourquoi vous vous posez cette question. Une
équation paramétrique pour une courbe permet de définir les points de la
courbe en fonction d'un paramètre t. Faire le chemin inverse n'est pas
nécessaire en général. Votre problème est de savoir si un point donné
(X,Y) appartient à la courbe ou pas? En effet dans ce cas il faudra
trouver t tel que X=x(t) et Y=y(t) et pour une cubique dans le plan
résoudre non pas une équation du 3eme degré pas un système de 2
équations de 3eme degré, qui pourront avoir 0 solution (le point
n'appartient pas à la courbe), 1 solution (le point appartient à la
courbe de façon "normale"), ou 2 solutions (dans le cas d'une "boucle"
de la courbe, au croisement des deux branches).

Les courbes paramétriques en général ne peuvent pas se mettre sous la
forme y=f(x), c'est bien justement tout leur intérêt ! Par exemple

x(t) = cos(t)
y(t) = sin(t)
t \in [0,2pi[

Saurez-vous la reconnaitre?
--
F.J.
Michel Talon
2024-07-29 09:30:18 UTC
Permalink
Post by efji
Les courbes paramétriques en général ne peuvent pas se mettre sous la
forme y=f(x), c'est bien justement tout leur intérêt ! Par exemple
En fait dans le cas où x(t) et y(t) sont polynomiales, il y a bien moyen
de reconstituer l'équation y=y(x) en éliminant t entre x=x(t) et y=y(t).
La théorie de l'élimination est une des grandes théories de l'algèbre
classique.
https://fr.wikipedia.org/wiki/R%C3%A9sultant
Il est possible que la chose soit piégeuse. par exemple si la courbe a
plusieurs composantes. Voir le dernier paragraphe de la section
Applications.
--
Michel Talon
efji
2024-07-29 09:34:18 UTC
Permalink
Post by Michel Talon
Post by efji
Les courbes paramétriques en général ne peuvent pas se mettre sous la
forme y=f(x), c'est bien justement tout leur intérêt ! Par exemple
En fait dans le cas où x(t) et y(t) sont polynomiales, il y a bien moyen
de reconstituer l'équation y=y(x) en éliminant t entre x=x(t) et y=y(t).
non, ça ne donnera pas la courbe de départ.
Post by Michel Talon
La théorie de l'élimination est une des grandes théories de l'algèbre
classique.
https://fr.wikipedia.org/wiki/R%C3%A9sultant
Il est possible que la chose soit piégeuse. par exemple si la courbe a
plusieurs composantes.  Voir le dernier paragraphe de la section
Applications.
Oui. Et du coup ça n'a aucun intérêt pour étudier la courbe en question.
--
F.J.
robby
2024-07-29 11:57:27 UTC
Permalink
Post by efji
Je ne comprends pas bien pourquoi vous vous posez cette question. Une
équation paramétrique pour une courbe permet de définir les points de la
courbe en fonction d'un paramètre t. Faire le chemin inverse n'est pas
nécessaire en général.
il y a plein de situations théoriques ou pratiques où se pose des
problèmes inverses.

ici, par exemple pour trouver le point d'intersection (ou le point le
plus proche) entre un rayon et une spline.
--
Fabrice
efji
2024-07-29 13:15:04 UTC
Permalink
Post by robby
Post by efji
Je ne comprends pas bien pourquoi vous vous posez cette question. Une
équation paramétrique pour une courbe permet de définir les points de
la courbe en fonction d'un paramètre t. Faire le chemin inverse n'est
pas nécessaire en général.
il y a plein de situations théoriques ou pratiques où se pose des
problèmes inverses.
ici, par exemple pour trouver le point d'intersection (ou le point le
plus proche) entre un rayon et une spline.
Oui d'accord, par exemple. Dans ce cas il faut paramétrer l'équation du
rayon (ou de la courbe) avec lequel on cherche l'intersection avec un
autre paramètre s: (x(s), y(s)), et on obtient 2 équations en les 2
inconnues t et s. Ce système n'est pas forcément soluble de façon
analytique, par exemple si on utilise des B-splines de degré supérieur à
3. Même avec des splines cubiques, comme cela a déjà été dit, pour
l'intersection avec une droite, cela revient à chercher les racines d'un
polynôme de degré 3.
--
F.J.
kurtz le pirate
2024-07-30 08:20:23 UTC
Permalink
Post by efji
Les courbes paramétriques en général ne peuvent pas se mettre sous la
forme y=f(x), c'est bien justement tout leur intérêt ! Par exemple
x(t) = cos(t)
y(t) = sin(t)
t \in [0,2pi[
Saurez-vous la reconnaitre?
LOL. tu n'as pas plus simple ?
--
kurtz le pirate
compagnie de la banquise
Continuer la lecture sur narkive:
Loading...