基于jsp的像素着色

基于jsp的像素着色 一,用户界面 注意: 需要在Chrome浏览器上运行,使用IE等其他浏览器可能出现各种不兼容现象, 二,操作方法 在绘图区域点击鼠标

本文包含相关资料包-----> 点击直达获取<-------

基于jsp的像素着色

一、用户界面

注意: 需要在Chrome浏览器上运行,使用IE等其他浏览器可能出现各种不兼容现象。

二、操作方法

  • 在绘图区域点击鼠标,绘制多边形。在还差一条边没有绘制时,右键点击画布或者按下空格键可以自动封闭多边形。

  • 点击右上侧按钮可以选择目标多边形。选中后,点击下面按钮可以进行进一步的操作:

  • 清除选中状态: 取消对多边形的选择。
  • 添加内环: 点击后,紧接着绘制的下一个多边形将成为目标多边形的内环。
  • 选择裁剪对象: 点击该按钮后,要继续点击另一多边形对应的 按钮 。将进行裁剪操作,原多边形作为主多边形,后点击的将作为裁剪多边形。
  • 平移、旋转、缩放、翻转。
  • 着色。
  • 重置多边形: 清除当前所有多边形。

  • 部分操作可以用键盘代替:

操作 键盘方法
封闭多边形 space
平移 上下左右
旋转 shift+左右
缩放 shift+上下
翻转 alt+上下左右

三、效果展示

3.1 裁剪

3.2 着色

四、特色

  • 仅使用了setPixel函数。

  • 可以判断多边形合理性,避免内环画在外面、多边形自相交等状况。

  • 交互友好,可以轻松添加多边形并对其操作。

  • 允许存在多个多边形。

  • 手动实现了双缓冲绘制,刷新时只绘制发生变化的像素,大大节约时间。

五、算法概览

在这里列出程序用到的主要的函数。

功能 函数名 算法
画线 _lineTo Bresenham算法。
着色 colorPolygons 逐点判断方法。
求坐标是否在多边形内 isIn 将该点与多边形各个顶点连线,分别求内外环各个夹角的度数和。若在外环内、内环外,则为多边形内部
判断线段是否相交 isTwoLinesCross 先判断显然不相交的情况,再求向量叉积判断
判断多边形自相交 checkCross 枚举各边是否相交
求线段交点 crossPoint 先判断相交,再求两直线方程交点
封闭多边形 closePath 判断是否自相交; 将当前绘制的线段排序,并压进polygons数组; 添加按钮
对线段排序(顺逆时针) sortVertex 使用 Paul Bourke的方法 ,并区分内外环
求几何重心 getCenter 参照维基百科的公式,并非简单的求各个点坐标平均值: 此外,内环相当于负质量,应减去。
旋转 rotate 将选中的多边形的各个顶点相对于多边形重心的各个向量分别旋转,再加回重心
多边形边交点排序 sortCrossPoint 该函数在裁剪多边形中用到,目的是对主多边形的一条边与裁剪多边形的交点的排序。根据端点的顺序,对各个交点的横坐标做冒泡排序。
裁剪多边形 cutPolygon 使用Weiler-Atherton算法。先改变多边形数据结构,从边表转成顶点表。再求两个多边形的交点,并插入顶点表,对应的顶点索引关系存储在connect数组中。 若connect为空 则特殊处理。接下来从connect数组中选点开始算法,标记connect数组的元素。回到起始点后,将当前多边形push进结果数组,并寻找下一个未标记的connect,继续算法。最后,将顶点表转换回边表。产生的结果可能有多个多边形,它们将被作为不同的多边形依次被添加。

参考文献

  • 基于JSP的学生就业信息管理系统设计与实现(吉林大学·马骁)
  • 基于JSP技术的毕业生信息管理系统的设计与实现(吉林大学·孙佳帝)
  • 基于JSP的校园管理网站系统的设计与开发(电子科技大学·张志红)
  • 计算机文化基础网络课件(吉林大学·林凌)
  • 基于EPP的域名管理系统(山东大学·孟庆领)
  • 沈阳超高压局通信设备运行参数管理信息系统(大连理工大学·杨楠)
  • 基于云计算模式的社会服务管理信息化平台项目设计与建设(吉林大学·杨刚)
  • 基于JSP的艺术院校图书管理系统的设计与实现(西安电子科技大学·王擒龙)
  • 基于云计算模式的社会服务管理信息化平台项目设计与建设(吉林大学·杨刚)
  • 基于JSP平台的信息发布系统的设计与实现(北京工业大学·徐慧君)
  • 基于云计算模式的社会服务管理信息化平台项目设计与建设(吉林大学·杨刚)
  • 电子商务门户网站的研究与实现(大庆石油学院·戴庆)
  • 基于JSP平台的信息发布系统的设计与实现(北京工业大学·徐慧君)
  • 基于J2EE和MVC模式的Web应用研究(武汉理工大学·刘继华)
  • 基于云计算模式的社会服务管理信息化平台项目设计与建设(吉林大学·杨刚)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计客栈 ,原文地址:https://m.bishedaima.com/yuanma/35591.html

相关推荐

发表回复

登录后才能评论