Генератор точек кривых

Суть задачи в том, что мне нужна помощь в реализации генератора точек кривых. Нам заданы изначальные координаты x1, y1 с перемещением в точку x2, y2.

Представим такую прямую:

Относительно конечно, сочтем за прямую c: Где квадратики наши точки. В результате хотелось бы достичь кривой с "диапазоном искривления".

введите сюда описание изображения

Что-то наподобие такого. Всякие Кривые Безье не упоминайте.


Ответы (1 шт):

Автор решения: CrazyElf

Ну вот я вам синусом обычным кривую изобразил, например.

import seaborn as sns
import numpy as np
import matplotlib.pylab as plt

x1, y1 = 0, 2
x2, y2 = 10, 1

sns.lineplot(x=[x1,x2], y=[y1,y2], color='blue');
plt.ylim(0, 3)

x = np.linspace(x1, x2)
y = [np.sin((x1 +  i * (x2 - x1) / 50) * np.pi / 5) / 5  + (y1 + i * (y2 - y1) / 50) for i in range(50)] 

sns.scatterplot(x=x, y=y, color='red');

sin

→ Ссылка