またちょっと変えました+間隔をpxで計算するものと点の大きさで判定するものの二つを作ってみました。

296f5d71.png

変更点はいくつかありますが、根本的なことはこれとほとんど変わらないので上の見本は前回のをもう一度貼っただけです。
ですが、パラメータは一つ増えているので、見本通りではないのであしからず。

変更点とかは↓

間隔はpxで判定。


間隔を点の最大値で判定。

パラメータやその他解説。
前回と変わっているところは強調してあります。

[r_]とついているものは、ランダム関連です。
[p_]とついているものは、筆圧関連です。

dot_max/px

点の大きさの最大値。
単位はpx。

interval

点の間隔。


pxで変化する方は単位は0.1pxです。
「なんで0.1px?普通に1pxでいいんだけど…」という場合は、68行目あたり?の

local int = bs_param2() * 0.1 * 2 + dmax

[* 0.1]を消してください。

点の大きさで変化する方も0.1が掛けてあります。
ようするに一桁目はほぼ無視して二桁目以上の数の点を隙間にします。
例:20→点二個分の隙間が出来る。

ちなみに、0.1掛けたのは基本的に、操作性を良くしようとしただけです。
あと1px以下とか設定できるようにという目的もありますが、それほど意味がないような気がします。
amount

散布される量。
…名称をどうすればいいのかわからなかったので、適当に調べてこの名前にしましたが、英語の意味合いとかで間違ってたらすみません…。
ご指摘いただければ直します。

r_dot_min
点をランダムさせる場合の最小値。
筆圧で点の大きさを変化させている場合は、その筆圧の時の大きさに対してランダム。
詳しくはp_dot_minの項目にて。
r_density
点のランダムの最小値。
最大値の方を変えたい時は、普通にペンの設定の不透明度を変えてください。
p_amount

筆圧によって、散布量を変化させるかどうか。
正直、ペンの最小値を大きくした時(ブラシの線の筆圧を適用しない等)くらいしか変化がよくわかりません。

p_dot_min

筆圧を適応させた時の点の最小値。
[dot_max/px]に対する%。
[r-dot_min]を100以下にした場合、[p_dot_min]を適応した点に対してランダム。

例:[dot_max/px]で10px(値は100?)にする→[p_dot_min]を10%にする。
   ↓
  [r_dot_min]が100なら筆圧によって1px~10pxの間で変化。
  [r_dot_min]が20なら、筆圧が最低の時、0.2px~1pxの間でランダム。筆圧が最大の時、2px~10pxの間でランダム。
  (0.2pxとかになると実質描画されない気もするけど)

…ということになっているはずです。…自分がミスっていなければ。

p_density

筆圧によって不透明度を変化させるかどうか。

color

色の設定。
0→色のランダムなし
1~99→色のランダムあり(混色)
100→色のランダムあり(前景色と背景色の2値)

grand
散布させる範囲の精度。
この数値を上げると広い範囲に打ち出されますが、
このパラメータでは打ち出そうとする点の総量自体は変化しないので、
密度は低くなります(100以上とかにしないとそれほど差はありませんが)

初期値の40は前回まで使っていたのと同じ。
1とかにすると、ラインみたいになりますが、点を打ち出そうとしている量自体は変化させていないので、処理が無駄に多くなります。
(小さい範囲に点を全部打ち出そうとしている感じです。でも重ならないブラシということもあるので、一つの点しか打ち出されない)
もしラインっぽくさせたいなら、ブラシのサイズ自体を小さくすることを推奨。

点の最大値や間隔が大きい場合は、間隔をそのままでは反映しないようになってます。

一応、[dot_max/px][interval]はそれぞれ大きな数字を設定できるようになっていますが、実際にそこまでやると動作が遅いどろこか、応答しなくなる恐れがあるので、
(実際には処理に時間が掛っているだけなので、何もせずに待っていれば大丈夫かもしれません。…時間はものすごい掛りますが)、
点と間隔(×2)の合計が100px以上になると強制的に合計が100pxになるようになっています。

処理の速度の問題なので、PCのスペックによって違うかと思うので、
それじゃあ多すぎるor小さすぎる、という場合は最初の

MAX=100

の100を好きな数字にしてください。

…正直こうしようかどうしようか(最初に作るかどうか)前回迷ってやめたけど、結局やってみた。


余談?↓
「MAXにいれる数字は何で間隔と点の合計?前と同じで間隔だけのがわかりやすくね?」

間隔だけだと、たとえば[点の最大値1pxで間隔50px]と[点の最大値100pxで間隔50px]のどちらも描画されますが、実際に計算されている量は全く違います。
結論から言うと「一辺が(両方の間隔合計+点の大きさ)の四角」分のピクセルを一つずつ判定しているので、
今回の[MAX=100]だと、実質100*100=10000px分を一つず判定しています。…自分がミスっていなければ。

けれど前回までの方法だと1pxの場合「(50+50+1)の二乗=10201」、100pxの場合「(50+50+100)の二乗=40000」と判定する量が全く違います。
この誤差を減らすために、今回の計算式になりました。

余談?2↓
「なんで新しいパラメータの名前は[grand]?」→…いや、なんか散布させる関数がbs_grand()だったから…。
英語はさっぱりわからないので、ぶっちゃけ意味はわかってません。
それとも英語というよりプログラミング的な何かなんだろうか…。