当前位置: 技术问答>java相关
請教多邊形合併算法(我個人認為很難)
来源: 互联网 发布时间:2015-04-08
本文导语: 類似於kwiks遊戲,或以前遊戲機上的QIX.上搜索引擎可以查到. 就是在一塊(240*320)的區域上,移動小球來封成封閉區域,直到圍成的封閉區域超過一定比例就算勝利. 這其中就有一個算法問題:在移動的小球...
類似於kwiks遊戲,或以前遊戲機上的QIX.上搜索引擎可以查到.
就是在一塊(240*320)的區域上,移動小球來封成封閉區域,直到圍成的封閉區域超過一定比例就算勝利.
這其中就有一個算法問題:在移動的小球開始畫線時直到小球畫的線構成新的封閉區域.這個新的封閉區域如何計算?是把已有的區域加上新畫的區域還是重新計算整個新的封閉區域,這些區域的頂點如何取捨?
還請各位高手提供思路!!!
PS;由於是用在j2me上,polygon類是我自己寫的,無法用到一些常用的api函數,polygon類里包括按一定順序的頂點,邊,順逆時針等.
就是在一塊(240*320)的區域上,移動小球來封成封閉區域,直到圍成的封閉區域超過一定比例就算勝利.
這其中就有一個算法問題:在移動的小球開始畫線時直到小球畫的線構成新的封閉區域.這個新的封閉區域如何計算?是把已有的區域加上新畫的區域還是重新計算整個新的封閉區域,這些區域的頂點如何取捨?
還請各位高手提供思路!!!
PS;由於是用在j2me上,polygon類是我自己寫的,無法用到一些常用的api函數,polygon類里包括按一定順序的頂點,邊,順逆時針等.
|
我的思路是:
1先算出小球经过的所有点的纵坐标
2按每一列计算,在这一列中
2。1假设小球经过了n点,那么从0到第一个点之间的距离加入到A面积,第一到第二个点之间的距离加入到B面积,以此类推,2x到2x+1的点之间的距离算入A,2x-1到2x的点的距离加到B,这样把这些点间的距离分别加到A,B两个面积中
2。2假设小球一个点也不经过,那么就认为它经过了这一列的最上和最下的两个点,再用2。1的方法算
3。在A,B两个面积中取一个小的做为封闭面积
这只是大概思路,有些细节还要你再考虑
1先算出小球经过的所有点的纵坐标
2按每一列计算,在这一列中
2。1假设小球经过了n点,那么从0到第一个点之间的距离加入到A面积,第一到第二个点之间的距离加入到B面积,以此类推,2x到2x+1的点之间的距离算入A,2x-1到2x的点的距离加到B,这样把这些点间的距离分别加到A,B两个面积中
2。2假设小球一个点也不经过,那么就认为它经过了这一列的最上和最下的两个点,再用2。1的方法算
3。在A,B两个面积中取一个小的做为封闭面积
这只是大概思路,有些细节还要你再考虑
|
在java2D中绘制广义路径里的绘制重叠区时有两种方法!
卷绕法则和非零卷绕法则則!
卷绕法则和非零卷绕法则則!
|
去看程序员
没记错的话去年程序员的7期上就有这样的题目,给答案的
没记错的话去年程序员的7期上就有这样的题目,给答案的
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。