| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2425 人关注过本帖
标题:[求助]计算机图形学
取消只看楼主 加入收藏
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
 问题点数:0 回复次数:7 
[求助]计算机图形学

这学期开了计算机图形学,讲到现在对一些常规的画直线,曲线,圆...等的算法都已经了解差不多了
但用C++还不会起步去实现他们,偶不说算法不知如何实现,是怎么调用画图库函数呢
学C++的时候没有研究过如何画图...所为对一些画图用的头文件还不是很了解,例如像c中的<graphic.h>

请指点一下,谢谢哦

搜索更多相关主题的帖子: 计算机图形学 画图 曲线 算法 
2006-09-19 15:38
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
嗯 好像要涉及到<GL/glut.h>了吧...
不过安装VC++ 6.0里没有提供这头文件呢?

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-19 16:57
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

用vc++6.0画个图形很麻烦唉...

还得链接指定的动态文件库 晕 有人尝试过吗?

1)创建一个Win32 Console Application。

  2)链接OpenGL libraries。在Visual C++中先单击Project,再单击Settings,再找到Link单击,最后在

Object/library modules 的最前面加上OpenGL32.lib GLu32.lib GLaux.lib

  3)单击Project Settings中的C/C++标签,将Preprocessor definitions 中的_CONSOLE改为_WINDOWS。最后

单击OK。


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-19 17:19
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

终于搞明白了 原来VC++6.0中使用GL/gult.h得需要OpenGL环境的
偶又上网下载了相关的动态链接库文件(opengl.dll glut32.dll glut.dll等)放在systemboot\system32下 才把环境配置完全
并且头文件目录中的文件也必须齐全 我的是C:\Program Files\Microsoft Visual Studio\VC98\Include\GL 下
全部相关头文件:GL.H GLAU.H GLU.H glext.h glut.h

创建文件是也是按照楼上的改就可以了 好像挺麻烦的...

搞懂了之后 写了简单的线段程序 函数是现查现用的 呵呵


#include <GL/glut.h>
void init(void)
{
glClearColor(0.0,0.0,0.0,0.0);//设置显示窗口颜色为黑色
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);//设置2D坐标系
}

void lineSegment(void)
{
glClear(GL_COLOR_BUFFER_BIT);//清屏
glColor3f(1.0,1.0,1.0);//设置直线颜色
glBegin(GL_LINES);
glVertex2i(180,15);
glVertex2i(10,145);//指定线段坐标
glEnd();
glFlush();
}

void main(int argc,char* * argv)
{
glutInit(&argc,argv);//初始化 GLUT
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);//设置显示模式
glutInitWindowPosition(50,100);//设置窗口左上角坐标
glutInitWindowSize(400,300);//设置窗口尺寸
glutCreateWindow(\"an example openGL program\");//建立显示窗口
init();//调用初始化函数
glutDisplayFunc(lineSegment);//向显示窗口发送图片行为
glutMainLoop();//显示并等待
}



显示结果:




unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-19 19:31
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
以下是引用wfpb在2006-9-19 20:57:55的发言:
你们的算不错了,我们也开了这门课,但是完全是数学层面的,考试全部是数学题,我对这样的教学没什么兴趣,考试36分(满分100)

呵呵 那你们一定很枯燥了 还好我们还有6课时的上机课 不过上课也从来不提程序的 也是纯数学,什么bresenham算法,多维矩阵...等于又学了一遍线性代数...汗 上机那么少时间老师也不注重的 我问她GL/gult.h怎么用 她都没用过...不用管那么多 考试都是考算术 而且是英文答卷...
...汗 这课这么弄可真白学了


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-19 21:32
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

嗯 还会牛顿插值 最小二分法...不过,那终究是数学的理论 应用才是关键 ...高数 线性代数 离散数学 数值分析导论 建模思想 思维逻辑学...这些课考试的分数都很高的,不过当用语言实现并应用时却不是理论理解那么容易,但学完数据结构之后却很容易,所以说重要的不是理论而是真正能应用的方法,要不纸上谈兵也很没意思吧,大学生现在虽然注重应该是理论,但导致大部分人应用能力很差,如果在不多实现算法,纸笔功夫会贬值的哦
这些观点不是说理论不重要时感慨现在课程安排应该理论实践想结合,理论课时和上机时间应该成正比的,那课程学完之后才会有本质的理解吧...


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-20 10:22
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

这个帖子的主题好像变了 ...


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-21 22:26
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

计算机图形学设计的内容还真是多啊,openGL环境下画图实在太麻烦了
刚刚看了看MFC的东东 只能做出这个最基本的啦 但很多想要完成的东东却无从下手啊

我想问的是如何对"DDA算法生成直线"那项进行操作,不是点击就画图了,比如点完之后可以弹出个对话框 ,可以输入直线启始坐标,然后再生成图,谢谢指点

图片附件: 游客没有浏览图片的权限,请 登录注册


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-09-26 20:29
快速回复:[求助]计算机图形学
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019600 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved