Создание изогнутых многоугольников - PullRequest
1 голос
/ 05 мая 2020

Как добавить кривизну к вершинам и ребрам многоугольников.

Я пытаюсь создать несколько изогнутых многоугольников, таких как эти изогнутые вершины , формы изогнутых кромок или даже оба

Как бы вы go генерировали эти формы. Я изучил кривые Безье, но они кажутся весьма интересными, я хочу знать, есть ли какое-нибудь более простое решение, прежде чем я выберу этот метод.

Вот мой код для генерации полигонов, если кому-то нужна отправная точка.

def gen_poly(sides, radius=1, rotation=0):
    seg = math.pi * 2 / sides
    x_list = []
    y_list = []
    for i in range(sides): 
        x = math.sin(seg * i + rotation) * radius
        y = math.cos(seg * i + rotation) * radius
        x_list.append(x)
        y_list.append(y)
    x_list.append(x_list[0])
    y_list.append(y_list[0]) 
    return x_list,y_list
x,y=polygon(5) 

fig = plt.figure()
ax = plt.subplot(111)
ax.plot(x, y, marker='.')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
...