Takashi Asano
/
linearMirrorMotion1017
sotsuron
Fork of linearMirrorMotion1017 by
Diff: renderclass.cpp
- Revision:
- 25:423050363215
- Parent:
- 24:ab74d2018e6c
- Child:
- 26:74ecbf9985e1
--- a/renderclass.cpp Tue Jul 02 08:26:45 2013 +0000 +++ b/renderclass.cpp Wed Jul 03 07:43:48 2013 +0000 @@ -9,14 +9,14 @@ inline void render::shearing(point2dl& dataBefore) { - dataBefore.x = dataBefore.x - vx * speedTimer.read_us()/100; //2000000;//dataBefore.x - speed *speedTimer.read_us()/1000000 ;//- speed * cos(angle+PI/2)*speedTimer.read_us()/800; - dataBefore.y = dataBefore.y - vy * speedTimer.read_us()/2000000;//dataBefore.y ;//- speed * sin(angle+PI/2)*speedTimer.read_us()/800; + dataBefore.x = dataBefore.x/4.0 - vx * speedTimer.read_us()/100; //2000000;//dataBefore.x - speed *speedTimer.read_us()/1000000 ;//- speed * cos(angle+PI/2)*speedTimer.read_us()/800; + dataBefore.y = dataBefore.y/4.0 - vy * speedTimer.read_us()/2000000;//dataBefore.y ;//- speed * sin(angle+PI/2)*speedTimer.read_us()/800; } inline void render::rotation(point2dl& dataBefore) { int x=dataBefore.x; - dataBefore.x = x + abs((int)angle) % (2 * (CENTER_AD_MIRROR_X-200)) - CENTER_AD_MIRROR_X+200;//x + (CENTER_AD_MIRROR_X-200) * cos(angle);//radious * cos(angle) + sin(angle)*x - cos(angle)*dataBefore.y;// + dataBefore.x = x;//x + abs((int)angle) % (2 * (CENTER_AD_MIRROR_X-200)) - CENTER_AD_MIRROR_X+200;//x + (CENTER_AD_MIRROR_X-200) * cos(angle);//radious * cos(angle) + sin(angle)*x - cos(angle)*dataBefore.y;// dataBefore.y = -dataBefore.y;//radious * sin(angle) - cos(angle)*x - sin(angle)*dataBefore.y;// } @@ -84,6 +84,20 @@ void render::draw() { + if(firstPointCounter == 0){ + if(laserColor % 2 == 0) IO.setRedPower(translated[currentLetters].letpoints[currentPoints].laserSwitch); + if(laserColor % 3 == 0) IO.setGreenPower(translated[currentLetters].letpoints[currentPoints].laserSwitch); + firstPointCounter = 1; + } + else{ + + IO.setRedPower(0); + IO.setGreenPower(0); + firstPointCounter = 0 + } + + + /* if(translated.size()>0) { switch(rendererState) { @@ -92,7 +106,8 @@ point2dl drawPoint=translated[currentLetters].letpoints[currentPoints]; transform(drawPoint); // transform it with the current speed and angle IO.writeOutXY(CENTER_AD_MIRROR_X + (int)drawPoint.x , CENTER_AD_MIRROR_Y + (int)drawPoint.y); - IO.setRedPower(translated[currentLetters].letpoints[currentPoints].laserSwitch); + if(laserColor % 2 == 0) IO.setRedPower(translated[currentLetters].letpoints[currentPoints].laserSwitch); + if(laserColor % 3 == 0) IO.setGreenPower(translated[currentLetters].letpoints[currentPoints].laserSwitch); // move to the next point currentPoints++; @@ -107,6 +122,7 @@ // just wait! if (lastPointCounter<WAITING_LAST) { IO.setRedPower(0); + IO.setGreenPower(0); lastPointCounter++; } else { @@ -141,10 +157,11 @@ break; } } - } + */ +} void render::transform(point2dl& mypoint) { rotation(mypoint); if(shearingSwitch == 1) shearing(mypoint); - } +}