資源簡介
opengl VC++實現(xiàn)Sierpinski分形圖像

代碼片段和文件信息
//?SierpinskiView.cpp?:?implementation?of?the?CSierpinskiView?class
//
#include?“stdafx.h“
#include?“Sierpinski.h“
#include?“SierpinskiDoc.h“
#include?“SierpinskiView.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CSierpinskiView
IMPLEMENT_DYNCREATE(CSierpinskiView?CView)
BEGIN_MESSAGE_MAP(CSierpinskiView?CView)
//{{AFX_MSG_MAP(CSierpinskiView)
//?NOTE?-?the?ClassWizard?will?add?and?remove?mapping?macros?here.
//????DO?NOT?EDIT?what?you?see?in?these?blocks?of?generated?code!
//}}AFX_MSG_MAP
//?Standard?printing?commands
ON_COMMAND(ID_FILE_PRINT?CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT?CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW?CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CSierpinskiView?construction/destruction
CSierpinskiView::CSierpinskiView()
{
//?TODO:?add?construction?code?here
}
CSierpinskiView::~CSierpinskiView()
{
}
BOOL?CSierpinskiView::PreCreateWindow(CREATESTRUCT&?cs)
{
//?TODO:?Modify?the?Window?class?or?styles?here?by?modifying
//??the?CREATESTRUCT?cs
return?CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
//?CSierpinskiView?drawing
void?CSierpinskiView::OnDraw(CDC*?pDC)
{
CSierpinskiDoc*?pDoc?=?GetDocument();
ASSERT_VALID(pDoc);
//?TODO:?add?draw?code?for?native?data?here
?int?vertices[3][2]=?{{00}{250500}{50000}};
int?p[2]={175150};
int?jk;
pDC->MoveTo(vertices[0][0]vertices[0][1]);
pDC->LineTo(vertices[1][0]vertices[1][1]);
pDC->LineTo(vertices[2][0]vertices[2][1]);
pDC->LineTo(vertices[0][0]vertices[0][1]);
// int?rand();
for(k=0;k<50000;k++)
{
pDC->SetPixel(p[0]p[1]RGB(25500));
j=rand()%3;
p[0]=(p[0]+vertices[j][0])/2;
p[1]=(p[1]+vertices[j][1])/2;
}
}
/////////////////////////////////////////////////////////////////////////////
//?CSierpinskiView?printing
BOOL?CSierpinskiView::OnPreparePrinting(CPrintInfo*?pInfo)
{
//?default?preparation
return?DoPreparePrinting(pInfo);
}
void?CSierpinskiView::OnBeginPrinting(CDC*?/*pDC*/?CPrintInfo*?/*pInfo*/)
{
//?TODO:?add?extra?initialization?before?printing
}
void?CSierpinskiView::OnEndPrinting(CDC*?/*pDC*/?CPrintInfo*?/*pInfo*/)
{
//?TODO:?add?cleanup?after?printing
}
/////////////////////////////////////////////////////////////////////////////
//?CSierpinskiView?diagnostics
#ifdef?_DEBUG
void?CSierpinskiView::AssertValid()?const
{
CView::AssertValid();
}
void?CSierpinskiView::Dump(CDumpContext&?dc)?const
{
CView::Dump(dc);
}
CSierpinskiDoc*?CSierpinskiView::GetDocument()?//?non-debug?version?is?inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSierpinskiDoc)));
return?(CSierpinskiDo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3155??2010-03-15?03:59??SierpinskiView.cpp
-----------?---------??----------?-----??----
?????????????????3155????????????????????1
評論
共有 條評論