计算机图形学--绘制直线.docVIP

  • 34
  • 0
  • 约1.05千字
  • 约 4页
  • 2017-07-29 发布于浙江
  • 举报
计算机图形学--绘制直线

计 算 机 图 形 学 实 验 报 告 专 业: 信息与计算科学 #Line.h class CLine { public: CLine(); virtual ~CLine(); void MoveTo(double,double); void LineTo(CDC* pDC,double,double,double); public: CPoint m_p1; CPoint m_p2; }; #Line.cpp CLine::CLine() { } CLine::~CLine() { } void CLine::MoveTo(double x,double y) { m_p1=CPoint(x,y); } void CLine::LineTo(CDC* pDC,double x,double y,double k) { m_p2=CPoint(x,y); CPoint p,t; pDC-SetMapMode(MM_LOMETRIC); pDC-SetViewportOrg(200,200); double d; if(k=-1.0k0.0) { if(m_p1.x m_p2.x ) { t=m_p1; m_p1=m_p2; m_p2=t; } d=-0.5-k; for(p=m_p1;p.x m_p2.x ;p.x ++) { pDC-SetPixel (p.x ,p.y ,RGB(0,0,255)); if(d0) { p.y--; d-=1+k; } else { d-=k; } } } } void CTEXTView::OnDraw(CDC* pDC) { CTEXTDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CLine cline; cline.MoveTo (-200,300); cline.LineTo (pDC,200,-300,-0.3); } 5.程序效果图 6.实验总结 本实验实现了一个类似于CDC类的MoveTo()函数和LineTo()函数,用于绘制任意斜率的直线段,这次只是绘制固定斜率的直线段,但还是出现了很多问题,经过与同学的讨论解决了问题。

文档评论(0)

1亿VIP精品文档

相关文档