Splprep Неверные входные данныеPython

Программы на Python
Ответить
Anonymous
 Splprep Неверные входные данные

Сообщение Anonymous »

Пример данных:

Код: Выделить всё

curves =
[[[ 163.73873901  163.79016113  195.15170288]
[ 163.75410461  163.74798584  195.00090027]
[ 163.82121277  163.3908844   193.4805603 ]
...
[ 136.28196716  134.58721924    5.28508425]
[ 136.14976501  134.63981628    5.04161263]
[ 135.96887207  134.7321167     4.71693945]],
...
[[ 163.73873901  163.79016113  195.15170288]
[ 163.75410461  163.74798584  195.00090027]
[ 163.82121277  163.3908844   193.4805603 ]
...
[ 129.41056824  143.86738586  101.12477112]
[ 129.30464172  143.82444763  100.86767578]
[ 128.98980713  143.91737366  100.56091309]]]
Начала этих кривых перекрываются, а точки за ними разные.
Это как дерево, все кривые идут от корня ко всем ветвям.
Когда я это делаю:

Код: Выделить всё

for curve in curves:
x = curve[:, 0]
y = curve[:, 1]
z = curve[:, 2]
tck, u = splprep([x,y,z], s=0) # scipy.interpolate.splprep
unew = np.linspace(0, 1, 100)
out = splev(unew, tck)
ax.plot(out[0], out[1], out[2], label=f'B-spline Curve {idx+1}')
Результат:
splprep возвращает ValueError: недопустимые входные данные.
Я знаю, что это ошибка, которая возникает, когда функция splprep обнаруживает точки, в которых входные данные повторяются (можно запустить splprep только с другой кривой), но количество кривых неизвестно, и мне нужно «for», чтобы контролировать количество выполнений.
как это исправить? ти!

Подробнее здесь: https://stackoverflow.com/questions/792 ... lid-inputs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»