日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Games202 Lecture3-4之SAT: Summed Area Table

發布時間:2023/12/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Games202 Lecture3-4之SAT: Summed Area Table 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SAT: Summed Area Table

  • 一維
  • 二維
  • 分析

一種可以準確進行范圍查詢的方式。

數據結構: Summed Area Table (SAT)
算法:prefix sum 前綴和

一維

對于一個存放texture的一維數組,構建一個等大的summed area table,這個table中每個元素的值是texture數組中該位置元素以及其左側所有元素的總和。
SAT(i)=∑j≤iTexture(j)SAT(i) = \sum_{\mathclap{j\le i}} Texture(j) SAT(i)=ji??Texture(j)
示意:

在(a,b]范圍內元素和的計算方式:
RQ((a,b])=SAT(b)?SAT(a)RQ((a,b]) = SAT(b) - SAT(a) RQ((a,b])=SAT(b)?SAT(a)

二維

對于一個存放texture的二維數組,構建一個等大的summed area table。
每個元素的值記錄的是texture數組中該元素以及其左側和上方的所有元素的總和。
SAT(x,y)=∑x′≤x,y′≤yTexture(x′,y′)SAT(x,y)=\sum_{x'\le x, y'\le y} Texture(x',y') SAT(x,y)=xx,yy?Texture(x,y)
示意:



圖中藍色部分元素和的計算方式:
RQ(D)=SAT(D)?SAT(C)?SAT(B)+SAT(A)RQ(D) = SAT(D) - SAT(C) - SAT(B) + SAT(A) RQ(D)=SAT(D)?SAT(C)?SAT(B)+SAT(A)
其中,
SAT(A)=SAT(Ax′,Ay′)SAT(A) = SAT(A_{x'},A_{y'}) SAT(A)=SAT(Ax?,Ay?)

分析

時間復雜度O(M*N)
空間復雜度O(M*N)

數據精度會稍有損失,但是影響不大。
二維SAT進行計算時,行與行之間是獨立的,可以并行計算。

總結

以上是生活随笔為你收集整理的Games202 Lecture3-4之SAT: Summed Area Table的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。