前提・実現したいこと
p5.jsで、同心正方形を二つ重ねて描きたいと考えています。
発生している問題
現在以下のように描画されています。
傾けた正方形を正しく描くことができませんでした。
どのようにしたらよろしいでしょうか。
該当のソースコード
function setup() { createCanvas(windowWidth, windowHeight); frameRate(60); } function draw() { background(255); shikaku(createVector(width/2 , height/2 ), 40, 300, 300, color(190, 80, 80)); } //関数shikakuを定義。 //引数(中心位置,四角形の数,幅,高さ,カラー) function shikaku(rectLocation, numRects, width, height, rectColor) { stroke(rectColor); noFill(); for(let i = 0; i < numRects; i++){ rectMode(CENTER); let currentWidth = map(i, 0, numRects-1, 10, width); let currentHeight = map(i, 0, numRects-1, 10, height); //通常の同心正方形 rect(rectLocation.x, rectLocation.y, currentWidth, currentHeight); //傾けた同心正方形 push(); rotate(PI / 6); translate(width/2, height/2); //背景の中心で座標を回転 rect(rectLocation.x, rectLocation.y, currentWidth, currentHeight); pop(); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/16 14:45
2021/12/16 20:46
2021/12/16 22:59