Curva de Bézier com SciPy

Eu tenho um conjunto de pontos que se aproxima de uma curva 2D. Eu gostaria de usar Python com numpy e scipy para encontrar um caminho Bézier cúbico que se encaixa aproximadamente nos pontos, onde eu especifico as coordenadas exatas de dois pontos finais, e retorna as coordenadas dos outros dois pontos de controle.

Eu pensei inicialmentescipy.interpolate.splprep() pode fazer o que eu quero, mas parece forçar a curva a passar através de cada um dos pontos de dados (como eu suponho que você gostaria de interpolação). Eu vou assumir que eu estava no caminho errado com isso.

Minha pergunta é semelhante a esta:Como posso ajustar uma curva de Bézier a um conjunto de dados?, exceto que eles disseram que não queriam usar numpy. Minha preferência seria encontrar o que eu preciso implementar em algum lugar no scipy ou numpy. Caso contrário, planejo implementar o algoritmo vinculado de uma das respostas a essa pergunta, usando numpy:Um algoritmo para ajustar automaticamente as curvas digitalizadas (pdf.page 622).

Obrigado por qualquer sugestão!

Edit: Eu entendo que uma curva cúbica de Bézier não é garantida para passar por todos os pontos; Eu quero um que passe por dois endpoints, e que seja o mais próximo possível dos pontos internos especificados.

questionAnswers(6)

yourAnswerToTheQuestion