我们在大学这个学期开设了计算机图形学的入门课程。关于如何进行实验练习没有推荐的方法。大多数学生都使用Turbo C和内置的graphics.h头文件。
我对此有点担心,Turbo C是70年代的事情并且对它学习东西对我来说似乎毫无意义。我也可以为Bloodshed Dev-C ++编译器设置graphics.h,也可以在linux系统上设置libgraph。
Borland graphics.h有其他替代品吗? 我正在寻找相对简单的相对现代的解决方案,因为它们不会添加太多的样板代码等,而是实现相同的功能。
为了提供有关我们正在进行的任务的更多信息,我们将实施基本的图形算法,如DDA算法,Bresenham的算法,扫描转换等。 所以我需要能够在屏幕上绘制像素,我不需要一个真正的高级库,它可以自己绘制线条和圆形等基元。如果它可以很好但是要学习我应该能够在屏幕上绘制原始像素。
答案 0 :(得分:7)
我还建议不要使用Bloodshed Dev-C ++,因为它也有点过时了。您可以使用免费的MS VC++ Express或Code::Blocks。
答案 1 :(得分:2)
答案 2 :(得分:0)
如果您正在寻找“现代”和“不太多样板”,为什么不使用JavaScript?它将直接在浏览器中运行,您可以使用<canvas>
元素,也可以在提供给学生的脚本中捆绑setPixel
DOM函数。
以下是您可以查看的链接:http://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx。
还有一个问题:Bresenham algorithm in Javascript。
如果您致力于C ++,那么总会有OpenGL,但我想有更多的学习曲线。在过去,有DJI和GRGP for DJGPP(任何人都记得那个?)。我不知道有许多与设备无关的库用于将像素写入屏幕(GDI和Xlib也是特定于操作系统的)。在Perl / Python / Tcl世界中有Tk,即O.S.独立的。
我个人喜欢低级图形算法的JavaScript - 没有设置! - 但如果你不依赖于C ++,那么值得一看。但是如果你没有时间教JavaScript,那么你的学生可能会实施一些算法以获得额外的学分。
答案 3 :(得分:0)
答案 4 :(得分:-1)
该库与BGI(Borland Graphics Interface,这意味着它为Visual Studio使用“ graphics.h”)兼容API。