| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1378 人关注过本帖
标题:谁有多边形裁剪或线段裁剪源码?
只看楼主 加入收藏
帅哥一条虫
Rank: 1
等 级:新手上路
威 望:1
帖 子:65
专家分:0
注 册:2006-10-15
收藏
 问题点数:0 回复次数:4 
谁有多边形裁剪或线段裁剪源码?
小弟现在正在学-计算机图形学-
老师叫我们做几个题目,但是裁剪我不会做
哪个好心人有源码的帮帮
搜索更多相关主题的帖子: 线段 多边形 源码 计算机图形学 裁剪 
2006-10-28 23:27
帅哥一条虫
Rank: 1
等 级:新手上路
威 望:1
帖 子:65
专家分:0
注 册:2006-10-15
收藏
得分:0 

再顶

2006-10-29 16:27
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不知道你要什么

可惜不是你,陪我到最后
2006-10-29 17:34
帅哥一条虫
Rank: 1
等 级:新手上路
威 望:1
帖 子:65
专家分:0
注 册:2006-10-15
收藏
得分:0 

线段裁剪算法描述:


#define LEFT 1
#define RIGHT 2
#define BOTTOM 4
#define TOP 8
int encode(int x,int y,int xmin,int xmax,int ymin,int ymax)
{ int c=0;
if(x<xmin) c |= LEFT;
if(x>xmax) c |= RIGHT;
if(y<ymin) c |= BOTTOM;
if(y>ymax) c |= TOP;
retrun c;
void CS_LineClip(int x1,int y1,int x2,int y2,int xmin,int xmax,int ymin ,int ymax)
{ int code1,code2,code;
code1=encode(x1,y1);
code2=encode(x2,y2);
}
while(code1!=0 ||code2!=0)
{ if(code1&code2 !=0) return;
code = code1;
if(code1==0) code = code2;
if(LEFT&code !=0)
{ x=xmin;
y=y1+(y2-y1)*(xmin-x1)/(x2-x1);
}
else if(RIGHT&code !=0)
{ x=xmax;
y=y1+(y2-y1)*(xmax-x1)/(x2-x1);
}
else if(BOTTOM&code !=0)
{ y=ymin;
x=x1+(x2-x1)*(ymin-y1)/(y2-y1);
}
else if(TOP & code !=0)
{ y=ymax;
x=x1+(x2-x1)*(ymax-y1)/(y2-y1);
}
if(code ==code1)
{ x1=x; y1=y; code1 =encode(x,y);}
else
{ x2=x; y2=y; code2 =encode(x,y);}
} //end of while
displayline(x1,y1,x2,y2);
}//end of CS_LineClip



(希望大虾们帮忙加做做,再过两天就要交了。急啊!)


2006-10-29 22:27
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你帖错地方了,这里是JAVA版,你应该帖到C区去

可惜不是你,陪我到最后
2006-10-30 09:40
快速回复:谁有多边形裁剪或线段裁剪源码?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015088 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved