Skip to content

Instantly share code, notes, and snippets.

@shspage
shspage / voronoi-example.jsx
Last active October 18, 2016 09:30
Adobe Illustrator script that draws voronoi diagrams - example (commented in Japanese)
//@include "~/ailib/rhill-voronoi-core.js"
// Adobe Illustrator script
// 選択した各オブジェクトの中心の座標を元にボロノイ図を描画します。
// 描画範囲は選択オブジェクト中で面積が最大のものを使用します。
// (このため、外枠となるオブジェクトも選択範囲に含めてください。
// 外枠はボロノイ計算の対象外です。)
// 描画した線はグループ化されています。
// 塗りのある面を描画しない場合は、スクリプト冒頭の
// DRAW_POLYGONS を false にしてください。
@shspage
shspage / delaunay-example.jsx
Last active June 2, 2016 20:49
Adobe Illustrator script that draws Delaunay diagrams - example (commented in Japanese)
//@include "~/ailib/delaunay.js"
// Adobe Illustrator script
// 選択範囲中のパスの中心の座標を元にドロネー図を描画します。
// 線は描かず、三角形の面のみを作成します。
// 描画した面はグループ化され、選択範囲中の最背面のオブジェクトの
// 背面に置かれます。
// 選択範囲中に複数のパスから成るグループがあった場合、それぞれの
// パスの中心座標を使用します。
// (元にしたパスはあとで削除しやすいようグループ化しているケース
@shspage
shspage / find visual center.jsx
Last active May 18, 2016 13:50 — forked from moluapple/find visual center.jsx
[Illustrator] 寻找不规则形状中心点(find visual center of an irregularly shaped polygon with Illustrator)
(function() {
var doc = app.activeDocument,
lays = doc.layers,
WORK_LAY = lays.add(),
NUM_LAY = lays.add(),
i = lays.length - 1,
lay;
// main working loop
for (; i > 1; i--) {
@shspage
shspage / colorize_diagonal.jsx
Last active July 29, 2016 00:50
colorizing script for Illustrator (Commented in Japanese)
#target "illustrator"
// 選択パスのうち最前面のもののfillColor(CMYKグラデーション)をソースとして、
// その他の選択パスのfillColorを、選択パス(最前面を除く)を囲む
// 矩形範囲の対角線(左上→右下)を基準にした位置にあたるソース上の色の云々
// TODO: midPoint, opacity を考慮する
(function(){
function main(){
// selectionは全てpathItemとする
@shspage
shspage / colorize_angle.jsx
Created June 5, 2016 06:51
colorizing script for Illustrator (Commented in Japanese)
#target "illustrator"
// 選択パスのうち最前面のもののfillColor(CMYKグラデーション)をソースとして、
// その他の選択パスのfillColorに対して、そのパスの中心と選択パス(最前面を除く)
// を囲む矩形範囲の中心とを結ぶ線の角度にあたるソース上の色を割り当てる
// TODO: midPoint, opacity を考慮する
(function(){
function main(){
// selectionは全てpathItemとする
@shspage
shspage / place_along_circle.jsx
Created June 5, 2016 08:28
Illustrator script (Commented in Japanese)
// 円周に等間隔配置.jsx
// 円に沿って、何かをだいたい決まった間隔で配置します。
// 沿わせる円と、配置したい何かを選んで実行。
// ※ 配置は 90度の位置(円の上端)から始まります。
function main(){
var sel = app.activeDocument.selection;
if(sel.length < 2) return;
@shspage
shspage / delaunay-for-illustrator.jsx
Last active May 10, 2021 15:25
Delaunay triangulation for Illustrator (Commented in Japanese)
#target "illustrator"
// 選択オブジェクトの各中心点を母点として
// ドロネー分割した三角形を描画します。
// 以下のページを参考にさせて頂きました。
// http://tercel-sakuragaoka.blogspot.jp/2011/06/processingdelaunay.html
// ここから delaunay 関連
// ------------------------------------------------
// adobe illustrator javascript: test max length of pathPoints
try{
var p1 = activeDocument.activeLayer.pathItems.add();
for(var i = 0; i < 32000; i++){
p1.pathPoints.add();
}
alert("ok(p1):" + p1.pathPoints.length);
var p2 = activeDocument.activeLayer.pathItems.add();
for(var i = 0; i < 32001; i++){
@shspage
shspage / editor-handler.coffee
Last active February 6, 2017 15:07
atomのSublime-Style-Column-Selectionを力技っぽく全角対応にしてみた。 もう少し工夫が要りそう
# atomのSublime-Style-Column-Selection(*)を力技っぽく全角対応にしてみた。
# もう少し工夫が要りそう
# coffeescript自信ない
# * v.1.7.2 @bigfive https://github.com/bigfive/atom-sublime-select
# (displayBufferのエラー対策に@Greenekさんのpull request #127を適用)
# TODO:
# 桁数の取得部分はscreenPositionForPixelPosition/PixelPositionForScreenPositionを使って書き直す
{Point} = require 'atom'
@shspage
shspage / 端点を一致させる.jsx
Created February 16, 2017 15:43
flapClose.jsx日本語コメント+エラーメッセージ版
#target "illustrator"
// 端点を一致させる
// 選択されているオープンパスについて、
// 選択アンカーから始点・終点までの部分を
// 始点・終点が一致するように回転させます。
// 回転させる部分の形状は変わりません。
// このため、回転させても端点を一致させることが
// できない場合は、その旨のメッセージを表示します。