23 votos

¿Qué ecuación produce esta curva?

Estoy trabajando en un proyecto de ingeniería y me gustaría poder introducir una ecuación en mi software de CAD, en lugar de dibujar una spline.

La spline es bastante sencilla: una curva suave que empieza y termina en horizontal.

¿Existe una ecuación sencilla para esta curva?
¿O quizás dos ecuaciones, una para cada mitad?
También puedo trabajar con ecuaciones paramétricas, si es necesario.

spline curve

0 votos

Escala según sea necesario: 1+xx(2x-3)

0 votos

@MartijnCourteaux Me sale el cúbico normalizado $\frac{x(x^2-3)}{2}$

1 votos

Soy ingeniero civil y esto parece el diseño de un cable pretensado (pido disculpas si me equivoco). Si es así, este tipo de cables suelen diseñarse con ecuaciones cuadráticas (o líneas rectas), en cuyo caso querrías usar una parábola para cada mitad o usar Beziers cuadráticos que funcionan de forma muy parecida a los cúbicos descritos en la respuesta de MarkH.

35voto

Georgi Puntos 76

Estos splines suelen dibujarse como Curvas de Bézier . En concreto, al estar definida por cuatro puntos, la curva es una Bézier cúbico . $$\vec{x} = (1-t)^3\vec{P_0} + 3(1-t)^2t\vec{P_1} + 3(1-t)t^2\vec{P_2} + t^3\vec{P_3}$$ con \begin{align} \vec{P_0} &= (-60, 20),\\ \vec{P_1} &= (0, 20),\\ \vec{P_2} &= (0, -20),\\ \textrm{and}\ \vec{P_3} &= (60, -20). \end{align} La variable $t$ es $0$ en el extremo izquierdo de la curva y $1$ en el extremo derecho. Con estos puntos, el origen está en el centro de la figura. Tomando $x$ - y $y$ -por separado, tenemos \begin{align} x(t) &= -60(1-t)^3 + 60t^3\\ y(t) &= 20(1-t)^3 + 60(1-t)^2t - 60(1-t)t^2 - 20t^3. \end{align} Después de un poco de aritmética, estos se simplifican a \begin{align} x(t) &= 60(2t^3 - 3t^2 + 3t - 1)\\ y(t) &= 20(4t^3 - 6t^2 + 1). \end{align}

He superpuesto las curvas de abajo para mostrar que coinciden. La verde es la curva original de tu foto; la azul es la curva de las ecuaciones anteriores. Overlapping curves

0 votos

@Giffyguy: O, si prefieres replicar mi curva para $(0,40)$ a $(120,0)$ Utilizar los puntos de control $(0,40), (40,40), (80,0), (120,40)$ ; o, $(-60,20), (-20,20),(20,-20), (60,-20)$ si el centro está en el origen. Sería la variante de Bézier con $x$ lineal, ya ves. Mover los puntos de control centrales a lo largo de la $x$ eje, antisimétricamente, modificará la inclinación de la curva en el centro.

1 votos

Mi suposición habría sido que los nodos que vemos en la imagen son los puntos de control ... Así que $(-60,20), (0,20), (0,-20), (60,-20)$ ?

0 votos

20voto

David Quinn Puntos 7591

Podrías probar con una onda sinusoidal o cosenoidal. Tomando la esquina inferior izquierda como origen, dejemos que $$y=20\cos\left(\frac {\pi x}{120}\right)+20$$

Esto también puede escribirse como $$y=40\cos^2\left(\frac{\pi x}{240}\right)$$

0 votos

También es una buena solución. No está muy lejos de la ecuación cúbica representada aquí .

0 votos

Esta no es la respuesta exacta a mi pregunta (por la forma en que está redactada), pero es la solución que acabé utilizando, ya que produce una curva lo más suave posible, más suave que la cúbica de Bézier. Gracias por la ayuda.

0 votos

De nada. Encantado de ser de ayuda.

14voto

Daniel R. Collins Puntos 1497

La mayoría de las otras respuestas, fuera del rango dado, serán: (a) cíclicas (vuelven a subir y bajar repetidamente), o (b) divergen hasta +/- el infinito en el límite (muy lejos del origen). Si es importante que las colas tengan asíntotas horizontales en el límite, entonces quieres algún tipo de función logística :

$$f(x)= \frac{L}{1+e^{-k(x-x_0)}}$$

Graph of logistic function

4 votos

Tenga en cuenta, sin embargo, que esta función no va a un valor "agradable" en cualquier valor particular de $x$ por ejemplo, si quiero $f(-4) = 0$ y $f(4) = 1$ tendrá que compensar la función con una constante aditiva, y los valores de $L$ será alguna expresión complicada en términos de exponenciales. Esto es realmente la otra cara del problema que señalas: esta función tiene automáticamente un buen comportamiento fuera del intervalo, pero es más fea si quieres un control preciso en los límites del intervalo.

4 votos

También se denomina (a menudo en informática) curva sigmoidea es.wikipedia.org/wiki/Función_sigmoidea

11voto

Nominal Animal Puntos 23

Suponiendo que se refiere a $$\begin{align} y(0) &= 40 \\ y(120) &= 0 \\ \dot{y}(0) &= 0 \\ \dot{y}(120) &= 0 \end{align}$$ entonces un simple cúbico será suficiente: $$y(x) = \frac{x^3}{21600} - \frac{x^2}{120} + 40$$

A distancia $x=0\dots120$ se ve así: Cubic example curve


Puedes encontrarlos muy fácilmente. En general, una curva cúbica es $$y(x) = C_3 x^3 + C_2 x^2 + C_1 x + C_0$$ y su derivado $$\dot{y} = \frac{d y(x)}{d x} = 3 C_3 x^2 + 2 C_2 x + C_1$$ Fija cuatro valores, cada uno de los cuales fija una de las constantes, y ya está.

0 votos

He obtenido $\boxed{ \displaystyle P(x) = \frac{x^3}{21600} - \frac{x}{2}}$ con el mismo método (con la derivada proporcional a $x^2-60^2$ ).

0 votos

@RaymondManzoni Creo que es hasta negativo en partes la función en la pregunta es positiva...Si acaso, creo que debería ser $\;-x^3\;$ y algunos coeficientes aquí y allá.

0 votos

Mi solución se centra en $0$ puede, por supuesto, desplazarse hacia arriba añadiendo $20$ y/o traducido mediante la sustitución de $x$ con $x-x_0$ ...

9voto

Narasimham Puntos 7596

Supongo que el origen está en el centro de la línea vertical del eje y. Código de Mathematica y gráfico:

Plot [ 20 Cos[ Pi x/120], {x, 0, 120}, AspectRatio -> 1/3, GridLines
-> Automatic, PlotStyle -> Thick]

$$ y = 20 \cos \frac{\pi x}{120} ,\, (0<x<120). $$ CosCurveMathematica

EDIT1:

O una cúbica cuya dimensión de caja de dominio/rango puede ser variada:

$$ \dfrac{y}{x}= \dfrac{3b}{2a}\big(\dfrac{x^2}{3 a^2}-1\big) $$

enter image description here

  a = 60; b = 20;
  Plot[3 b/(2 a ) \,x \;( x^2/(3 a^2) - 1) , {x, -a, a}, PlotStyle -> {Thick, Blue}, AspectRatio -> 0.2, GridLines -> Automatic, AxesLabel -> {X, Y}, GridLinesStyle -> Directive[Gray]]

0 votos

Esta no es la respuesta exacta a mi pregunta (por la forma en que está redactada), pero es la solución que acabé utilizando, ya que produce una curva lo más suave posible, más suave que la cúbica de Bézier. Gracias por la ayuda.

0 votos

De acuerdo, pero me pregunto qué se necesita exactamente para una respuesta aceptable. Podemos, por ejemplo, configurarlo para que la pendiente máxima central sea manipulable como una variable utilizando valores de límite en odas, justo desde el diente de sierra hasta la línea diagonal.

1 votos

Esta respuesta es fabulosa, y la estoy utilizando como solución final. Lo que pasa es que el enunciado explícito de mi pregunta pide técnicamente la cúbica de Bézier (aunque no me di cuenta de que ese era su nombre en ese momento). Esa es la razón por la que acepté la respuesta de Mark H.

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