{"data":{"site":{"siteMetadata":{"title":"bauhausify","siteUrl":"https://www.bauhausify.com","subtitle":"美大出身のWEBエンジニアリング奮闘記","descriptionMyself":"\n多摩美術大学<br>プロダクトデザイン専攻卒業 -> <br>GUIデザイン会社勤務 -><br>\n現在フロントエンジニア<br>\n<br>\nMy site -><br>\n<a href=\"http://www.mwrote.com\">www.mwrote.com</a>\n"}},"markdownRemark":{"id":"aa5f4477-fc03-52d8-a793-d1abdb3a7ecd","html":"<p>以前<a href=\"https://tidalcycles.org/index.php/Welcome\" target=\"_blank\" rel=\"noopener noreferrer\">TidalCycles</a>というコーディングによる作曲ツールで簡単なBGMを作りました。<br>\nそのときに、ジャケットもコーディングでつけれないかなと思って、<br>\n試しに、<a href=\"http://www.jacopocolo.com/p5sketchplugin/\" target=\"_blank\" rel=\"noopener noreferrer\">P5.sketchplugin</a>というプラグインを使って絵をかいたら、<br>\nとても簡単にコードで絵を書けたので、今回はそのプラグインを紹介したいと思います。</p>\n<p>そのジャケットはこちらです。</p>\n<p><iframe width=\"100%\" height=\"400\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay; encrypted-media\" src=\"https://w.soundcloud.com/player/?visual=true&url=https%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F354652142&show_artwork=true\"></iframe></p>\n<h2 id=\"p5sketchpluginの特徴\"><a href=\"#p5sketchplugin%E3%81%AE%E7%89%B9%E5%BE%B4\" aria-label=\"p5sketchpluginの特徴 permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a><a href=\"http://www.jacopocolo.com/p5sketchplugin/\" target=\"_blank\" rel=\"noopener noreferrer\">P5.sketchplugin</a>の特徴</h2>\n<h3 id=\"大量の類似パターンの繰り返しに強い\"><a href=\"#%E5%A4%A7%E9%87%8F%E3%81%AE%E9%A1%9E%E4%BC%BC%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AE%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E3%81%AB%E5%BC%B7%E3%81%84\" aria-label=\"大量の類似パターンの繰り返しに強い permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>大量の類似パターンの繰り返しに強い</h3>\n<p>手作業だと時間がかかるような、幾何学形態の繰り返しなどに強いです。</p>\n<h3 id=\"後の加工がしやすい\"><a href=\"#%E5%BE%8C%E3%81%AE%E5%8A%A0%E5%B7%A5%E3%81%8C%E3%81%97%E3%82%84%E3%81%99%E3%81%84\" aria-label=\"後の加工がしやすい permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>後の加工がしやすい</h3>\n<p>作った絵に対して、</p>\n<ul>\n<li>ちょっとロゴをのせたい</li>\n<li>部分的に手直ししたい</li>\n</ul>\n<p>など、あとから加工する場合に最適です。</p>\n<h2 id=\"インストール\"><a href=\"#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\" aria-label=\"インストール permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>インストール</h2>\n<ol>\n<li>まず<a href=\"https://www.sketch.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Sketch</a>がインストールされていることを確認してください。 有償ですが無料使用できます。バージョンアップしないなら1万円前後で買い切りです。</li>\n<li><a href=\"https://github.com/jacopocolo/p5-sketchplugin/releases\" target=\"_blank\" rel=\"noopener noreferrer\">Githubのリリースノート</a>から最新の<code class=\"language-text\">p5.*.*.*.sketchplugin.zip</code>をダウンロードしましょう。</li>\n<li>zipファイルを解答して、<code class=\"language-text\">p5.sketchplugin</code>というファイルをダブルクリックして実行しましょう。もしSketchを起動していたら再起動してください。</li>\n<li>メニュー > Plugins > p5 という項目があればインストール完了です。</li>\n</ol>\n<h2 id=\"コードを実行する\"><a href=\"#%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B\" aria-label=\"コードを実行する permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>コードを実行する</h2>\n<ol>\n<li>sketchを起動し、空の新規ファイルを作成してください。</li>\n<li>メニュー > Plugins > p5 > Edit and run を実行しましょう。</li>\n<li>表示されたウィンドウに以下のコードを貼り付け、左上のPlayを押してみてください。コードが実行されSketch上で描画されます。</li>\n</ol>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token comment\">//Simple palette of pretty colors</span>\n<span class=\"token keyword\">var</span> palette <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"#2C3E50\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"#FC4349\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"#D7DADB\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"#6DBCDB\"</span><span class=\"token punctuation\">,</span><span class=\"token string\">\"#FFFFFF\"</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">var</span> num <span class=\"token operator\">=</span> <span class=\"token number\">8</span>\n<span class=\"token keyword\">function</span> <span class=\"token function\">setup</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token function\">createCanvas</span><span class=\"token punctuation\">(</span><span class=\"token number\">1400</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1400</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">function</span> <span class=\"token function\">draw</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">noStroke</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">var</span> size <span class=\"token operator\">=</span> width<span class=\"token operator\">/</span>num<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">for</span><span class=\"token punctuation\">(</span>y<span class=\"token operator\">=</span><span class=\"token number\">0</span><span class=\"token punctuation\">;</span>y<span class=\"token operator\">&lt;</span>height<span class=\"token punctuation\">;</span>y<span class=\"token operator\">=</span>y<span class=\"token operator\">+</span>size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n\n    <span class=\"token keyword\">for</span><span class=\"token punctuation\">(</span>x<span class=\"token operator\">=</span><span class=\"token number\">0</span><span class=\"token punctuation\">;</span>x<span class=\"token operator\">&lt;</span>width<span class=\"token punctuation\">;</span>x<span class=\"token operator\">=</span>x<span class=\"token operator\">+</span>size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n\n      <span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>palette<span class=\"token punctuation\">[</span><span class=\"token function\">floor</span><span class=\"token punctuation\">(</span><span class=\"token function\">random</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token function\">rect</span><span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span>y<span class=\"token punctuation\">,</span>size<span class=\"token punctuation\">,</span>size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token function\">random</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token operator\">></span><span class=\"token number\">0.7</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n        <span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>palette<span class=\"token punctuation\">[</span><span class=\"token function\">floor</span><span class=\"token punctuation\">(</span><span class=\"token function\">random</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token function\">push</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token function\">translate</span><span class=\"token punctuation\">(</span><span class=\"token operator\">+</span>size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token operator\">+</span>size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n        <span class=\"token keyword\">var</span> temp <span class=\"token operator\">=</span> <span class=\"token function\">random</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>temp <span class=\"token operator\">&lt;</span> <span class=\"token number\">0.3</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">ellipse</span><span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">,</span>y<span class=\"token punctuation\">,</span>size<span class=\"token punctuation\">,</span>size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>temp <span class=\"token operator\">>=</span> <span class=\"token number\">0.3</span> <span class=\"token operator\">&amp;&amp;</span> temp <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0.6</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">triangle</span><span class=\"token punctuation\">(</span>x <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x<span class=\"token punctuation\">,</span> y <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span><span class=\"token punctuation\">(</span>temp <span class=\"token operator\">></span> <span class=\"token number\">0.6</span> <span class=\"token operator\">&amp;&amp;</span> temp <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0.7</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">triangle</span><span class=\"token punctuation\">(</span>x <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">triangle</span><span class=\"token punctuation\">(</span>x <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> y <span class=\"token operator\">-</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span> x<span class=\"token punctuation\">,</span> y <span class=\"token operator\">+</span> size<span class=\"token operator\">/</span><span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n\n        <span class=\"token function\">pop</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"サポートされているメソッド\"><a href=\"#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89\" aria-label=\"サポートされているメソッド permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>サポートされているメソッド</h2>\n<p>ソースを見ると以下の箇所のmethodがサポートされているようです。</p>\n<ul>\n<li><a href=\"https://github.com/jacopocolo/p5-sketchplugin/blob/master/p5.sketchplugin/Contents/Sketch/p5.js\" target=\"_blank\" rel=\"noopener noreferrer\">メイン関数</a> ... 代表的な関数のみ移植されていますね</li>\n<li><a href=\"https://github.com/jacopocolo/p5-sketchplugin/blob/master/p5.sketchplugin/Contents/Sketch/2d_primitives.js\" target=\"_blank\" rel=\"noopener noreferrer\">図形描画</a> ... サポートしている2Dプリミティブの関数です</li>\n<li><a href=\"https://github.com/jacopocolo/p5-sketchplugin/blob/master/p5.sketchplugin/Contents/Sketch/notsupported.js\" target=\"_blank\" rel=\"noopener noreferrer\">未サポート</a> ... サポートしていない関数が列挙されています</li>\n</ul>\n<h2 id=\"どこでコードを書くか\"><a href=\"#%E3%81%A9%E3%81%93%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%8B\" aria-label=\"どこでコードを書くか permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>どこでコードを書くか</h2>\n<h3 id=\"sketchのプラグイン上でコードを書く\"><a href=\"#sketch%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E4%B8%8A%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F\" aria-label=\"sketchのプラグイン上でコードを書く permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a>Sketchのプラグイン上でコードを書く</h3>\n<p>簡単に実行できますし、最終的には必ずここで実行して試します。<br>\nただし、Sketchファイル自体に保存できないので、<br>\nSketchファイルとは別に<code class=\"language-text\">p5Sketch.js</code>などように、<br>\nJavaScriptファイルとしてSketchファイルと同じ場所に保存することをおすすめします。</p>\n<h3 id=\"p5jsオンラインエディタ上で書く\"><a href=\"#p5js%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E4%B8%8A%E3%81%A7%E6%9B%B8%E3%81%8F\" aria-label=\"p5jsオンラインエディタ上で書く permalink\" class=\"gatsby-remark-autolink-headers-icon\"><svg width=\"22px\" height=\"7px\" viewBox=\"0 0 22 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"icon-link\" fill=\"#23282D\">\n            <path d=\"M14,1 C13.4477153,1 13,1.31979661 13,1.71428571 L13,5.28571429 C13,5.68020339 13.4477153,6 14,6 L20,6 C20.5522847,6 21,5.68020339 21,5.28571429 L21,1.71428571 C21,1.31979661 20.5522847,1 20,1 L14,1 Z M14,0 L20,0 C21.1045695,0 22,0.696445945 22,1.55555556 L22,5.44444444 C22,6.30355406 21.1045695,7 20,7 L14,7 C12.8954305,7 12,6.30355406 12,5.44444444 L12,1.55555556 C12,0.696445945 12.8954305,0 14,0 Z M12,2 L12,5 L13,5 L13,2 L12,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <path d=\"M2,1 C1.44771525,1 1,1.31979661 1,1.71428571 L1,5.28571429 C1,5.68020339 1.44771525,6 2,6 L8,6 C8.55228475,6 9,5.68020339 9,5.28571429 L9,1.71428571 C9,1.31979661 8.55228475,1 8,1 L2,1 Z M2,0 L8,0 C9.1045695,0 10,0.696445945 10,1.55555556 L10,5.44444444 C10,6.30355406 9.1045695,7 8,7 L2,7 C0.8954305,7 0,6.30355406 0,5.44444444 L0,1.55555556 C0,0.696445945 0.8954305,0 2,0 Z M9,2 L9,5 L10,5 L10,2 L9,2 Z\" id=\"Combined-Shape\" fill-rule=\"nonzero\"></path>\n            <rect id=\"Rectangle-2\" x=\"6\" y=\"3\" width=\"10\" height=\"1\"></rect>\n        </g>\n    </g>\n</svg></a><a href=\"https://editor.p5js.org/\" target=\"_blank\" rel=\"noopener noreferrer\">p5jsオンラインエディタ</a>上で書く</h3>\n<p><a href=\"https://editor.p5js.org/\" target=\"_blank\" rel=\"noopener noreferrer\">p5jsオンラインエディタ</a>はブラウザ上で実行できる公式のオンラインエディタです。<br>\nファイルをダウンロードできますし、<br>\nアカウントを作ればオンラインで保存することもできます。<br>\nはSketchのプラグイン上で動くか確認しながら書いていきましょう。</p>","fields":{"slug":"/2019-09-02_p5jsのコードをsketchファイル上で実行する方法/"},"tableOfContents":"<ul>\n<li>\n<p><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#p5sketchplugin%E3%81%AE%E7%89%B9%E5%BE%B4\">P5.sketchpluginの特徴</a></p>\n<ul>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E5%A4%A7%E9%87%8F%E3%81%AE%E9%A1%9E%E4%BC%BC%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AE%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E3%81%AB%E5%BC%B7%E3%81%84\">大量の類似パターンの繰り返しに強い</a></li>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E5%BE%8C%E3%81%AE%E5%8A%A0%E5%B7%A5%E3%81%8C%E3%81%97%E3%82%84%E3%81%99%E3%81%84\">後の加工がしやすい</a></li>\n</ul>\n</li>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\">インストール</a></li>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B\">コードを実行する</a></li>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89\">サポートされているメソッド</a></li>\n<li>\n<p><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#%E3%81%A9%E3%81%93%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%8B\">どこでコードを書くか</a></p>\n<ul>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#sketch%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E4%B8%8A%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F\">Sketchのプラグイン上でコードを書く</a></li>\n<li><a href=\"/2019-09-02_p5js%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92sketch%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/#p5js%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E4%B8%8A%E3%81%A7%E6%9B%B8%E3%81%8F\">p5jsオンラインエディタ上で書く</a></li>\n</ul>\n</li>\n</ul>","frontmatter":{"date":"2019.09.02","title":"p5jsのコードをsketchファイル上で実行する方法","cover":"","category":"Coding","excerpt":"Sketchで幾何学的なパターンを描くのに最適な、Processing(p5js)のコードをSketch上で実行できるPluginを紹介します。"}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"aa5f4477-fc03-52d8-a793-d1abdb3a7ecd","next":{"path":"/2019-08-30_BEMSMACCSを受け継いだ書きやすいCSS記法RSCSS/","title":"BEM, SMACCSを受け継いだ書きやすいCSS記法RSCSS","category":"Coding"},"prev":{"path":"/2019-09-05_JSでアニメーションできるフォントleonsans/","title":"JSでアニメーションできるフォントleonsans","category":"Coding"},"relatedPosts":[{"id":"b24fa0f2-8884-5053-9f12-a2dbc1ab9fc6","fields":{"slug":"/2019-09-17_p5-jsをreactのコンポーネントとして実行する方法/"},"frontmatter":{"title":"p5.jsをReactのコンポーネントとして実行する方法","date":"2019-09-17T07:53:50.970Z","excerpt":"p5.jsを直接ページ内に読み込ませるのではなく、Reactなどのコンポーネントの中で実行する方法をコードベースでご紹介します。","templateKey":"post","category":"Coding","propertags":["p5js","react"],"commontags":["component","javascript"]}},{"id":"2e52640f-36d6-5268-99ea-9d58492ffec5","fields":{"slug":"/2019-09-14_p5-jsを本番サイトで使う方法/"},"frontmatter":{"title":"p5.jsを本番サイトで使う方法","date":"2019-09-14T00:00:00.000Z","excerpt":"p5.jsをいざプロダクションビルド(本番サイト向け)で使う場合、一体どのような方法で使うのが最適でしょうか。p5.jsの特徴を踏まえ、代表的な使い方をご紹介します。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}},{"id":"d5a69a1d-62b7-5a8b-8f18-975dfee3ae96","fields":{"slug":"/2019-09-11_p5-jsスケッチトレーニング-円弧の線を円周上に沿って動かす/"},"frontmatter":{"title":"p5.jsスケッチトレーニング -円弧の線を円周上に沿って動かす-","date":"2019-09-11T00:00:00.000Z","excerpt":"p5.jsのarcと簡単なEasing式を使い、円弧の線を動かします。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}},{"id":"1eb35481-156d-520b-ab66-a911316fe17b","fields":{"slug":"/2019-07-03_Webで簡単にコードで絵を描くp5-js/"},"frontmatter":{"title":"Webで簡単にコードで絵を描くp5.js","date":"2019-07-03T14:15:51.667Z","excerpt":"描画ライブラリp5.jsとCodepenを使い、ブラウザ上で簡単にスケッチを描く方法を紹介します。","templateKey":"post","category":"Coding","propertags":["p5js"],"commontags":["generative","javascript"]}}]}}