Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function generate_hexagon( x, y, r, ang )
- local x, y, r = x, y, r;
- local ang = ang or 0;
- local sin, cos = math.sin( math.rad( ang ) ), math.cos( math.rad( ang ) );
- local sin60, cos60 = math.sin( math.rad( ang + 60 ) ), math.cos( math.rad( ang + 60 ) );
- local sin120, cos120 = math.sin( math.rad( ang + 120 ) ), math.cos( math.rad( ang + 120 ) );
- local sin180, cos180 = math.sin( math.rad( ang + 180 ) ), math.cos( math.rad( ang + 180 ) );
- local sin240, cos240 = math.sin( math.rad( ang + 240 ) ), math.cos( math.rad( ang + 240 ) );
- local sin300, cos300 = math.sin( math.rad( ang + 300 ) ), math.cos( math.rad( ang + 300 ) );
- local a, b = r*cos, r*sin;
- local c, d = r*cos60, r*sin60;
- local e, f = r*cos120, r*sin120;
- local g, h = r*cos180, r*sin180;
- local i, j = r*cos240, r*sin240;
- local k, l = r*cos300, r*sin300;
- return {
- { x = x + a, y = y + b },
- { x = x + c, y = y + d },
- { x = x + e, y = y + f },
- { x = x + g, y = y + h },
- { x = x + i, y = y + j },
- { x = x + k, y = y + l },
- };
- end
- local function TRIANGLES()
- local x, y = ScrW()*0.5, ScrH()*0.5;
- surface.SetDrawColor( 255, 0, 0, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 150,CurTime()*50%60 ) );
- surface.SetDrawColor( 255, 0, 0, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 150,-CurTime()*50%60 ) );
- surface.SetDrawColor( 255, 0, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 140, CurTime()*100%60 ) );
- surface.SetDrawColor( 255, 150, 0, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 135, CurTime()*120%60 ) );
- surface.SetDrawColor( 255, 255, 0, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 130, -CurTime()*130%60 ) );
- surface.SetDrawColor( 0, 255, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 125, (CurTime()+20)*140%60 ) );
- surface.SetDrawColor( 0, 255, 50, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 110, -(CurTime()+20)*150%60 ) );
- surface.SetDrawColor( 0, 150, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 90, (CurTime()+20)*166%60 ) );
- surface.SetDrawColor( 0, 0, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 70, -(CurTime()+20)*176%60 ) );
- surface.SetDrawColor( 150, 150, 250, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 50, -(CurTime()+20)*200%60 ) );
- surface.SetDrawColor( 150, 150, 250, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 50, (CurTime()+20)*220%60 ) );
- surface.SetDrawColor( 255, 255, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 25, (CurTime()+20)*220%60 ) );
- surface.SetDrawColor( 255, 255, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 25, -(CurTime()+20)*250%60 ) );
- surface.SetDrawColor( 255, 255, 255, 255 );
- surface.DrawPoly( generate_hexagon( x, y, 25, (CurTime()+20)*260%60 ) );
- end
- hook.Add( "HUDPaint", "Triangles", TRIANGLES ); -- Not really triangles
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement