图形学上机考试题实现代码
来源:互联网 发布:北京程序员生存现状 编辑:程序博客网 时间:2024/06/08 13:48
题目:
已知螺旋线方程:
z=r*cos(t*k);
x=r*sin(t*k);
y=300*t;
(k=m*3.14/180*360 m=10)
r为半径,t为时间,k为螺旋线的圈数控制量
分别采用红、绿、蓝三色画出宽度为4且圈数是10的螺旋线
沿X,Y,Z三轴正向的平行投影图形。
实现代码:
void CDrawSpringView::OnDraw(CDC* pDC)
{
CDrawSpringDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
double k = 10 * 3.14 / 180 * 360,t = 0.0;
CPoint pt1[500],pt2[500],pt3[500];
CPen redPen,greenPen,bluePen;
redPen.CreatePen(PS_SOLID,4,RGB(255,0,0));
greenPen.CreatePen(PS_SOLID,4,RGB(0,255,0));
bluePen.CreatePen(PS_SOLID,4,RGB(0,0,255));
for(int i = 0; i < 500; i++)
{
pt1[i].x = (long)(30 * cos(t * k));
pt1[i].y = (long)(30 * sin(t * k));
pt2[i].x = (long)(30 * sin(t * k));
pt2[i].y = (long)(300 * t);
pt3[i].x = (long)(300 * t);
pt3[i].y = (long)(30 * cos(t * k));
t += 0.002;
}
pDC->SetViewportOrg(100,100);
pDC->SelectObject(redPen);
pDC->Polyline(pt1,500);
redPen.DeleteObject();
pDC->SetViewportOrg(200,50);
pDC->SelectObject(greenPen);
pDC->Polyline(pt2,500);
greenPen.DeleteObject();
pDC->SetViewportOrg(240,100);
pDC->SelectObject(bluePen);
pDC->Polyline(pt3,500);
bluePen.DeleteObject();
}
- 图形学上机考试题实现代码
- 华为北京地区上机考试题2012
- 计算机图形学02一一OpenGL 代码实现绘制一条线
- [图形学] 5行C代码实现的分形图案
- 考试题
- 考试题
- 考试题
- 考试题
- 计算机图形学上机实验之DDV算法
- 图形学实战代码总结
- 图形学各种算法代码
- 图形学实验代码
- 04年10月17日上机考试题
- 2012华为校园招聘上机考试题(上海交大考场)
- 企业linux应用ssh免密码登陆上机实战考试题
- 华为9月14日上机考试题(第一题)
- 华为9月14日上机考试题(第二题)
- 华为上机考试题----删除重复字符串和约瑟夫环
- 对java 接口和实现的理解
- 手机漏洞
- 小样你真坏
- Linux学习-开篇
- Google的FireFox Toolbar中为何没有cn站?
- 图形学上机考试题实现代码
- 简单快乐
- 豪杰春香
- The palest of ink is better than the best memory.
- 学习
- You don't have time to fiddle with administrivia.
- 一个JAVA 程序员的告白
- 超强功能的正则时间验证,C#实现
- 程序员的七种武器