包裹?例子;
進口?Java . awt . font;
//導入?stdlib。StdDraw
公共?班級?TestDraw?{
/**
?*?按照比例增加,每增加壹個log10,就增加指定的add。
?*?@param?d
?*?@param?英國壓力單位
?*?@param?增加
?*?@返回
?*/
公共?靜電?雙倍?比例(雙倍?d,雙?瓦爾,雙份?添加){
if(d & lt;10){
回歸?瓦爾。;
}
雙倍?臨時工?=?math . log 10(d);
瓦爾。=?add * temp+val;
回歸?val
}
/**
?*?輸出坐標軸
?*?@param?maxX
?*?@param?馬克西
?*/
公共?靜電?作廢?printXY(double?maxX,雙份?maxY){
雙倍?x0=?maxX/2;?//X軸中心
麥克斯。=?maxY * 0.9?//Y軸顯示比例為110%。
雙倍?短信?=?0.004?*?maxY?//文本描述Y軸位置?偏移千分之四
短信?=?短信?*?math . log 10(maxY);?//按比例正確
雙倍?tesxtX?=?0.004?*?maxX//文本描述X軸位置偏移千分之四。
tesxtX?=?tesxtX?*?math . log 10(maxX);
雙倍?tesxtXs?=(maxX * 0.001);;//增長率
tesxtXs?=?tesxtXs?*?math . log 10(maxX);
雙倍?lineLenX?=?0.0025?*?麥克斯。;//X軸分割線的長度
lineLenX?=?lineLenX?*?math . log 10(maxY);
雙倍?萊恩尼?=?0.0025?*?maxX?;//Y軸分割線長度
萊恩尼?=?萊恩尼?*?math . log 10(maxX);
ToolDraw.setXscale(0,maxX);
ToolDraw.setYscale(0,maxY);
ToolDraw.setPenColor(ToolDraw。黑色);
tool draw . setpenradius(0.0025);
//輸出x軸
ToolDraw.line(0,0,?maxX,?-0);
//輸出y軸
ToolDraw.line(x0,0,?x0,?maxY);
//輸出分割的線段
ToolDraw.setPenColor(ToolDraw。紅色);
tool draw . setpenradius(0.0025);
ToolDraw.setFont(新?字體(" SansSerif ",字體。平平淡淡?12));
ToolDraw.textLeft(x0,-特西?""+0)?;?//來源描述
//打印X軸分割線
for(int?I = 1;我& ltx0;i++){
ToolDraw.line((i+x0),?0,?(i+x0),?lineLenX);
ToolDraw.line(x0-i,?0,?x0-i,?lineLenX);
ToolDraw.textLeft((i+x0),?-特西?" "+(i))?;
ToolDraw.textLeft(x0-i,?-特西?" "+(-i))?;
}
//打印Y軸分割線
for(int?I = 1;我& ltmaxY/0.9;i++){
ToolDraw.line(x0,我*0.9,?x0+lineLenY,?I * 0.9);?
ToolDraw.textLeft(x0-scale(i,tesxtX,tesxtXs),?我*0.9,?" "+I);
}
ToolDraw.setPenColor(ToolDraw。紅色);
tool draw . setpenradius(0.005);
ToolDraw.point(x0,0);?//?輸出原點
}
/**
?*?@param?壹個參數名
?*/
公共?靜電?作廢?main(String[]?args)?{
//?托多?自動生成?方法?煙蒂
ToolDraw.setCanvasSize(2048,2048);?//設置畫布大小(以像素為單位)
printXY(100,100);//輸出坐標軸
雙倍?x1?=100/2;
雙倍?x2?=?100/2?;
雙倍?y1?=?0?;
雙倍?y2?=?0;
for(int?I = 1;我*我& lt100;I++){//輸出點
ToolDraw.setPenColor(ToolDraw。紅色);//將畫筆顏色設置為紅色。
tool draw . setpenradius(0.005);?//設置畫筆大小
ToolDraw.line(x1,y1,?(i+100/2),?(i*i)*0.9?);//輸出線
ToolDraw.line(x2,y2,?100/2-i,?(i*i)*0.9?);
x1?= I+100/2;
x2?=?100/2-i?;
y1?=?(i*i)*0.9?;
y2?=?(I * I)* 0.9;
ToolDraw.setPenColor(ToolDraw。藍色);
tool draw . setpenradius(0.01);?
//更改點的顏色和大小,並進行標記。
ToolDraw.point(x1,y 1);
ToolDraw.point(x2,y2);
}
}
}