Code Monkey home page Code Monkey logo

cg_exp_2d's Introduction

CG_Exp_2d

图形学实验2D部分

沿用了CG_Exp2的Curve类和Canvas类,增加了Polygon类表示多边形,并修改了Canvas类

点击开始绘制多边形/直线/圆 可以开始绘制,直接在工作区鼠标点击即可,也可以手动输入坐标参数。

填充算法在Canvas类中实现了,UI没有做

Canvas.cs: 包含了对于画布(图层)的操作。同时存储了所有的图元信息。包含需要实现的以下算法: 递归填充算法,边界为点阵表示的扫描线填充算法,图像填充算法,Liang-Barsky线段裁剪,Weiler-Atherton多边形裁剪算法

Curve.cs: 包含了直线和圆类。封装了以下算法: Bresenham画线算法,中点圆算法。对外接口均为getPoints(),为获取直线或圆上的所有点。

Polygon.cs: 包含了多边形类和矩形类(暂时矩形是独立的一个类)。多边形类中主要包含以下接口: 往多边形中加点,判断多边形是否自相交,将裁剪时所需的一系列交点坐标按顺序插入多边形顶点中(存储在clipVertex中),判断点是否在多边形中,将多边形顶点存储顺序改为顺时针。

CG_Tools.cs: 包含了一些常用函数,有: 计算两点间距离,求叉积,判断点是否在线段上,判断线段是否相交,求线段交点。 mainFrm.cs: 和UI有关的一些函数

cg_exp_2d's People

Contributors

againcy avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

sx4452

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.