Como calcular uma curva senoidal modificada?

5

insira a descrição da imagem aqui

Estou projetando um perfil de came bidimensional. Eu quero usar o método "seno modificado" para desenhar as mudanças de posição e ângulo. (veja o desenho em anexo). A curva senoidal modificada é na verdade uma combinação de curva cicloidal no primeiro e no último 1/8 da curva e uma curva senoidal no meio 7/8 da curva. É facilmente empregado quando as velocidades terminais são zero. No entanto, muitas vezes é necessário que um perfil de came simplesmente passe de uma velocidade (talvez zero) para uma velocidade terminal constante. A velocidade terminal é simplesmente um ângulo no diagrama de deslocamento.

O perfil é definido por:

y={h4+π(πθβ14sin(4πθβ)),0<θ<18βh4+π(2+πθβ94sin(4πθ3β+π3)),18β<θ<78βh4+π(4+πθβ14sin(4πθβ)),78β<θ<β

45deg(π4)

como um exemplo,

(0,0)(3,2)30

hβ(3,2)30180π

birdman3131
fonte
dydθθ=0.5β

Respostas:

2

Eu usaria uma interpolação Hermite. Ele usa as quatro funções a seguir:

h1=2s33s2+1

h2=2s3+3s2

h3=s32s2+s

h4=s3s2

E combina-os assim:

output=(h1startPoint)+(h2endPoint)+(h3gradientIn)+(h4gradientOut)

s01outputstartPoint (0,0)endPoint (3,2)gradientIn0gradientOuttan(π6)=13

xs=(h2xend)+(h4tan(π6))=(h23)+(h413)

ys=(h2yend)+(h4tan(π6))=(h22)+(h413)

Se você quiser obter mais informações sobre esse tipo de curva de interpolação, veja uma descrição matemática e uma descrição mais funcional .

jhabbott
fonte
Obrigado pelo trabalho que você fez. No entanto, não sei como chegar a uma equação geral a partir desta solução. Parece aplicar-se apenas ao exemplo.
birdman3131
A equação geral inicia "output = (h1 * startPoint) + ..." - somente o bit depois é específico para o seu exemplo. Para entender, use 0 para startPoint e 1 para endPoint e, em seguida, plote 's' como 'x' e 'output' como 'y'. Tente ajustar o gradiente de entrada / saída para ver como a curva é afetada e ter uma ideia dela. Você verá como é fácil redefinir a parametrização de vários segmentos, se você quiser criar curvas mais complexas (corrigindo os gradientes para qualquer escala aplicada).
jhabbott