Kamis, 03 November 2016

Membuat Program Hely 2D



Selamat pagi semuanya....salam sejahtera selalu...

Kali ini ogut akan membagikan program animasi Hely 2D seperti yang Anda lihat pada video di bawah ini.




Untuk membuat baling-baling hely berotasi ogut menggunakan matematika rotasi seperti artikel sebelumnya yang pernah ogut bahas.

Sekedar mengingatkan Anda, gambar di bawah ini adalah rotasi yang berpusat pada titik koordinat (0,0).


Yang berikut ini adalah rotasi dengan pusat titik koordinat (M,N).


Rumus rotasi nya

x‟ = x Cos θ˚ - y Sin θ˚

y‟ = x Sin θ˚ + y Cos θ˚


Di dalam program kode yang ogut tambahkan untuk membuat baling-baling hely berotasi adalah sebagai berikut.

  //rotasi baling hely====================
//proses rotasi(rotasi kekanan sudut di negatifkan)

sudut_radian = -(30.0 / 180.0) * 3.1415926; //My_Pi;

tempX1 = baling_hely.Ax - 0.0;
tempY1 = baling_hely.Ay - (-430.0);

tempX2 = baling_hely.Bx - 0.0;
tempY2 = baling_hely.By - (-430.0);

tempX3 = baling_hely.Cx - 0.0;
tempY3 = baling_hely.Cy - (-430.0);

tempX4 = baling_hely.Dx - 0.0;
tempY4 = baling_hely.Dy - (-430.0);

baling_hely.Ax = (tempX1 * cos(sudut_radian)) - (tempY1 * sin(sudut_radian));
baling_hely.Ay = (tempX1 * sin(sudut_radian)) + (tempY1 * cos(sudut_radian));

baling_hely.Bx = (tempX2 * cos(sudut_radian)) - (tempY2 * sin(sudut_radian));
baling_hely.By = (tempX2 * sin(sudut_radian)) + (tempY2 * cos(sudut_radian));

baling_hely.Cx = (tempX3 * cos(sudut_radian)) - (tempY3 * sin(sudut_radian));
baling_hely.Cy = (tempX3 * sin(sudut_radian)) + (tempY3 * cos(sudut_radian));

baling_hely.Dx = (tempX4 * cos(sudut_radian)) - (tempY4 * sin(sudut_radian));
baling_hely.Dy = (tempX4 * sin(sudut_radian)) + (tempY4 * cos(sudut_radian));

//kembalikan posisi titik ke semula
baling_hely.Ax += 0.0; baling_hely.Ay += -430.0;
baling_hely.Bx += 0.0; baling_hely.By += -430.0;
baling_hely.Cx += 0.0; baling_hely.Cy += -430.0;
baling_hely.Dx += 0.0; baling_hely.Dy += -430.0;

//rotasi baling hely====================

Salam Hangat Selalu

Heriady Yoh
heriady.yoh@gmail.com




-----------------------------------------------------------------------
-----------------------------------------------------------------------