实验名称 计算机图形学软件开发环境
实验目的:
1、熟悉计算机图形学开发环境的配置;
2、在该程序框架下绘制简单图形
任务1:
windows环境下配置计算机图形学模拟系统框架
需要安装软件:
1)Visual studio 20xx
2)Qt
第一步:在VS环境下创建简单的Qt GUI Application程序,创建程序后运行成功,表示该步骤通过。
第二步:在Qt UI下填加菜单,
菜单名为“test“
在项目程序构造函数中添加
connect(ui.actiontest, SIGNAL(triggered()), this, SLOT(test()));
在项目程序中完成测试函数test()
QMessageBox::information(NULL, "Title", "OK");
测试成功,项目框架测试完成。
任务2:绘制一条直线
任务3:绘制一个正六边形
任务4:绘制一个圆形
任务5:绘制一个y= sinx+sin2x的曲线
GraphAigorithm.h:
#ifndef _GRAPHALGORITHM_H
#define _GRAPHALGORITHM_H
#include <QPainter>
#include <algorithm>
//Digital Differential Analyzer
void DDAF(QImage *image, int x1, int y1, int x2, int y2, QRgb value);
void DrawHexagon(QImage *image, int x, int y, int len, QRgb value);
void DrawCircle(QImage *image, int x, int y, int len, QRgb value);
void DrawSin(QImage *image);
#endif
test1.h:
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_test1.h"
#include <qmessagebox.h>
#include <QPainter>
class test1 : public QMainWindow
{
Q_OBJECT
public:
test1(QWidget *parent = Q_NULLPTR);
void paintEvent(QPaintEvent*);
QPainter *paint;
private:
Ui::test1Class ui;
int state;
public slots:
void test();
void hexagon();
void circle();
void cos();
};
GraphAigorithm.cpp:
#include "GraphAlgorithm.h"
const QRgb value = qRgb(255, 0, 0);
void DDAF(QImage *image, int x1, int y1, int x2, int y2, QRgb value)
{
int x0, y0, a;
float dx, dy, x, y, k1, k2;
dx = x2