Ⅰ 怎样用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,亏镇画法一样。