[問題] C語言 畫圓
我想利用C語言先設一個陣列 然後畫一個原點為(h,k) 半徑為r的圓
而這圓上面的點為0 其餘為1 .......好像表達的不是很清楚
抱歉! 像這樣
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1
1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
這樣比較清楚 圓周上的點為0 其餘為1
#include <stdio.h>
#define ROW 24
#define COL 32
#include <math.h>
int a[ROW][COL];
void circle(int h,int k,int r){
int x,y;
for(x=h-r;x<=h+r;x++){
y = (float)(sqrt(pow(r,2)-pow(x-h,2)))+k;
a[ROW-1-y][x]=0;
y = -(float)(sqrt(pow(r,2)-pow(x-h,2)))+k;
a[y][x]=0;
}
}
int main(void)
{
int x, y ;
for(y=0;y<ROW;y++)
for(x=0;x<COL;x++)
a[y][x]=1 ;
circle(10,10,8);
for(y=0;y<ROW;y++){
for(x=0;x<COL;x++)
printf("%d ",a[y][x]);
printf(";\n");
}
return 0;
}
可以請各位幫我看看哪邊的值設錯了嗎? 目前跑出來的結果差很多
請各位指教 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.216.246
推
05/06 14:59, , 1F
05/06 14:59, 1F
推
05/06 15:07, , 2F
05/06 15:07, 2F
→
05/06 15:44, , 3F
05/06 15:44, 3F
→
05/06 15:45, , 4F
05/06 15:45, 4F
推
05/06 15:53, , 5F
05/06 15:53, 5F
→
05/06 15:53, , 6F
05/06 15:53, 6F
→
05/06 15:53, , 7F
05/06 15:53, 7F
→
05/06 16:29, , 8F
05/06 16:29, 8F
→
05/06 16:43, , 9F
05/06 16:43, 9F
→
05/06 17:04, , 10F
05/06 17:04, 10F
→
05/06 17:13, , 11F
05/06 17:13, 11F
→
05/06 17:16, , 12F
05/06 17:16, 12F
推
05/06 17:28, , 13F
05/06 17:28, 13F
推
05/06 17:41, , 14F
05/06 17:41, 14F
→
05/06 17:43, , 15F
05/06 17:43, 15F
→
05/06 17:44, , 16F
05/06 17:44, 16F
已將上面錯誤修改好了 再次感謝各位
※ 編輯: tss9036 來自: 59.126.216.246 (05/06 17:52)
→
05/06 17:51, , 17F
05/06 17:51, 17F
→
05/06 17:54, , 18F
05/06 17:54, 18F
推
05/07 04:17, , 19F
05/07 04:17, 19F