前張り付けたブラシをもうちょっと改変しようとしたけど、
気に入らない。

色々いじったけど、気に入らない。

ちなみに、今はこんなかんじ。
4aaacef7.png


しかも動作が重い気がする。

でも一応張り付けとく。

<ここから>

function param1()
return "interval", 0, 200, 50
end

function param2()
return "density", 0, 1, 1
end

function param3()
return "dot_size", 0, 100, 30
end


local param01 = bs_param1() / 10
local param02 = bs_param2()
local param03 = bs_param3() / 20

function main( x, y, p )

local w = bs_width()
if w == 0 then
w = 0.1
end

local wa = bs_width_max() - bs_width_min()
local wb = w - bs_width_min()
local ww = 1
if wa > 0 then
ww = wb/wa
end
local wr = w / 2

local param1 = param03
local param1b = param1 / 3 * 2

if param02 < 1 then
ww = 1
end

if not firstDraw then
local distance = bs_distance( lastDrawX - x, lastDrawY - y )
if distance < w/5 then
return 0
end
end

local alpha = bs_opaque()*255*ww
local r,g,b = bs_fore()

local i
local wd = param01*w^2/5
for i = 0,wd,1 do

local dx = math.random() * w
local dy = math.random() * w

if dx == 0 then
dx = 0.01
end
if dy == 0 then
dy = 0.01
end
dx = dx - wr
dy = dy - wr

local dr = math.sqrt(dy^2 + dx^2)

if dr > wr then
return 0
end
if dr < wr * -1 then
return 0
end

dx = dx +x
dy = dy +y



local rnd1 = param1-param1b
local rnd2 = math.random()*rnd1
rnd2 = param1b+rnd2
if rnd2 < param1b then
rnd2 = param1b
end
bs_ellipse( dx,dy, rnd2, rnd2, 0, r,g,b, alpha)
end

lastDrawX = x
lastDrawY = y
firstDraw = false

return 1
end

lastDrawX = 0
lastDrawY = 0
firstDraw = true

</ここまで>

ちなみに、まだ途中経過のつもりなので、ちゃんと整理できてないかと。

とくに、ペンの太さによって濃度(?)が違って見えるのが気に入らない。
どうやったら一定にできるかなー(´・ω・`)