資源簡介
直線裁剪的Cohen-Sutherland 算法( 編碼裁剪法 )

代碼片段和文件信息
//?Bezier.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“DrawPix.h“
#include?“Bezier.h“
#include?“vector“
using?namespace?std;
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?Bezier?dialog
Bezier::Bezier(CWnd*?pParent?/*=NULL*/)
:?CDialog(Bezier::IDD?pParent)
{
//{{AFX_DATA_INIT(Bezier)
m_X?=?0;
m_Y?=?0;
m_Xfanwei?=?_T(““);
m_Yfanwei?=?_T(““);
//}}AFX_DATA_INIT
}
void?Bezier::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Bezier)
DDX_Text(pDX?IDC_controlX?m_X);
DDX_Text(pDX?IDC_controlY?m_Y);
DDX_Text(pDX?IDC_XX?m_Xfanwei);
DDX_Text(pDX?IDC_YY?m_Yfanwei);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Bezier?CDialog)
//{{AFX_MSG_MAP(Bezier)
// ON_BN_CLICKED(IDC_store?Onstore)
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_RBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?Bezier?message?handlers
void?Bezier::Onstore()?
{
//?TODO:?Add?your?control?notification?handler?code?here
int?xxyy;
UpdateData(TRUE);
xx=m_X;
yy=m_Y;
Xnum.push_back(xx);
Ynum.push_back(yy);
}
void?Bezier::cross(int?a?int?b)
{
pDC->MoveTo(a-3b);
pDC->LineTo(a+3b);
pDC->MoveTo(ab-3);
pDC->LineTo(ab+3);
}
BOOL?Bezier::OnInitDialog()?
{
CDialog::OnInitDialog();
//?TODO:?Add?extra?initialization?here
pWnd?=?GetDlgItem(IDC_DRAWRC);
pDC?=?pWnd->GetDC();
CRect?rc;
pWnd->GetClientRect(rc);
int?ab;
xfanwei=a=rc.Width();
yfanwei=b=rc.Height();
CString?asbs;
as.Format(“%d“a);
bs.Format(“%d“b);
m_Xfanwei=“X范圍是0-“+as+“?“;
m_Yfanwei=“Y范圍是0-“+as+“?“;
UpdateData(FALSE);
GetDlgItem(IDC_DRAWRC)->GetWindowRect(&rect);
ScreenToClient(&rect);?
return?TRUE;??//?return?TRUE?unless?you?set?the?focus?to?a?control
??????????????//?EXCEPTION:?OCX?Property?Pages?should?return?FALSE
}
void?Bezier::decas(float?t)
{
int?ri;
float?t1;
t1=1.0-t;
CString?ss1;
s.Format(“t=%ft1=%f“tt1);
vector??tX;
vector??tY;
for(i=0;i<=Xnum.size();i++)
{
tX.push_back((float)Xnum[i]);
tY.push_back((float)Ynum[i]);
}
for(r=1;r for(i=0;i {
tX[i]=t1*tX[i]+t*tX[i+1];
tY[i]=t1*tY[i]+t*tY[i+1];
}
pX.push_back((int)tX[0]);
pY.push_back((int)tY[0]);
return;
}
void?Bezier::onmousemove(UINT?nFlags?CPoint?point)?
{
//?TODO:?Add?your?message?handler?code?here?and/or?call?default
point1.x=point.x;
point1.y=point.y;
m_X=point1.x-rect.left;
m_Y=point1.y-rect.top;
if(m_X<0)?m_X=0;
if(m_Y<0)?m_Y=0;
if(m_X>xfanwei)?m_X=xfanwei;
if(m_Y>yfanwei)?m_Y=yfanwei;
UpdateData(FALSE);
CDialog::onmousemove(nFlags?point);
}
void?Bezier::OnLButtonDown(UINT?nFlags?CPoi
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1423??2009-11-18?13:45??直線裁剪\LINEBRES.h
?????文件???????3603??2009-11-16?21:12??直線裁剪\LINECLIP.cpp
?????文件???????3462??2009-11-18?13:50??直線裁剪\LINEBRES.cpp
?????文件???????1532??2009-11-16?19:42??直線裁剪\LINECLIP.h
?????文件???????4163??2009-11-18?13:58??直線裁剪\DrawPix.clw
?????文件???????4335??2009-09-22?10:00??直線裁剪\ReadMe.txt
?????文件???????1367??2009-09-22?10:00??直線裁剪\DrawPix.h
?????文件???????4227??2009-09-22?10:00??直線裁剪\DrawPix.cpp
?????文件???????1054??2009-09-22?10:00??直線裁剪\StdAfx.h
?????文件????????209??2009-09-22?10:00??直線裁剪\StdAfx.cpp
?????文件???????1871??2009-09-24?10:54??直線裁剪\DrawPixView.h
?????文件???????1486??2009-09-22?10:00??直線裁剪\DrawPixDoc.h
?????文件???????1762??2009-09-22?10:00??直線裁剪\DrawPixDoc.cpp
?????文件????????522??2009-09-22?10:00??直線裁剪\DrawPix.dsw
?????文件?????132096??2009-11-18?13:58??直線裁剪\DrawPix.ncb
?????文件???????1440??2009-11-18?13:58??直線裁剪\DrawPix.plg
?????文件???????1175??2009-09-23?17:16??直線裁剪\LINE.h
?????文件???????2848??2009-11-17?12:21??直線裁剪\DrawPixView.cpp
?????文件???????1720??2009-11-17?13:04??直線裁剪\Bezier.h
?????文件???????3959??2009-11-17?13:46??直線裁剪\Bezier.cpp
?????文件???????2114??2009-11-18?12:45??直線裁剪\LINE.cpp
?????文件???????2342??2009-11-18?13:33??直線裁剪\Resource.h
?????文件????????399??2009-09-22?10:00??直線裁剪\res\DrawPix.rc2
?????文件???????1078??2009-09-22?10:00??直線裁剪\res\DrawPixDoc.ico
?????文件???????1078??2009-09-22?10:00??直線裁剪\res\DrawPix.ico
?????文件???????1078??2009-09-22?10:00??直線裁剪\res\Toolbar.bmp
?????文件???????1475??2009-11-18?13:57??直線裁剪\MainFrm.h
?????文件??????47592??2009-11-18?13:57??直線裁剪\DrawPix.aps
?????文件??????13571??2009-11-18?13:57??直線裁剪\DrawPix.rc
?????文件???????2628??2009-11-18?13:58??直線裁剪\MainFrm.cpp
............此處省略7個文件信息
- 上一篇:布袋除塵器設計軟件
- 下一篇:可靠性工程中網絡最小路集不交化程序
評論
共有 條評論