Я пытаюсь написать код, который имитирует движение каждой планеты вокруг Солнца в Солнечной системе, используя график в Октаве 4.2.1. Один из аспектов этого проекта состоит в том, чтобы солнце и все планеты на графике представляли собой круги определенного размера (то есть определенного радиуса) и чтобы каждый круг двигался. Проблема, с которой я столкнулся, заключается в использовании встроенной функции set () для установки новых значений x и y для центра каждого круга, который уже нарисован. Я не хочу перерисовывать каждый круг в каждой итерации моего цикла, потому что это вызывает очень прерывистое и непоследовательное движение, а с помощью функции set () это очень плавное и последовательное движение. Я был в состоянии использовать функцию set () для простой точки, используя дескриптор и функцию plot (). Но с функцией, которую я хочу использовать, которая является drawCircle (), использование функции set () всегда возвращает ошибку.
Вот простая версия (которая не работает) того, что я хочу сделать в моем реальном коде:
figure 1
s=drawCircle(0,0,1);
hold on
axis([-2 2 -2 2])
set(s,'x0', 1)
Этот код возвращает ошибку: «set: unknown line свойство x0». Чтобы быть более конкретным, я спрашиваю, как установить координаты x и y центра круга, нарисованного с помощью drawCircle (), используя функцию set (), после того, как он нарисован.
Я был бы очень признателен, если у кого-нибудь есть идеи о том, как заставить это работать, или какие-либо альтернативные обходные пути для достижения того же самого.