编程实现多边形裁剪 vs2017

本文介绍了如何在Visual Studio 2017上完成计算机图形学作业中的多边形裁剪任务。由于网络上的资源多基于OpenGL,作者分享了自己的C++代码实现,并提供了代码来源及运行效果截图。作业代码已打包上传至百度云,链接和密码均有提供。
摘要由CSDN通过智能技术生成

最近在上计算机图形学,有布置多边形裁剪的作业,要求是在vs上实现,在网上搜了一会,好多都是OpenGL写的,所以把作业的代码贴一下,供需要的参考参考,是从这位博主改来的:http://blog.csdn.net/nanhaizhixin/article/details/6531896

原理大家网上搜搜,我也不太懂!!!

代码如下:
在头文件定义类型
enum Boundary{

Left, Right, Bottom, Top

};

函数:

int CMFCAppday_1_01View::Inside(POINT p, Boundary b, POINT wMin, POINT wMax)
{   
    switch (b)
    {
    case Left:
        if (p.x<wMin.x) return (false);
        break;
    case Right:
        if (p.x>wMax.x) return (false);
        break;
    case Bottom:
        if (p.y<wMin.y) return (false);
        break;
    case Top:
        if (p.y>wMax.y) return (false);
        break;
    }
    return true;
}/*Inside*/

/* 求相交的点 */
POINT CMFCAppday_1_01View::Intersect(POINT p1, POINT p2, Boundary b, POINT  wMin, POINT wMax)
{
    POINT iPt;
    float m;
    if (p1.x != p2.x) m = (p2.y - p1.y) / (p2.x - p1.x);
    switch (b) {
    case Left:
        iPt.x = wMin.x;
        iPt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值