`
runfeel
  • 浏览: 936054 次
文章分类
社区版块
存档分类
最新评论
文章列表
四、边界标志填充算法 在光栅显示平面上,多边形是封闭的,它是用某一边界色围成的一个闭合区域,填充是逐行进行的,即用扫描线逐行对多边形求交,在交点对之间填充。边界标志填充算法就是在逐行处理时,利用边界或边界颜色作为标志来进行填充的。准确地说,边界标志填充算法不是指某种具体的填充算法,而是一类利用扫描线连贯性思想的填充算法的总称。这类算法有很多种,本篇就介绍几种。 首先介绍一种以边为中心的边缘填充算法,这种边界标志算法的基本思想是:对于每一条扫描线和每一条多边形边的交点(xi,yi),将该扫描线上交点右方的所有象素取补,依次对多边形的每条边作此处理,直到最终完成填充。这里要介绍一下取补的定义,假 ...
虽然做java已经两年多了,但说真的对java中所谓的线程同步异步这类的东东还真不是非常的了解,由于最近在研究android上的游戏开发,看到一个游戏demo里到处都充斥着 synchronized这个关键字,而且由于在游戏开发中对线程的使用十分多,所以便写下了这些东东(高手直接忽略就可以了)。 若有幸被高手看到了这篇博文,如果有错误的话请指出,不胜感激。 关于synchronized关键字我自己写了个测试程序运行了一下,具体情况如下: 先把测试代码贴上来看看: 测试代码1: class TxtThread implements Runnable { int num = 4 ...
转自:http://www.cnblogs.com/hundan/archive/2011/08/27/2155442.html 一、资源: MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序 ANDROID事件触发机制,针对于由于触摸(Touch)而触发的事件。 二、重点 首先要明确onInterceptTouchEve ...
哥们以前几乎没有写博客的习惯,不过现在公司上班比较清闲,而且最近又在研究android上的游戏开发,所以想把自己的学习过程记录下来,之前也做记录不过用的是纸质的笔记本,写的多了乱放有的找不到了,所以还是觉得在博客上写靠谱些,起码丢不了,而且还能够跟许多人一起分享,何乐而不为呢。各位喜欢的就赞一下,不喜欢的喷喷也没关系的。内容比较基础,高手们可以直接无视,因为这篇文章算不上是那种技术文章,只不过是对自己学习的一个记录而已。好了,下面进入正题了。 在游戏的开发过程中必定会涉及到N多图片的处理,比如图片的切割、转动、平移等操作,本篇主要描述使用Canvas对图片的clip动作。 Canvas. ...
三、改进的扫描线填充算法 扫描线填充算法的原理和实现都很简单,但是因为要同时维护“活动边表(AET)”和“新边表(NET)”,对存储空间的要求比较高。这两张表的部分内容是重复的,而且“新边表”在很多情况下都是一张稀疏表,如果能对其进行改进,避免出现两张表,就可以节省存储空间,同时省去从“边表”生成“新边表”的开销,同时也省去了用“新边表”维护“活动边表”的开销,基于这个原则可以对原始扫描线算法进行改进。 3.1重新设计“活动边表” 改进的算法仍然使用了“活动边表”的概念,但是不再构造独立的“活动边表”,而是直接在“边表”中划定一部分区间作为“活动边区间”,也就是说,把多边形的边分成两个子集, ...
1OutgoingCallBroadcaster.java 点击拨号盘拨打按钮后,进入通话的Phone包。此时首先进入的函数是OutgoingCallBroadcaster.java,该类是一个Activity。 由activity的生命周期可知,第一次进入时应调用onCreate()函数。(在该类中也只实现了这个函 ...
一、Windows Phone系统介绍 Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox Live游戏、Zune音乐与独特的视频体验整合至手机中。2010年10月11日晚上9点30分,微软公司正式发布了智能手机操作系统Windows Phone,同时将谷歌的Android和苹果的IOS列为主要竞争对手。2011年2月,诺基亚与微软达成全球战略同盟并深度合作共同研发,建立庞大的生态系统。 二、Windows Phone市场前景 目前的手机操作系统市场上,谷歌的Android系统和苹果的IOS已经占有绝对的统治地位。很多开发者已经加入到Android开发和IOS开发的浪 ...
二、扫描线算法(Scan-Line Filling) 扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电脑游戏和三维CAD软件的渲染等等。 对矢量多边形区域填充,算法核心还是求交。《计算几何与图形学有关的几种常用算法》一文给出了判断点与多边形关系的算法――扫描交点的奇偶数判断算法,利用此算法可以判断一个点是否在多边形内,也就是是否需要填充,但是实际工程中使用的填充算法都是只使用求交的思想,并不直接使用这种求交算法。究其原因,除了算法效率问题之外,还存在一个光栅图形设备和矢量之间的转换问题。比如某个点位于非常靠近 ...
WEB前端开发规范 规范目的   为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档.本文档如有不对或者不合适的地方请及时提出, 经讨论决定后方可更改. 基本准则   符合web标准, 语义化html, 结构、表现、行为分离, 兼容性优良. 页面性能方面, 代码要求简洁明了有序, 尽可能的减小服务器负载, 保证最快的解析速度. 文件规范   1. html, css, js, image文件均归档至约定的目录中;   2. html文件命名: 英文命名, 后缀.htm. 同时将对应界面稿放于同目录中, 若界面稿命名为中文, ...
晚上一个java群里发来了下面代码,问原因,一时我也没有看出来为什么第2个打印结果会是“88”。想看一下三目运算的源码没找到。于是想到C语言以前写过结构体实现三目运算比较,因此猜到此可能是类型转换导致的。网上一找java编程规范果然是如此。 @org.junit.Test public void printIfElse() { char x='X'; // int i=0; // X 88 // float i = 12.33232f; //X 88.0 double i = 129;// X 88.0 System. ...
声明:以下代码都是在Python2.7+Winxp中执行通过 [异常] 1.try语句的两种形式 形式1: try: <statement> except<exceptname1>:#出现exceptname1的异常,执行以下语句<statement> except<exceptname2>:#出现exceptname2的异常,执行以下语句<statement> else: #一切正常,执行else语句<statement> 形式2: try: <statement> exce ...
16:56 2012-3-9 声明:以下代码都是在Python2.7+Winxp中执行通过 [面向对象] 1.类的定义 #-*-coding:utf-8-*- class student:name = '' #定义类的公有属性,可直接访问age =0 class human :sex =''height=0 2.类的继承 class student(human): #只能继承父类的共 ...
2012-3-9 [函数] 1.函数 def functionName (param1,param2,...): #参数可选,以逗号隔开return <return value> # optional,可以没有return def hello():print 'hello world!' #要有缩进 def listSum(list): #不需要指明数据类型,python 会自动处理sum =0for i in l ...
1.3扫描线种子填充算法 1.1和1.2节介绍的两种种子填充算法的优点是非常简单,缺点是使用了递归算法,这不但需要大量栈空间来存储相邻的点,而且效率不高。为了减少算法中的递归调用,节省栈空间的使用,人们提出了很多 ...
2012-3-7#使用版本:Python 2.7.2 当行注释 # 多行注释 ''' 或者 """ (三个单引号或者双引号) 当行多断代码隔离 ; 下段代码的开始 : 代码的连接 print "too long"\ " words"\ 相当于 print too long words 1. 类型转换 int(string) float(String) chr(ASCII值到字符) ord(ASCII字符转换成值) oct(String) 八进制 hex 16进 ...
Global site tag (gtag.js) - Google Analytics