-
大小: 59KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-17
- 语言: 其他
- 标签: Cohen-Suther 直线裁剪
资源简介
直线裁剪的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个文件信息
- 上一篇:布袋除尘器设计软件
- 下一篇:可靠性工程中网络最小路集不交化程序
评论
共有 条评论