You are on page 1of 2

Hieu ung

Hiu ng sng:
Hiu ng ny m t mt im dao ng theo hm sin lm mt phng xung quanh dao
ng theo gy nn cm gic sng. Hiu ng ny e gp nht trn trang instructable v c
nhiu ng xi v tnh n gin nhng p ca n.

C bn v thut ton:
Gi chu k sng l T, bc sng L, bin A.


Chn mt im trong mt phng xy lm gc, t tn l O
Qut tt c mi im trong mt phng xy, gi tng im l A
Tnh khong cch AO theo nh l Pytago, gi l R
Dng cng thc sng u = A*Cos (2*PI*t/T - 2*PI*R/L)
Add tng im vo mng sng

Vs 8x8x8, L l 7, A l 3.5, ta O l (3.5, 3.5), cn T l 1s. Vic ly t ty vo cch cc
bn ly, c th dng timer, c th m frame.

Code C:
Code:
float L = 7; // Bc sng
float T = 1; // Chu k
float A = 3.5; // Bin
float xo = 3.5; // Ta im gc O
float yo = 3.5;

for (byte y = 0; y < 8; y++) // Qut Y
{
for (byte x = 0; x < 8; x++) // Qut X
{
float r = Sqrt(Pow(x - xo, 2) + Pow(y - yo, 2)); // Ly bn knh, Sqrt l
cn bc 2, Pow(x, y) l x m y
float t = get_time(); // Ly thi gian
byte z = (byte)(A * Cos(2*PI*t/T - 2*PI*r/L) + 3.5); // Ly cao z, 3.5
l v tr cn bng
Add(x, y, z); // Lu v tr LED sng
}
}
Ngoi ra, bn c th to ra 1 hiu ng sng khc bng mt thay i nho nh. Bng vic
di chuyn im O ra rt xa (c 5000), chng ta c sng song song (im pht sng rt
xa), v nu quay im O quay mt im no , chng ta c hiu ng th v nh sau.
(Trong video l hiu ng s 2)

Code:
float L = 7; // Bc sng
float T = 1; // Chu k
float A = 3.5; // Bin
float ro = 5000; // im O rt xa LED Cube
float To = 8; // Chu k quay ca O quanh trc
float xo, yo;

float t = get_time(); //Ly thi gian
xo = ro*Cos(2*PI*t/To) + 3.5; // Cho im O quay
yo = ro*Sin(2*PI*t/To) + 3.5;
for (byte y = 0; y < 8; y++) // Qut Y
{
for (byte x = 0; x < 8; x++) // Qut X
{
float r = Sqrt(Pow(x - xo, 2) + Pow(y - yo, 2)); // Ly bn knh, Sqrt l
cn bc 2, Pow(x, y) l x m y
byte z = (byte)(A * Cos(2*PI*t/T - 2*PI*r/L) + 3.5); // Ly cao z, 3.5
l v tr cn bng
Add(x, y, z); // Lu v tr LED sng
}
}

You might also like