2017-06-16 6 views
0

// beginShape()とendShape()を調べて使用し、3つの別々のスケッチを描画します。各スケッチには頂点(頂点())が含まれている必要があります。必要なツール:beginShape()、endShape()、vertex()、forループ。forループの頂点を含むようにこのコードを調整するにはどうすればよいですか?

//私たちはモアレパターンを作ることになっています。私は以下のコードで希望の結果を得ましたが、割り当てが要求するように頂点は含まれません。このコードを編集して頂点を含むように編集することはできますが、同じ出力を与えるにはどうすればよいですか?

今、あなたの図形を描画する ellipse()rect()のような機能を使用している
var theta = 0.0; 
var circWidthMultiplier = 17.5; 
var circHeightMultiplier = 12.5; 
var rectWidthMultiplier = 12.5; 
var rectHeightMultiplier =17.5; 
var rotationSpeed = 0.005; 
function setup() { 
    createCanvas(windowWidth,windowHeight); 
    rectMode(CENTER); 
} 

function draw() { 
    background(100); 
    noFill(); 

    push(); 
    beginShape(); 
    translate(width/2, height/2); 
    for(var i =0; i < 50; i+=5){ 
    ellipse(0, 0, 
    i*rectWidthMultiplier, 
    i*rectHeightMultiplier); 
    } 
    endShape(); 
    pop(); 


    push(); 
    beginShape(); 
    translate(width/2, height/2); 
    rotate(theta); 
    for(var i =0; i < 50; i+=5){ 
    ellipse(0, 0, 
    i*circWidthMultiplier, 
    i*circHeightMultiplier); 
    } 
    endShape(); 

    pop(); 
    beginShape(); 
    translate(width/2, height/2); 
    for(var i =0; i < 50; i+=2){ 
    rect(0, 0, 
    i*circWidthMultiplier, 
    i*circHeightMultiplier); 
    } 
    endShape(); 
    pop(); 
    theta += rotationSpeed; 
} 

答えて

0

beginShape()vertex()endShape()を使用して図形を描画することができます。

rect()機能を置き換えることから始めます。あなたはすでに矩形の位置とサイズを知っています。だから、それをかなり簡単に置き換えて、vertex()関数を4回呼び出す必要があります。

サークルはやや厄介ですが、まだ実行可能です。円の周りの頂点を把握するには、基本三角法を使用する必要があります。 Googleはあなたの友人です。

しかし正直なところ、これは少し意味がないようです。 Processingが既にあなたのために描いている図形を描画するのに、vertex()を使用するのはなぜでしょうか?インストラクターに確認して、課題を正しく理解しているかどうかを確認することをおすすめします。

関連する問題