Ⅰ 怎樣用C語言畫圓
#include <math.h>
#include <graphics.h> /*預定義庫函數*/
void circlePoint(int x,int y) /*八分法畫圓程序*/
{
circle(320+x*20,240+y*20,3);
circle(320+y*20,240+x*20,3);
circle(320-y*20,240+x*20,3);
circle(320-x*20,240+y*20,3);
circle(320-x*20,240+y*20,3);
circle(320-x*20,240-y*20,3);
circle(320-y*20,240-x*20,3);
circle(320+y*20,240-x*20,3);
circle(320+x*20,240-y*20,3);
}
void MidBresenhamcircle(int r) /* 中點Bresenham演算法畫圓的程序 */
{
int x,y,d;
x=0;y=r;d=1-r; /* 計算初始值 */
while(x<y)
{ circlePoint(x,y); /* 繪制點(x,y)及其在八分圓中的另外7個對稱點 */
if(d<0) d+=2*x+3; /* 根據誤差項d的判斷,決定非最大位移方向上是走還是不走 */
else
{ d+=2*(x-y)+5;
y--;
}
x++;
delay(900000);
} /* while */
}
main()
{
int i,j,r,graphmode,graphdriver;
detectgraph(&graphdriver,&graphmode);
initgraph(&graphdriver,&graphmode," ");
printf("中點Bresenhamcircle演算法畫圓的程序\n"); /*提示信息*/
printf("注意 |r|<=11");
printf("\n輸入半徑值滲改 r:");
scanf("%d"乎喊纖,&r);
printf("按任意鍵顯示圖形...");
getch();
cleardevice();
setbkcolor(BLACK);
for(i=20;i<=620;i+=20) /*使用雙循環畫點函數畫出表格中的縱坐標*/
for(j=20;j<=460;j++)
putpixel(i,j,2);
for(j=20;j<=460;j+=20) &n歡迎光臨學網,收藏本篇文章 [1] [2]
$False$
bsp; /*使用雙循環畫點函數畫出表格中的橫坐標*/
for(i=20;i<=620;i++)
putpixel(i,j,2);
outtextxy(320,245,"0"); /*原點坐標*/
outtextxy(320-5*20,245,"-5");circle(320-5*20,240,2); /*橫坐標值*/
outtextxy(320+5*20,245,"5");circle(320+5*20,240,2);
outtextxy(320-10*20,245,"-10"歲仿);circle(320-10*20,240,2);
outtextxy(320+10*20,245,"10");circle(320+10*20,240,2);
outtextxy(320-15*20,245,"-15");circle(320-15*20,240,2);
outtextxy(320+15*20,245,"15");circle(320+15*20,240,2);
outtextxy(320,240-5*20,"-5");circle(320,240-5*20,2); /*縱坐標值*/
outtextxy(320,240+5*20,"5");circle(320,240+5*20,2);
outtextxy(320,240-10*20,"-10");circle(320,240-10*20,2);
outtextxy(320,240+10*20,"10");circle(320,240+10*20,2);
outtextxy(20,10,"The center of the circle is (0,0) "); /*坐標軸左上角顯示提示信息*/
setcolor(RED); /*標記坐標軸*/
line(20,240,620,240); outtextxy(320+15*20,230,"X");
line(320,20,320,460); outtextxy(330,20,"Y");
setcolor(YELLOW);
MidBresenhamcircle(r);
setcolor(BLUE); /*繪制圓*/
circle(320,240,r*20);
setcolor(2);
getch();
closegraph();
}
Ⅱ 如何在C++6.0上進行圖形編程,畫一個圓
代碼如下
#include<iostream>
#include<windows.h>
#include<conio.h>
usingnamespacestd;
intmain(intargc,char*argv[])
{
chararg[200]={0};
arg[0]='"'州兆毀;
strcpy(arg+1,argv[0]);
intlen=int(strlen(arg));
arg[len]='"';
HWNDhWnd=FindWindow(NULL,arg);//找到程序運行窗口的句柄
HDChDC=GetDC(hWnd);//通過窗口句柄得到該窗口的設備場境句柄
HPENhPen,hOldPen;//畫筆
hPen=CreatePen(PS_SOLID,2,0x00ff00);//生成綠色畫筆
hOldPen=(HPEN)SelectObject(hDC,hPen);//把畫筆引入設備場境
Arc(hDC,100,100,猜猜300,300,350,500,350,500);//畫圓
SelectObject(hDC,hOldPen);
cout<<"畫圓冊備形:"<<endl;getch();
return0;
}
Ⅲ 數控銑削如何畫圓
在程序中輸入:
方法一:
G02
X
Y
Z
R
或
G03
X
Y
Z
R
說明:
(1)G02為順時針畫圓,G03為逆時針螞賣舉
(2)X
Y
Z
後跟終點坐標,R後跟圓的半徑值
方法二:
G02
X
Y
Z
I
J
K
或
G03
X
Y
Z
I
J
K
說明:
(1)G02為順時針畫圓,G03為逆時針
(2)X
Y
Z
後跟終點坐配棗標
(3)I
J
K為圓心相對於起悶碧點的相對坐標,I
J
K分別對應X
Y
Z三個方向
注意:第一種方法不能畫整圓,只能畫圓弧。
此外,以上是基本上所有系統都通用的標准格式,個別系統(如西門子)還有額外的指令,但應用很少。
Ⅳ 載入中程序怎麼編寫畫同心圓
載入中程序編寫畫同心圓。
1、打開在線python編輯唯賀器。這里用Python中的turtle函數畫同心圓。
2、定義畫圓的初始代碼。
3、循環執行畫5個同心圓。turtle.circle是從下方開始畫圓的,畫同心圓,則每一次都鋒咐要銀山純將畫筆移動到下一個圓的底部位置。
4、點擊程序左上角的」運行「,查看畫出的同心圓的效果。
Ⅳ 在java中如何用程序畫一個圓
使用java畫圓要用到繪圖類Graphics,下面是實例代碼和運行效果:
packagecom.dikea.demo01;
importjava.awt.*;
importjavax.swing.*;
//java繪圖原理
publicclassdemo_01extendsJFrame{
MyPanelmp=null;
publicstaticvoidmain(String[]args){
//TODO自動生成的方法存根
demo_01demo01=newdemo_01();
}
publicdemo_01(){
mp=newMyPanel();
this.add(mp);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//定義一個MyPanel面板,用於繪圖區域
classMyPanelextendsJPanel{
//覆蓋JPanel
//Graphics是繪圖的重要類,可以理解成一支畫筆
publicvoidpaint(Graphicsg){
//1.調用父類函數完成初始化任務
//這句話不可以少
super.paint(g);
//先畫出一個圓圈
g.drawOval(100,100,30,30);
}
}
代碼復制進ide編程工具,運行效果如下:
Ⅵ 用VB編程畫圓
添加以個TEXT2,一個按鈕,復制一下代碼即可Private Sub Command2_Click()
Dim i As Integer
'i = Val(Text2.Text)
For i = 1 To Val(Text2.Text)
Form3.Picture1.Circle (120, 260), i * 10, vbRed
Next
'Form3.Picture1.Circle (60, 60), 40, vbRed '畫一個圓心(60,60)半徑40的紅色的圓(默認空心)
'
'
'Form3.Picture1.FillStyle = 0 '設定填充模式為實心
'Form3.Picture1.FillColor = vbBlue '設定填充色藍色
'Form3.Picture1.Circle (190, 60), 40, vbRed '下來畫出來的就是填充了實心藍色的圓了
'
'
'Form3.Picture1.DrawWidth = 3 '設定邊框寬度為3
'Form3.Picture1.Circle (60, 190), 40, vbRed '這次繪制出來的圓邊框粗細為3
'
'Form3.Picture1.DrawStyle = 5 '設定邊框不可見
'Form3.Picture1.FillColor = vbRed '設定填充色紅色
'Form3.Picture1.Circle (190, 190), 40 '這次繪制出來一個無邊框、填充顏色是紅色的圓
Form3.Picture1.Refresh
End Sub
Ⅶ 怎麼用C語言畫一個圓形急~
#include<stdio.h>
#include<math.h>
int main()
{
double y;
int x,m;
for(y=10;y>=-10;y–)
{
m=2.5*sqrt(100-y*y); /*計算行y對應的列坐標m,2.5是屏幕縱橫比調節系數因為屏幕的
行距大於列距族碼,不進行調節顯示出來的將是橢圓*/
for(x=1;x<鋒派30-m;x++) printf(" "); /*圖形左側空白控制*/
printf("*"); /*圓的左側*/
for(;x<30+m;x++) printf(" "); /*圖形的空心銀穗賀部分控制*/
printf("*\n"); /*圓的右側*/
}
return 0;
}
Ⅷ 用VB編程畫圓
效果如圖:
Ⅸ 請教:用符號*畫圓(VC6編程),怎麼編程
說得還不夠詳細?下面是詳細步驟:
1、啟動VC6,選擇「文件-新建」,彈出「新建」對話框(此時處於「工程」選項卡)。
2、在左邊選擇「Win32 Application」(倒數第4項),在右邊輸入工程名,點擊「確定」。然後在彈出的對話框中選擇「空工程」,再點「完成」。
3、選擇「文件-新建」,彈出「新建」對話框(此時處於「文件」選項卡)。
4、在左邊選擇「C++ Source File」(第4項),在右邊輸入文件名,點擊「確定」。
5、把下面的代碼粘貼進去,然後組建、運行。
#include <windows.h>
#include <math.h>
//窗口函數
LRESULT CALLBACK WinMyProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC = BeginPaint(hWnd, &ps);
//畫橫坐標
MoveToEx(hDC, 50, 300, NULL);
LineTo(hDC, 550, 300);
//畫縱坐標
MoveToEx(hDC, 300, 50, NULL);
LineTo(hDC, 300, 550);
//設置繪制背景為透明,防止*號遮擋坐標軸
SetBkMode(hDC, TRANSPARENT);
int x, y, i;
for (i=12; i<=68; i++)
{
x = 100 + i*5;
//畫上面1/4圓
y = -(int)(sqrt(40000-(x-300)*(x-300))) + 300;
TextOut(hDC, x, y, "*", strlen("*"));
//畫下面1/4圓
y = (int)(sqrt(40000-(x-300)*(x-300))) + 300;
TextOut(hDC, x, y, "*", strlen("*"));
}
for (i=12; i<=68; i++)
{
y = 100 + i*5;
//畫左邊1/4圓
x = -(int)(sqrt(40000-(y-300)*(y-300))) + 300;
TextOut(hDC, x, y, "*", strlen("*"));
//畫右邊1/4圓
x = (int)(sqrt(40000-(y-300)*(y-300))) + 300;
TextOut(hDC, x, y, "*", strlen("*"));
}
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0;
}
//主函數
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
//設計並注冊窗口類
WNDCLASS wndcls;
wndcls.cbClsExtra = 0;
wndcls.cbWndExtra = 0;
wndcls.hbrBackground = (HBRUSH)COLOR_WINDOW;
wndcls.hCursor = LoadCursor(NULL, IDC_ARROW);
wndcls.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wndcls.hInstance = hInstance;
wndcls.lpfnWndProc = WinMyProc;
wndcls.lpszClassName = "MyWinClass";
wndcls.lpszMenuName = NULL;
wndcls.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);
//創建窗口
HWND hWnd;
hWnd = CreateWindow("MyWinClass", "在屏幕上畫圓", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 600, 600, NULL, NULL, hInstance, NULL);
//顯示窗口
ShowWindow(hWnd, SW_SHOWNORMAL);
UpdateWindow(hWnd);
//消息循環
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
Ⅹ 在VC++中如何畫出一個圓
VC++畫圓形可以使用API函數:Ellipse(int x1, int y1, int x2, int y2);
其畫圓的原理是矩形的內切圓,四個參數中的前兩個是矩形左上角坐標,後兩個是矩形右下角坐標。VC++畫圖形前得先有一塊畫布DC即設備上下文。下面個例子:
void CrrDlg::PaintCircle() //畫實心圓函數{ CDC *pDC = this->GetDC(); //獲取DC CBrush brush,*oldbrush; //畫刷 //通過定時器中num遞增,實現紅色圓形與綠色圓形交替出現,即閃燈現象 if (num%2){ //num為定時器計數參數,其為偶數時畫紅色圓形 brush.CreateSolidBrush(RGB(255,0,0)); } else{ //num為奇數時,畫綠色圓形櫻掘 brush.CreateSolidBrush(RGB(0,255,0)); } oldbrush=pDC->SelectObject(&brush); pDC->Ellipse(10,10,100,100); pDC->Ellipse(110,10,200,100); pDC->SelectObject(oldbrush); ReleaseDC(pDC);} void CrrDlg::OnTimer(UINT_PTR nIDEvent) //銷頌粗定時器{ num++; PaintCircle(); CDialogEx::OnTimer(nIDEvent);} 畫空心圓環需要使用畫筆CPen,虧鎮畫法一樣。