继续接着上一篇的。
修改后的编码裁剪算法的运行结果如下:
裁剪后:
裁剪成功!
(2)实现梁友栋裁剪算法
代码如下:
// CG_4_Liang-Barsky参数化裁剪算法.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdafx.h"
#include <GL/glut.h>
#include <stdio.h>
#include <stdlib.h>
int clipTest(float p,float q,float *u1,float *u2);
float x1,y1,x2,y2;
struct Rectangle
{
float XL,XR,YB,YT;
};
Rectangle rect;
void LineGL(int x0,int y0,int x1,int y1)
{
glBegin (GL_LINES);
glColor3f (1.0f, 0.0f, 0.0f); glVertex2f (x0,y0);
glColor3f (0.0f, 1.0f, 0.0f); glVertex2f (x1,y1);
glEnd ();
}
//x1,y1,x2,y2为直线端点坐标 XL,XR,YB,YT为窗口边界信息
int L_B_LineClip(Rectangle