はんざき技研

プログラミングや3DCGの記録

分割における基本形状

四角形を分割したいとき、分割の方法もいくつかある。 分割に方法によって印象も変わってくるので基本的な分割の状態を理解しておきたい。今回は垂線と平行線のみで行う。 分割が直角に限る場合、四分割まではなんらかの形で線が横断することになる。 二分割…

【p5.js問題集】楕円上に配置する【10問目】

画像のように楕円上に円を配置してください。

【p5.js問題集】線形補完【9問目】

任意の二点を作成し、その距離間に連続して図形を描画してください。 画像においては0と9が任意の点として作成されています。

【p5.js問題集】螺旋図形【8問目】

画像のような螺旋を描画してください。

【p5.js問題集】カラーパレット【7問目】

画像のように指定された色の内からランダムに取得して、図形を配置してください。 色や図形の形、数は問いません。

【p5.js問題集】線形グラデーション【6問目】

次のような線形グラデーションを描いてください。 色や変化の間隔などは問いません。

【p5.js問題集】星形を描く2【5問目】

次のような星形の図形を描いてください。 大きさ、角の数、色などは自由。

【p5.js問題集】星形を描く【4問目】

次のような星形を描いてください。 大きさや色は自由とします。

【p5.js問題集】正多角形を描く【3問目】

次のような正多角形を描いてください。 角の数や色、向きなどは自由とする。

【p5.js問題集】正三角形を描く【2問目】

次のような正三角形を作ってください。 向きや色は自由とします。 ↓解答例

【p5.js問題】解像度からキャンバスサイズを作成する【1問目】

現在の画面解像度(windowWidth,widndowHeight)のうち、小さい方に合わせてキャンバスを正方形に作成してください。 ↓解答例を見る

円を作る高度なやり方

円を描画するときに基本的なコマンドとしてcircle()がある。 しかしあくまで描画を目的としているコマンドなので応用が利きづらい側面がある。 例えば角の数を定めたカクカクの円を描きたいとか、描画ではなく位置の取得が目的な場合には使えない。 そこで三…

カラーパレットを作る方法

配列を使うことによって事前に用意した色の中から選択することができる。 //配列に色を格納 const colorPallet = ['#38b48b','#9d5b8b','#ffea00']; function setup(){ createCanvas(400,400); background(240); //色を取得 let colorPick = Math.round(rand…

p5.jsでアニメーションをしたいときにfor文を使わない方法

p5.jsでアニメーションを描画したい場合、for文を使うのは都合が悪いときがある。 for(let i = 0 ; i <= 10 ; i++){ } draw関数はwhile文と同じなのでwhile文をfor文に変換することを考えて次のように考えればいい。 let i = 0; function draw(){ i++; if(i …

Three.jsの入門でいきなり躓いたので原因を記しておく

日本語でthree.jsの入門と検索すると上位に出てくる記事の通りに進めると、言語仕様の変更に引っかかった。 具体的にはローダーを使用したときに上手くいかなかった。 1.jsコードは分割しない 一つ目はjsファイルを分割して読み込む形式にするとインポートが…

p5.jsの勉強になるサイト

日本語サイト リファレンスの日本語翻訳 P5.js 日本語リファレンス - Qiita 関数別の説明が細かく載っていてとてもありがたいです。アーティストのレオナさんのサイト だらっと学習帳 日々のコーディングからtipsを載せてくださっています。Katsumi Shibata…

プログラミングは基本文だけではどうにもならない

プログラミングをはじめて二か月ほどで感じたこと。 どうにもならないという表現は不適切かもしれないが、入門向けのコンテンツによく挙げられるいくつかの文を覚えた段階ではハイハイをはじめた程度だと思った。 不器用な二足歩行なら基本文を駆使してもで…

p5.jsで花を描く

画像のような単純な花模様を描く。 花びら部分の曲線はbeginShapeのcurveVertexが使いやすい。 クラスの勉強を兼ねて放り込んでみる。 let theta=0; let split; let num=[3,5,8,13,21]; let hana1; function setup() { createCanvas(400, 400); background(2…

p5.jsで正三角形を描く方法二つ

考え方自体はどの言語でも使えるものなのでp5.jsと題しているのはあまり意味ないです。 正三角形を描画するときには ・1辺を基準にする場合 ・中心点を基準にする場合 の二つがあります。 三角関数を理解しているのは前提としてそれぞれの考え方を書いておき…

ジェネレーティブアートで利益を得る方法

自分がp5.jsを通してジェネレーティブアートをはじめたきっかけの一つにはすぐに利益を得られる環境を見つけたからだ。 あまりこういう話は好まない人もいるだろうけど、別の誰かにとっては価値のある情報かもしれないので書いておこうと思う。 ユニークなプ…

p5.jsをはじめて二か月経った感想

これまでのプログラミング経験 経験によっても感想が変わってくると思うので、まず自分のプログラミング経験をなぞってみようと思う。 高校の授業でC#を扱っていた。 ワードプレスでCSSを一週間くらいいじった。 Pythonを勉強しようとして環境構築まではした…

beginShapeの図形を複製するときは関数にまとめるのが良い

p5.jsの便利な図形描画の方法にbeginShapeがある。 多角形や計算では算出できない複雑な図形を書く時には覚えておきたい関数だ。 ただvertexで各点を指定する必要があるのでコードが長くなりやすい。複製をするならなおのことだ。 beginShape(); vertex(10,2…

p5.jsで模様の行列を描く

上のような模様の複製パターンの基本的なコードの書き方を考える function setup() { createCanvas(400, 400); background(220); noStroke(); noLoop(); } function draw() { let posx=0,posy=0; const dia=100; const num=5; //Y列用のループ for(let i=0;i