Мне предлагается создать рекурсивную функцию, называемую Безье, которые являются списком заданных точек и точкой, которую необходимо оценить t. Он возвращает точку кривой Безье, определяемую контрольными точками списка точек.Рекурсивная функция кривой Безье python
Это алгоритм, который я сделал:
def Bezier(point_list, t):
if len(point_list)==1:
return point_list[0]
else:
P1=Bezier(point_list[0:-1],t)
P2=Bezier(point_list[1:],t)
P=(1-t)*P1 + t*P2
return P
и это список точек Дано:
point_list=[ (0,0), (10,-1), (13,5), (-7,8), (2,2) ]
Как я могу знать, если моя функция является правильным?
Как насчет, график результатов и посмотреть, хорошо ли они выглядят? – Kevin
Я не понимаю, почему вы делаете рекурсивные призывы к Безье; похоже, что степень кривой зависит от количества пройденных точек? Это очень странно. –
Это типично для кривых Безье, @HughBothwell. Кривая порядка N имеет ровно N + 1 контрольных точек. – Kevin