CoherentTransformations logo creation
We first generate 3 different circles for the Julia logo
using Colors: JULIA_LOGO_COLORS
using Luxor
red, green, blue, purple = JULIA_LOGO_COLORS
(red = RGB{N0f8}(0.796,0.235,0.2), green = RGB{N0f8}(0.22,0.596,0.149), blue = RGB{N0f8}(0.251,0.388,0.847), purple = RGB{N0f8}(0.584,0.345,0.698))
We create for images 200x200 containing each a disk
circles = map((red, green, purple)) do color
buffer = zeros(ARGB32, 200, 200)
Drawing(buffer)
setcolor(color)
circle(Point(100, 100), 90; action=:fill)
finish()
buffer
end;
nothing #hide
Let's warp each disk with a different warping
warped_circles = (
checker_warp(circles[1]; crop=false),
ridged_warp(circles[2]; crop=false, scaling=2.0),
cylinder_warp(circles[3]; crop=false, scaling=0.05),
);
nothing #hide
We can now assemble all the images together in on polygon.
Drawing(500, 500, "logo.png")
points = ngon(Point(250, 280), 150, 3, pi / 6; vertices=true)
for i in 1:3
placeimage(warped_circles[i], points[i] .- 100)
end
finish()
preview()
Tada!
This page was generated using Literate.jl.