5 votos

¿Cuál es la ecuación para producir esta curva de Bézier?

¿Cuál es la ecuación de la primera curva de la imagen?

Bezier Curves

Tengo esta fórmula:

Quadratic Bezier curve formula

Pero cuando sustituyo los valores, obtengo una imagen que parece x^2. No tiene la misma forma que la imagen.

0 votos

$P_0,P_1,P_2$ son probablemente los puntos. Yo diría que $P_1$ es el punto de cruce. Los tratas como vectores [x,y] cuando haces los cálculos.

1 votos

Por lo tanto, si desea aplicar la fórmula de Bézier para obtener una expresión, puede utilizarla para calcular $x$ y $y$ como funciones de $t$ y luego tratar de simplificar.

10voto

meiguoren Puntos 114

Los tres puntos $P_0,P_1,P_2$ son los puntos de control del segmento de Bézier cuadrático. En las imágenes, estos puntos están conectados con líneas rectas. $P_0$ y $P_2$ son los puntos finales de la curva, $P_1$ (marcado con $\times$ ) no suele estar en la curva. La fórmula \begin{align} B(t)&=(1-t)^2P_0+2(1-t)tP_1+t^2P_2 ,\quad t\in[0,1] \end{align}
es paramétrico, es decir, hay dos expresiones en términos de parámetro $t$ , que definen $x(t)$ y $y(t)$ :

Ejemplo $a=3$ : \begin{align} B_x(t)&=(1-t)^2P_{0x}+2(1-t)tP_{1x}+t^2P_{2x} ,\\ B_y(t)&=(1-t)^2P_{0y}+2(1-t)tP_{1y}+t^2P_{2y} . \end{align}

Así pues, para la primera imagen podemos suponer que los puntos de control son

\begin{align} P_0&=(0,a),\quad P_1=(0,0),\quad P_2=(a,0), \end{align}

y para el segundo

\begin{align} P_0&=(a,a),\quad P_1=(0,0),\quad P_2=(a,0) \end{align}

para alguna constante $a$ .

Obsérvese que las coordenadas de los puntos son completamente independientes del rango paramétrico $[0,1]$ .

Las dos imágenes demuestran cómo cambia la curva cuando sólo se mueve un extremo.

Ejemplo $a=3$ :

enter image description here

enter image description here

Las líneas tangentes en el imágenes ilustran el proceso de construcción de los puntos de una curva de Bézier cuadrática mediante los puntos de los segmentos lineales de Bezier:

  1. Conexión de los puntos de control $P_0-P_1-P_2$ , creamos dos segmentos lineales de Bézier: $P_0P_1$ con puntos de control $P_0$ y $P_1$ , y $P_1P_2$ con puntos de control $P_1$ y $P_0$ ,

  2. Para cualquier $t\in[0,1]$ encontrar puntos $u_t,v_t$ en los segmentos de línea $P_0P_1$ y $P_1P_2$

\begin{align} u_t&=P_0(1-t)+P_1(t) ,\\ v_t&=P_1(1-t)+P_2(t) . \end{align}

A continuación, encuentre el punto $w_t$ en el segmento lineal de Bézier $u_tv_t$ con puntos de control $u_t$ y $v_t$ ,

\begin{align} w_t&=u_t(1-t)+v_t t , \end{align}

y el punto $w_t$ es el punto de la curva cuadrática de Bézier.

3voto

JiminyCricket Puntos 143

En la imagen, la curva parece ser la envolvente de las líneas cuyo $x$ y $y$ intercepciones se suman a $1$ . Estas líneas vienen dadas por

$$ y=y_0\left(1-\frac x{1-y_0}\right)\;, $$

donde $y_0$ es el $y$ interceptar.

La envoltura maximiza $y$ con respecto a $y_0$ para $x$ . Fijando la derivada de $y$ con respecto a $y_0$ a cero produce

$$ 1-\frac x{1-y_0}-\frac{y_0x}{(1-y_0)^2}=0 $$

y así $y_0=1-\sqrt x$ . Sustituyendo esto en la ecuación de las líneas se obtiene $y=\left(1-\sqrt x\right)^2$ o de forma más manifiestamente simétrica,

$$ \sqrt x+\sqrt y=1\;. $$

También se puede escribir paramétricamente como $(x,y)=(\sin^4 t,\cos^4 t)$ .

0 votos

3voto

mathreadler Puntos 3517

Uso de la notación vectorial $[x,y]^T$ : Primero tenemos que escribir los puntos: $$P_0 = [0,1]^T, P_1 = [0,0]^T, P_2 = [1,0]^T$$ Ahora, la fórmula: $$B(t) = (1-t)^2[0,1]^T + (1-t)t[0,0]^T + t^2[1,0]^T = ...\\ [t^2,(1-t)^2]^T$$

Así que es cierto que se obtienen funciones cuadráticas, pero las funciones cuadráticas están en ambos $x$ y $y$ coordenadas.

$$x = t^2, y = 1-2t+t^2$$ y luego sustituir $x=\sqrt{t}$ basado en nuestro intervalo $x\in[0,1]$ que pertenece a los números reales positivos,

$$y = 1-2\sqrt{x}+x$$

Puede comprobarlo con esto Gráfico Wolfram alpha .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X