/* TODO: A program that show the illusory contour
* does.
*/
import acm.program.*;
import acm.graphics.*;
import java.awt.*;
public class IllusoryContours extends GraphicsProgram {
/* The default width and height of the window. These constants will tell Java to
* create a window whose size is *approximately* given by these dimensions. You should
* not directly use these constants in your program; instead, use getWidth() and
* getHeight(), which return the *exact* width and height of the window.
*/
public static final int APPLICATION_WIDTH = 300;
public static final int APPLICATION_HEIGHT = 300;
public static final int CIRCLE_DIAMETER = 100;
public static double x1=0,y1=0,x2=0,y2=0,x3=0,y3=0,x4=0,y4=0;
public void run() {
getCenter();
showCircle();
showRect();
}
/*
* 得到四個(gè)圓心
* x代表圓的外切長(zhǎng)方形的左上角的x坐標(biāo),而非圓心的x坐標(biāo)
* y代表的遠(yuǎn)的外切長(zhǎng)方形的左上角的y坐標(biāo),而非圓心的y坐標(biāo)
*/
private void getCenter() {
x1 = getWidth() - CIRCLE_DIAMETER;
y1 = getHeight() - CIRCLE_DIAMETER;
x2 = 0;
y2 = 0;
x3 = getWidth() - CIRCLE_DIAMETER;
y3 = 0;
x4 = 0;
y4 = getHeight() - CIRCLE_DIAMETER;
}
private void showCircle(){
GOval circle1 = new GOval(x1,y1,CIRCLE_DIAMETER,CIRCLE_DIAMETER);
GOval circle2 = new GOval(x2,y2,CIRCLE_DIAMETER,CIRCLE_DIAMETER);
GOval circle3 = new GOval(x3,y3,CIRCLE_DIAMETER,CIRCLE_DIAMETER);
GOval circle4 = new GOval(x4,y4,CIRCLE_DIAMETER,CIRCLE_DIAMETER);
circle1.setFilled(true);
circle1.setFillColor(Color.black);
add(circle1);
circle2.setFilled(true);
circle2.setFillColor(Color.black);
add(circle2);
circle3.setFilled(true);
circle3.setFillColor(Color.black);
add(circle3);
circle4.setFilled(true);
circle4.setFillColor(Color.black);
add(circle4);
}
private void showRect() {
double x5 = CIRCLE_DIAMETER/2;
double y5 = CIRCLE_DIAMETER/2;
double rectWidth = getWidth() - CIRCLE_DIAMETER;
double rectHeight = getHeight() - CIRCLE_DIAMETER;
GRect rect = new GRect(x5,y5,rectWidth,rectHeight);
rect.setFilled(true);
rect.setFillColor(Color.white);
rect.setColor(Color.white);
add(rect);
}
}
CS106A assignment2 --problem2 IllusoryContours
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- | 前面命令輸出結(jié)果作為后面命令的輸入內(nèi)容 || 前面命令執(zhí)行失敗的時(shí)候才執(zhí)行后面的命令 & 前面命令執(zhí)行后接著執(zhí)...
- 初中最后一年,成績(jī)下滑得厲害,中考失利,家里拿了擴(kuò)招費(fèi),勉強(qiáng)進(jìn)了一所普通高中。我本就容易自我否定,這自然是沉...
- 【意義新展示】有意粉反應(yīng)想要一條霸氣的本命年圍巾,”意義定制“當(dāng)然會(huì)滿足所有家人的心愿啦本命年本該就”霸氣“,但是...