1 votos

Función para representar la curva entre dos puntos 2D

Necesito una función (la más sencilla) que interpola valores en un rango a partir de un punto predefinido $A$ a $B$ con reglas:

  • debe ser una curva suave
  • dirección cerca de $B$ debe ser el mismo que el predefinido $D$ vector

enter image description here

Tengo una variante para construir arco de círculo pero es demasiado compleja. Tal vez algún tipo de splines, pero no sé cómo representarlo con mi $A$ , $B$ puntos y $D$ vector.

1voto

ubergoober Puntos 41

Dado un punto de partida $A$ punto final $B$ y dirección final $D$ se puede definir una curva de Bézier cuadrática. Sea $M=B-D$ , $M$ siendo el punto medio utilizado para definir la curva. La curva $f$ viene dada por

$$f(t)=(1-t)[(1-t)A+tM]+t[(1-t)M+tB],\ 0\leq t\leq 1$$

Puede ajustar la suavidad de la curva cambiando la colocación de $M$ . Puede hacerlo eligiendo un factor de escala $x>0$ y ajuste $M=B-xD$ .

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