2015-08-17 2 views
0

Играли с некоторым базовым 3D. Я пытаюсь сохранить математику относительно просто, как я только в году 9.Java - Вращающиеся точки по кругу

информации Справочной информации: У меня есть 3 int[] переменных, называемые xpoints, ypoints и zpoints. Я думал о том, чтобы поместить их в один список под названием nodes, но решил, что это нелегко.

Первый Forumla я попытался было:

xpoints[i] = (int) (r*Math.cos(Math.toRadians(d))); 
ypoints[i] = (int) (r*Math.sin(Math.toRadians(d))); 

Это работало отлично для вращения куба вокруг одной оси, но не любые другие. Я нашел формулу, которая выглядела многообещающей для нескольких осей, но не может заставить ее работать. Кажется, что лица кажутся слегка сжатыми во время каждого цикла, заканчиваясь в одной точке (в центре).

xpoints[i] = (int) (x * cos_t - y * sin_t) 
ypoints[i] = (int) (y * cos_t + x * sin_t) 

Полнофункциональный применения математики:

public void rotateZ(double theta){ 
    theta = Math.toRadians(theta); 
    double cos_t = Math.cos(theta); 
    double sin_t = Math.sin(theta); 
    for (int i = 0; i < xpoints.length; i++){ 
     double x = xpoints[i] - x_off; 
     double y = ypoints[i] - y_off - ypoints_mod[i]; 
     xpoints[i] = (int) (x * cos_t - y * sin_t) + x_off; 
     ypoints[i] = (int) (y * cos_t + x * sin_t) + y_off + ypoints_mod[i]; 
     System.out.println(x+", "+y); 
    } 
} 

Если вам нужно больше информации, пожалуйста, дайте мне знать (не совсем уверен, как это слово)

Спасибо,

ответ

1

замечательная работа для 9-летнего мальчика !! Большой!! поиск по euler rotation для вращения точки или вектора на всех трех осях.

+0

Ха-ха спасибо, посмотрел поворот эйлера. Заинтересован, но выглядит очень запутанным. Знаете ли какие-нибудь места, которые его немного упрощают? (Или это действительно так сложно :)) * Голосовать за поворот эйлеров, выглядит очень удобно – Andy

1

Ну ... Разве вам не нравится компьютерное программирование :). Как показано в коде, я округлял результат до Integer для удобства. Оказывается, это полностью разрывает его, удаляет, и он отлично работает.

НЕ КРУГЛЫЙ, КОГДА МАТЬ НА КОМПЬЮТЕРЫ !!! : P

Никогда больше

Смежные вопросы