У меня возникли проблемы с попыткой построить полярную розу со смещением C уравнения
r (theta) = cos (k * theta) + C. Я пытаюсь построить эту полярную розы:
http://en.wikipedia.org/wiki/Polar_coordinate_system#/media/File:Cartesian_to_polar.gif
полярное уравнение может быть:
г (тета) = совы (к * тете)
или
г (тета) = Sin (к * тете)
Polar Rose 2D offset
Уравнение полярного г ОСЭ Хочу сделать это:
г (тета) = 2 + Sin (6 * тета)
Хорошо, и параметрические уравнения будет:
х = С + Sin (к * тета) * COS (тета)
у = C + грех (к * тета) * sin (тета)
в моей Canvas (область рисования), мое происхождение не в центре экрана, так что мне нужно перевести розу к нему. Хорошо, ничего страшного. Еще один момент в том, что мне нужно масштабировать розу, чтобы она была видимой, или она будет слишком маленькой, но все равно не проблема, это объясняет: 100 *. Вот мой код, то на C++ кстати:
for (float t = 0; t < PI_2; t+= 0.01)
{
r = Origin.get_x() + 100*(2+(sin(6*t) * cos(t)));
h = Origin.get_y() + 100*(2+(sin(6*t) * sin(t)));
point(r,h);
}
Я знаю, что я делаю это неправильно, потому что, когда я добавляю +2, которая должна быть постоянная C не работает так, как я хочу, он просто переводит больше и рисует полярную розу без смещения. Как предотвратить «лишний перевод» и правильно ли выставить его?
Большое вам спасибо! : D Извините, но у меня недостаточно репутации, чтобы проголосовать за ваш ответ, есть ли способ сказать «правильный ответ»? –