第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

旋轉(zhuǎn)變換在處理循環(huán)時不起作用

旋轉(zhuǎn)變換在處理循環(huán)時不起作用

繁星coding 2023-03-31 16:32:04
這是我編寫的代碼,我打算n從一個點開始畫線。各自相隔一個角度2*PI / n。int n;void setup(){  size(displayWidth, displayHeight);  n = 7;}void draw(){    background(0);    push();    translate(displayWidth/2, displayHeight/2);    strokeWeight(4);    for (int i=0; i < n; i++){      stroke(random(255), random(255), random(255));      //println(i);      //println("theta is", i*(2*PI/n));      //println("theta in deg is", i*(2*PI/n)*180/PI);      rotate(i*(2*PI/n));      line(0, 0, 400, 0);    }    //noLoop();    pop();}void keyPressed(){  if (key == '='){    n++;  } else if (key == '-'){    n--;    if (n <= 0) n = 1;  } }由于某種原因這是錯誤的,因為它不適用于n=3,5,6,7,9,10...它僅在 n 為1,2,4,8,16,32...2 的倍數(shù)時有效。我一定做錯了什么。任何幫助表示贊賞。而如果我做正常的三角函數(shù),它就可以工作。即通過替換      rotate(i*(2*PI/n));      line(0, 0, 400, 0);經(jīng)過      line(0, 0, 400 * cos(i*(2*PI/n)), 400 * sin(i*(2*PI/n)));使用-, =鍵改變峰值計數(shù)。
查看完整描述

2 回答

?
慕哥9229398

TA貢獻(xiàn)1877條經(jīng)驗 獲得超6個贊

您的問題是您不會為每個手臂旋轉(zhuǎn)相同的矩陣n。您可以通過簡單地刪除旋轉(zhuǎn)命令中的 來修復(fù)代碼i*。


所以


rotate(i*(2*PI/n));

line(0, 0, 400, 0);

應(yīng)該是


rotate(2*PI/n);

line(0, 0, 400, 0);

如果你想與你一起工作,i*你必須在每次畫線時推入和彈出一個矩陣,而不僅僅是在開始和結(jié)束時draw():


push();

rotate(i*(2*PI/n));

line(0, 0, 400, 0);

pop();


查看完整回答
反對 回復(fù) 2023-03-31
?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊

用 push 和 pop 圍繞你的 for 循環(huán)內(nèi)的旋轉(zhuǎn),這樣你每次迭代都重置旋轉(zhuǎn),我試過了,它在這里工作是結(jié)果代碼


   int n;


void setup(){

  size(displayWidth, displayHeight);

  n = 7;

}

void draw(){

    background(0);

    push();

    translate(displayWidth/2, displayHeight/2);

    strokeWeight(4);


    for (int i=0; i < n; i++){

      stroke(random(255), random(255), random(255));

      //println(i);

      //println("theta is", i*(2*PI/n));

      //println("theta in deg is", i*(2*PI/n)*180/PI);

      push();

      rotate(i*(2.0*PI)/n);

      line(0, 0, 400, 0);

      pop();

    }

    pop();


}


void keyPressed(){

  if (key == '='){

    n++;

  } else if (key == '-'){

    n--;

    if (n <= 0) n = 1;

  } 

}


查看完整回答
反對 回復(fù) 2023-03-31
  • 2 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號