易語(yǔ)言畫(huà)板畫(huà)圖形并移動(dòng) 用易語(yǔ)言編程序,使鼠按指定圓心和半徑模擬畫(huà)圓軌跡?
用易語(yǔ)言編程序,使鼠按指定圓心和半徑模擬畫(huà)圓軌跡?給個(gè)主意,代碼不會(huì)說(shuō)(因?yàn)槲液芫脹](méi)做過(guò)相關(guān)的)通用畫(huà)板顏色選擇器畫(huà)板可以畫(huà)圖形。您也可以自己捕捉鼠標(biāo)軌跡,希望對(duì)您有所幫助以空心圓為例。/*判斷是否在
用易語(yǔ)言編程序,使鼠按指定圓心和半徑模擬畫(huà)圓軌跡?
給個(gè)主意,代碼不會(huì)說(shuō)(因?yàn)槲液芫脹](méi)做過(guò)相關(guān)的)通用畫(huà)板顏色選擇器畫(huà)板可以畫(huà)圖形。
您也可以自己捕捉鼠標(biāo)軌跡,希望對(duì)您有所幫助
以空心圓為例。
/*判斷是否在圓上*/
int isatcircle(int x,int y,int r)
{
/*將(x,y)轉(zhuǎn)換為等效圓心(r,r)的坐標(biāo)*/
int RX=x-r
int ry=y-r
double D=sqrt(RX*RX ry*ry)-r/*計(jì)算到圓心的距離*/
if(Fabs(D)< 0.5)/*判斷到圓心的距離是否為R(允許誤差為0.5)*/
return 1
else
return 0
return(int)D
}
void printcirle(int R)
{
int x,y
for(y=0,y<2*(R 1)y)
{
for(x=0,x<2*(R 1)x)
{
if(isatcircle(x,y,R))/*如果點(diǎn)為在圓上,打印“*”,否則,打印“*/
printf(“*”)/*由于字符高度比較寬,請(qǐng)?zhí)砑右粋€(gè)空格來(lái)調(diào)整外觀*/
else
printf(“”)
}
]printf(“””)
}
]}
]int main()最終結(jié)果如下。