make favicon version of logo
This commit is contained in:
parent
71528010d9
commit
9545ceb4f4
48
resources/transbeam-common.asy
Normal file
48
resources/transbeam-common.asy
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
struct transbeamPrefs {
|
||||||
|
real triangleRadius;
|
||||||
|
real borderInset;
|
||||||
|
real circleRadius;
|
||||||
|
real bigBeamRadius;
|
||||||
|
real smallBeamRadius;
|
||||||
|
real beamCount;
|
||||||
|
real beamAngle;
|
||||||
|
real starterBeamAngle;
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawTransbeam(transbeamPrefs prefs) {
|
||||||
|
unravel prefs;
|
||||||
|
|
||||||
|
pen transBlue = rgb("55cdfc");
|
||||||
|
pen transPink = rgb("f7a8b8");
|
||||||
|
|
||||||
|
pen bigBeamColor = transPink;
|
||||||
|
pen smallBeamColor = transBlue;
|
||||||
|
|
||||||
|
path borderTriangle = dir(90)--dir(210)--dir(330)--cycle;
|
||||||
|
path outerBorder = scale(triangleRadius)*borderTriangle;
|
||||||
|
fill(outerBorder, white);
|
||||||
|
|
||||||
|
path beam(real angle, real innerRadius, real outerRadius) {
|
||||||
|
return arc((0,0), outerRadius, angle/2, -angle/2)--arc((0,0), innerRadius, -angle/2, angle/2)--cycle;
|
||||||
|
}
|
||||||
|
|
||||||
|
path bigBeam = beam(beamAngle, circleRadius, bigBeamRadius);
|
||||||
|
path smallBeam = beam(beamAngle, circleRadius, smallBeamRadius);
|
||||||
|
|
||||||
|
for (int i = 0; i < beamCount; ++i) {
|
||||||
|
if (i > 0) {
|
||||||
|
fill(rotate(360*i/beamCount)*bigBeam, bigBeamColor);
|
||||||
|
}
|
||||||
|
fill(rotate(360*(i+0.5)/beamCount)*smallBeam, smallBeamColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
pair starterBeamTrianglePoint(real angle) {
|
||||||
|
pair circlePoint = circleRadius*dir(angle);
|
||||||
|
return intersectionpoint(circlePoint--(circlePoint+(triangleRadius,0)), outerBorder);
|
||||||
|
}
|
||||||
|
|
||||||
|
fill(starterBeamTrianglePoint(-starterBeamAngle/2)--arc((0,0), circleRadius, -starterBeamAngle/2, starterBeamAngle/2)--starterBeamTrianglePoint(starterBeamAngle/2)--cycle, bigBeamColor);
|
||||||
|
|
||||||
|
draw(outerBorder, transPink+(2*borderInset));
|
||||||
|
draw(scale(triangleRadius-borderInset)*borderTriangle, transBlue+borderInset);
|
||||||
|
}
|
13
resources/transbeam-favicon.asy
Normal file
13
resources/transbeam-favicon.asy
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
import "transbeam-common.asy" as transbeam;
|
||||||
|
|
||||||
|
transbeamPrefs prefs;
|
||||||
|
prefs.triangleRadius = 100;
|
||||||
|
prefs.borderInset = 14;
|
||||||
|
prefs.circleRadius = 12;
|
||||||
|
prefs.bigBeamRadius = 36;
|
||||||
|
prefs.smallBeamRadius = 36;
|
||||||
|
prefs.beamCount = 3;
|
||||||
|
prefs.beamAngle = 40;
|
||||||
|
prefs.starterBeamAngle = 80;
|
||||||
|
|
||||||
|
drawTransbeam(prefs);
|
|
@ -1,43 +1,13 @@
|
||||||
real triangleRadius = 100;
|
import "transbeam-common.asy" as transbeam;
|
||||||
real borderInset = 6;
|
|
||||||
|
|
||||||
real circleRadius = 12;
|
transbeamPrefs prefs;
|
||||||
real bigBeamRadius = 36;
|
prefs.triangleRadius = 100;
|
||||||
real smallBeamRadius = 25;
|
prefs.borderInset = 6;
|
||||||
real beamCount = 12;
|
prefs.circleRadius = 12;
|
||||||
real beamAngle = 7;
|
prefs.bigBeamRadius = 36;
|
||||||
real starterBeamAngle = 16;
|
prefs.smallBeamRadius = 25;
|
||||||
|
prefs.beamCount = 12;
|
||||||
|
prefs.beamAngle = 7;
|
||||||
|
prefs.starterBeamAngle = 16;
|
||||||
|
|
||||||
pen transBlue = rgb("55cdfc");
|
drawTransbeam(prefs);
|
||||||
pen transPink = rgb("f7a8b8");
|
|
||||||
|
|
||||||
pen bigBeamColor = transPink;
|
|
||||||
pen smallBeamColor = transBlue;
|
|
||||||
|
|
||||||
path borderTriangle = dir(90)--dir(210)--dir(330)--cycle;
|
|
||||||
path outerBorder = scale(triangleRadius)*borderTriangle;
|
|
||||||
fill(outerBorder, white);
|
|
||||||
|
|
||||||
path beam(real angle, real innerRadius, real outerRadius) {
|
|
||||||
return arc((0,0), outerRadius, angle/2, -angle/2)--arc((0,0), innerRadius, -angle/2, angle/2)--cycle;
|
|
||||||
}
|
|
||||||
|
|
||||||
path bigBeam = beam(beamAngle, circleRadius, bigBeamRadius);
|
|
||||||
path smallBeam = beam(beamAngle, circleRadius, smallBeamRadius);
|
|
||||||
|
|
||||||
for (int i = 0; i < beamCount; ++i) {
|
|
||||||
if (i > 0) {
|
|
||||||
fill(rotate(360*i/beamCount)*bigBeam, bigBeamColor);
|
|
||||||
}
|
|
||||||
fill(rotate(360*(i+0.5)/beamCount)*smallBeam, smallBeamColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
pair starterBeamTrianglePoint(real angle) {
|
|
||||||
pair circlePoint = circleRadius*dir(angle);
|
|
||||||
return intersectionpoint(circlePoint--(circlePoint+(triangleRadius,0)), outerBorder);
|
|
||||||
}
|
|
||||||
|
|
||||||
fill(starterBeamTrianglePoint(-starterBeamAngle/2)--arc((0,0), circleRadius, -starterBeamAngle/2, starterBeamAngle/2)--starterBeamTrianglePoint(starterBeamAngle/2)--cycle, bigBeamColor);
|
|
||||||
|
|
||||||
draw(outerBorder, transPink+(2*borderInset));
|
|
||||||
draw(scale(triangleRadius-borderInset)*borderTriangle, transBlue+borderInset);
|
|
||||||
|
|
BIN
static/favicon.ico
Normal file
BIN
static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
Loading…
Reference in a new issue