C怎么画弧线

cosperypf 2010-07-05 05:31:25
如题,求一个算法
最好还能有画不规则四边图形以及在内部填充颜色的方法,不需要代码,只要给出个思路就成
...全文
488 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gz_qmc 2010-07-05
  • 打赏
  • 举报
回复
知道四个点的坐标,画四根线,这也有疑问吗
cosperypf 2010-07-05
  • 打赏
  • 举报
回复
首先谢谢gz_qmc,不过有个问题,那个画四边形的方法是使用线组成的吗?因为我是要做一个手机程序的,我之前有尝试过用线拼块,但是发现执行效率很低
gz_qmc 2010-07-05
  • 打赏
  • 举报
回复
计算的时候要用float保证精度
画的时候要强制成整数因为计算机的屏幕是以象素为单位的
没有小数的说法
gz_qmc 2010-07-05
  • 打赏
  • 举报
回复
第一个问题:
void DrawArc(float X,float Y,float R,float s,float e)
{
//X,Y,R圆心坐标和半径.
//s,e开始角和结束角(弧度),取0~6.28就是圆了
float x,y,th;圆弧上的某点及该点的角度(弧度)
for(th=s;th<e;th+=0.00314)
{
x=X+R*cos(th);
y=Y+R*sin(th);
//这里写上在x,y点画点的代码,注意转换整数
//比如SetPixel(x,y,颜色值);
}
}

问题二:
假设四边的方程为:
y=k1*x+b1;y=k2*x+b2;y=k3*x+b3;y=k4*x+b4;
因为知道四个点的坐标,可以计算出
k1,b1,k2,b2,k3,b2,k4,b4;

在四个点中找到最小的x值xMin,和最大的x值xMax;
在四个点中找到最小的y值yMin,和最大的y值yMax;
int m;
for(m=xMin;m<xMax;x++)
{
//计算和四边焦点的y值
//取<=yMax并且>=yMin的那两个值yy1,yy2;
//用指定的颜色画线.比如
//setcolor(颜色值)
//line(m,yy1,m,yy2);
}
cosperypf 2010-07-05
  • 打赏
  • 举报
回复
3楼的美女你的链接呢
djjlove_2008 2010-07-05
  • 打赏
  • 举报
回复
这个链接一定能满足你的要求。
cheng20100915 2010-07-05
  • 打赏
  • 举报
回复
首先把你要画的不规则四边形分成2或3部分来画
,四边形分3部分后则成了2个直角三角形和一个正规矩形,
至于颜色,直接用你要填充的颜色画线条就可以了
三角形的也用直接画,开始要算好所好线的长短,这与角度有关,用三角函数可以算出来.然后用循环画直线.
其余的都一个道理,
直接的调用画直线函数(颜色自己选).
祝你好运!!
cosperypf 2010-07-05
  • 打赏
  • 举报
回复
求方法~

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧