Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > вращение фигуры в окне gui eclipse


Автор: weirdbitch 15.1.2017, 21:14
Люди добрые, помогите пожалуйста, делаю курсовую, вообще ничего не понимаю!
Есть код для нахождения вершин н-гона, но до меня не доходит, как сделать так, чтобы с помощью него сделать программу для отображения этого самого н-гона в окне gui, а после нажатия, к примеру, button "Rotate", н-гон начинал вращаться 

Код



import java.util.Scanner;

class ngon01 {
    int n, R;
    double fi; double Alf0;
    double [] Alf; 
    double [] x,y;
    
    ngon01(int N, int Rad, double alf0){
        n=N; R=Rad; Alf0=alf0;
        Initiate();
        CalcX();CalcY();
    }
    
    void Initiate(){
        fi=360/n;
        Alf = new double[n+1];
        for (int i=0; i<=n; i++)
            Alf[i]=Alf0+i*fi;
        for(double x: Alf)
            System.out.println("Angles are:"+x);
    }
    
    double[] CalcX(){
        x = new double[n+1];
        for (int i=0;i<=n;i++){
            x[i]=R*Math.cos(Alf[i]*Math.PI/180);
        }
        return x; }
    
    double[] CalcY(){
        y=new double[n+1];
        for (int i=0;i<=n;i++){
            y[i]=R*Math.sin(Alf[i]*Math.PI/180);
        }
        return y;
        }

public static void main(String[] arg) {
    ngon01 myngon=new ngon01(5,10,45);
    System.out.println("x:");
    myngon.CalcX();
    for(int i=0;i<=myngon.n;i++)
        System.out.println("x["+(i+1)+"] ="+myngon.x[i]);
        System.out.println("y:");
        myngon.CalcY();
        for(int i=0;i<=myngon.n;i++)
            System.out.println("y["+(i+1)+"]="+myngon.y[i]);
            }
}

Автор: SVN74 16.1.2017, 01:52
Да....
Когда то я еще в начале 90х на basic(е) в 2D делал вращающийся 3D треугольник, точно уже не помню... вроде как (просто в одном цикле вызывал cos и sin противоположно для нижних вершин).
  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)