10

我们在大学这个学期有一门计算机图形学入门课程。没有关于如何进行实验室练习的推荐方法。大多数学生都求助于 Turbo C 和内置的 graphics.h 头文件。

我对此有点担心,Turbo C 是 70 年代的东西,学习它的东西对我来说似乎毫无意义。我也可以为 Bloodshed Dev-C++ 编译器设置 graphics.h,或者在 Linux 系统上设置 libgraph。

Borland graphics.h 有替代品吗?我正在寻找相对现代的解决方案,这些解决方案相对简单,因为它们不会添加太多样板代码等,但实现相同的功能。

为了提供更多关于我们将要执行的任务的信息,我们将实现基本的图形算法,如 DDA 算法、Bresenham 算法、扫描转换等。所以我需要能够在屏幕上绘制像素,我不需要一个真正高级的库,它可以自己绘制像线和圆这样的基元。如果它可以很好但学习我应该能够在屏幕上绘制原始像素。

4

5 回答 5

9

AllegroSDL库可能适合您。

我还建议不要使用 Bloodshed Dev-C++,因为它也有点过时了。您可以使用免费的MS VC++ ExpressCode::Blocks

于 2011-08-01T06:06:27.647 回答
3

看看煤渣。这是一个为“创造性编码”而设计的 C++ 库,看起来非常易于使用,同时仍然很强大(查看示例)。

您也可以尝试SFML。它有很多追随者,如果您遇到任何麻烦,您将拥有一个庞大的社区。

于 2011-08-01T06:35:58.163 回答
0

如果您正在寻找“现代”和“没有太多样板”,为什么不使用 JavaScript?它将直接在浏览器中运行,您可以在提供给学生的脚本中使用<canvas>元素或捆绑DOM 函数。setPixel

这是您可以查看的链接:http: //www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx

还有一个 SO 问题:Bresenham algorithm in Javascript

如果你致力于 C++,总会有 OpenGL,但我想有一点学习曲线。在过去,有 BGI 和 DJGPP 的 GRX(有人记得?)。我不知道有多少与设备无关的库用于将像素写入屏幕(GDI 和 Xlib 太特定于操作系统)。在 Perl/Python/Tcl 世界中存在独立于操作系统的 Tk。

就我个人而言,我喜欢 JavaScript 用于低级图形算法——无需设置!-- 但如果你不依赖 C++,它可能值得一看。但是如果你没有时间教 JavaScript,那么也许你的一些学生可以实现一些算法来获得额外的学分。

于 2011-08-01T05:43:25.023 回答
0

SDL是您的最佳选择。我无法让 graphics.h 与 Dev C++ 一起使用,因为较新版本的 Windows 与它不兼容。另一个可能工作的图形库是GLFW,如果你想要的只是绘制窗口和 UI 的东西。

于 2015-01-02T21:47:00.380 回答
-1

https://easyx.cn/

此库与 Visual Studio 的 BGI(Borland 图形接口,这意味着它使用“graphics.h”)的 API 兼容。

于 2020-04-23T03:16:33.710 回答