OpenGL圆形绘制算法

本文介绍如何使用OpenGL通过角度离散化方法来绘制圆形,详细阐述了该算法的原理和步骤。
摘要由CSDN通过智能技术生成
<pre name="code" class="cpp"><span style="font-size:32px;color:#33ccff;"><strong>Bresham法绘制圆形</strong></span>
 

#include<GL/glut.h>
							//Bresham法绘制圆形
void circle(int x,int y,int x0,int y0)
{							//绘制1/8圆和它的7个对称点
	glVertex2f(x0+x,y0+y);
	glVertex2f(x0+y,y0+x);
	glVertex2f(x0+y,y0-x);
	glVertex2f(x0+x,y0-y);
	glVertex2f(x0-x,y0-y);
	glVertex2f(x0-y,y0-x);
	glVertex2f(x0-y,y0+x);
	glVertex2f(x0-x,y0+y);
}
void Breseham(int x0,int y0,double r)
{
	int x=0;
	int y=(int)r;	//第一个点坐标
	int d=int(3-2*r);
	glColor3f(0.0,1.0,0.0);
	glBegin(GL_POINTS);
	while(y>=x)		//绘制的是1/8园,所以终点处x=y;
	{
		circle(x,y,x0,y0);
		if(d<0)
			d+=4*x+6;
		else
		{
			d+=4*(x-y)&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值