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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法弄清楚在數(shù)組中使用循環(huán)

無(wú)法弄清楚在數(shù)組中使用循環(huán)

慕森卡 2024-01-25 10:47:56
在我的作業(yè)中,有一個(gè)術(shù)語(yǔ),在兩個(gè)節(jié)點(diǎn)之間,先前單擊的節(jié)點(diǎn)應(yīng)保留在屏幕上,并且應(yīng)該有線條將每個(gè)節(jié)點(diǎn)與下一個(gè)節(jié)點(diǎn)連接起來(lái)(最后一個(gè)節(jié)點(diǎn)連接到第一個(gè)節(jié)點(diǎn))。除了這些線(當(dāng)然還有網(wǎng)格線)之外不應(yīng)該有其他線。我嘗試通過(guò)在數(shù)組內(nèi)使用循環(huán)來(lái)做到這一點(diǎn)。但這不是我正在尋找的答案......int [] a;int [] b;ArrayList<Point> points = new ArrayList<Point>();class Point {    int x, y, r;    Point(int x, int y, int r) {        this.x = x;        this.y = y;        this.r = r;    }    void Draw() {        circle(this.x, this.y, this.r*2);    }}int n_part=10;void setup(){    size(600,360);    a = new int [100];    b = new int [100];}void draw () {    background (255);    int gridW = width/n_part;    int gridH = height/n_part;    stroke(210);    noFill();    for (int row = 0; row < n_part; row++){         int gridY = 0 + row*gridH;        for (int col = 0; col < n_part; col++) {            int gridX = 0+ col* gridW;            rect (gridX, gridY, gridW, gridH);           }    }    stroke(0, 0, 0);    fill(0);    for (int i = 0; i < points.size(); ++ i) {        Point p = points.get(i);        p.Draw();    }}void mousePressed() {    int gridW = width/n_part;    int gridH = height/n_part;    int x = round(mouseX / (float)gridW) * gridW;    int y = round(mouseY / (float)gridH) * gridH;    points.add(new Point(x, y, 5));    {    for (int j=0; j < a.length; j++)         a [j] = (mouseX / (int)gridW) * gridW;    for (int k=0; k < b.length; k++)         b [k] = height;    }}void mouseReleased(){    for (int k=0; k < a.length; k++)         line (0, 0, a [k], b [k]);}
查看完整描述

1 回答

?
狐的傳說(shuō)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

您所要做的就是在連續(xù)點(diǎn)之間畫(huà)線。


點(diǎn)的下一個(gè)索引i是i+1。%對(duì)于最后一個(gè)點(diǎn),它是 0。這可以通過(guò)模 ( ) 運(yùn)算符 (h )來(lái)實(shí)現(xiàn)(i+1) % points.size()。


獲取循環(huán)中的 2 個(gè)連續(xù)點(diǎn)并在它們之間畫(huà)一條線:


for (int i = 0; i < points.size(); ++ i) {

? ? Point p1 = points.get(i);

? ? Point p2 = points.get((i+1) % points.size());

? ? line(p1.x, p1.y, p2.x, p2.y);? ?

}

參見(jiàn)示例:

void draw () {


? ? background (255);


? ? int gridW = width/n_part;

? ? int gridH = height/n_part;


? ? strokeWeight(1);

? ? stroke(210);

? ? noFill();

? ? for (int row = 0; row < n_part; row++){?

? ? ? ? int gridY = 0 + row*gridH;

? ? ? ? for (int col = 0; col < n_part; col++) {

? ? ? ? ? ? int gridX = 0+ col* gridW;

? ? ? ? ? ? rect (gridX, gridY, gridW, gridH);? ?

? ? ? ? }

? ? }


? ? stroke(0, 0, 0);

? ? fill(0);

? ? for (int i = 0; i < points.size(); ++ i) {

? ? ? ? Point p = points.get(i);

? ? ? ? p.Draw();

? ? }


? ? strokeWeight(3);

? ? stroke(255, 0, 0);

? ? for (int i = 0; i < points.size(); ++ i) {

? ? ? ? Point p1 = points.get(i);

? ? ? ? Point p2 = points.get((i+1) % points.size());

? ? ? ? line(p1.x, p1.y, p2.x, p2.y);? ?

? ? }

}


查看完整回答
反對(duì) 回復(fù) 2024-01-25
  • 1 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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