Я пытаюсь моделировать планету, вращающуюся звезду. Я в настоящее время известно о синтаксисе, чтобы переместить окно изображения (у меня есть это в таймере так повторяется)
private void rotate_timer(object sender, EventArgs e) {
picturebox1.location = new point (picturebox1.location.x + 1,
picturebox1.location.y + 1);
}
Но я не знаю, с чего начать, так что она вращается вокруг определенной точки. Как бы мне повернуть вокруг (0,0)?
Вы должны повернуть изображение * в * картинный ящик, а не сам снимок - [Как повернуть изображение на C#] (http://stackoverflow.com/questions/2163829/how-do-i-rotate- a-picture-in-c-sharp). Тот же принцип применяется для перемещения фотокарт в целом: рассмотрите вместо этого рисунок в конкретных координатах непосредственно на (предположительно) форме. –
Но мне не нужно, чтобы изображение вращалось. Мне нужно окно, чтобы повернуть _around_ точку с заданным расстоянием. –
Вам нужно будет работать с тригонометрическими функциями (например, 'x = Math.Sin (angle); y = Math.Cos (angle);'), если вы хотите повернуть объект вокруг оси. (Происхождение [0, 0] будет просто поворот вокруг оси * z * в начале координат.) – ray