Skip to content

Instantly share code, notes, and snippets.

using Luxor
function bowler()
move(Point(-5., 135.9))
curve(Point(38.5, 135.9), Point(81.3, 135.7), Point(125., 132.9))
curve(Point(142.5, 132.3), Point(159.2, 130.1), Point(176.7, 129.2))
curve(Point(183.5, 128.5), Point(191.4, 127.7), Point(198.5, 126.2))
curve(Point(201.6, 125.5), Point(203.8, 123.2), Point(206.6, 122.8))
curve(Point(208.6, 120.2), Point(209.5, 118.5), Point(210.2, 116.6))
curve(Point(210.2, 119.7), Point(214.7, 112.6), Point(216.5, 110.7))
@cormullion
cormullion / juliadebug.jl
Last active April 5, 2019 17:01
juliadebug icon
using Luxor, Colors
function scarab(pos, heading;
legposition=1,
colorant=colorant"blue",
scalefactor=0.5)
sethue(colorant)
@layer begin
translate(pos)
scale(scalefactor)
using HTTP, JSON, DataFrames # Julia v1.1
function makedataframe()
return DataFrame(title=String[], url=String[], videoid=String[], favcount=Int64[], dislikecount=Int64[],likecount=Int64[],viewcount=Int64[])
end
function _getpage(apikey, channelurl;
nextpagetoken="")
if nextpagetoken != ""
page1 = HTTP.request("GET", "https://www.googleapis.com/youtube/v3/search?key=$(apikey)&channelId=$(channelurl)&pageToken=$(nextpagetoken)&part=snippet,id&order=date&maxResults=50")
using Luxor, Colors
function flame(pos, col, action=:none)
@layer begin
translate(pos)
col == 1 && (mesh1 = mesh(box(O - (0, 100), 200, 260), [
Colors.RGB(colorant"orange"),
Colors.RGB(colorant"darkorange"),
Colors.RGB(colorant"red"),
Colors.RGB(colorant"firebrick4")]))
@cormullion
cormullion / julialabeltags.jl
Last active April 29, 2019 08:42
label tag
using Luxor
function drawtag(w, h, pos;
ratio = 0.2,
rotation = 0)
@layer begin
translate(pos)
rotate(rotation)
shape = box(O + (w/4, 0), w, h, vertices=true)
# need point middle/left of box
using Luxor, Colors
function phyllotaxis(L, startrad, N)
deviation = 5/8
goldenangle = mod2pi(Base.MathConstants.φ * 2π)
lgrad = 0.45L
lgarea = lgrad^2 * π
meanarea = lgarea/N
minarea = meanarea * (1 - deviation)
maxarea = meanarea * (1 + deviation)
@cormullion
cormullion / JuliaCon2019 Videos.md
Last active July 24, 2019 15:55
JuliaCon 2019 Videos

no longer being updated - go here instead!

title url viewcount
A General-Purpose Toolbox for Efficient Kronecker-Based Learning 🔗 0
A New Breed of Vehicle Simulation 🔗 0
A Probabilistic Programming Language for Switching Kalman Filters 🔗 0
A Showcase for Makie 🔗 0
Analyzing Social Networks with SimpleHypergraphs.jl 🔗 0
Array Data Distribution with ArrayChannels.jl 🔗 0
@cormullion
cormullion / agents.jl
Created October 9, 2019 16:18
agents
using Luxor, DSP
# dimensions drawing
const W = 500
const H = 500
const GRIDSQUARESIZE = 10
function drawcellulargrid(a)
rows, cols = size(a)
@cormullion
cormullion / xmastree.jl
Created December 13, 2019 18:06
xmas tree animation
using Luxor, ColorSchemes
function maketriangulargrid(dw, dh, gw, gh)
grid = Point[]
for x in -dw:gw:dw, y in -dh:gh:dh
push!(grid, Point(x, y))
end
return polytriangulate(grid)
end
@cormullion
cormullion / revise-graphics.jl
Last active February 5, 2020 10:06
revise graphics
using Luxor
"""
makegear(nteeth, s, pos, rot)
nteeth is number of teeth, s is basically radius
pos is center, rot is initial rotation
"""
function makegear(nteeth, s, pos, rot)
@layer begin