AS3 扇形繪製

2021-06-18 17:03:10 字數 1337 閱讀 6712

原始碼:

drawsector的引數說明:

g:graphics:需要繪製的graphics物件;

radius:number:扇形半徑;

fromangle:number:從那個角度開始;

angle:number:從fromangle開始,轉多少弧度;

x:number = 0:中心點偏移x量;

y:number = 0:中心點偏移y量;

isfill:boolean = true:是否填充顏色;

fillcolor:uint = 0xff0000:填充的顏色;

fillalpha:number = 1:透明度;

isclockwise:boolean = true:是否順時針轉;

isshowedge:boolean = true:是否繪製邊緣;

isshowassistpoint:boolean = false:是否繪製輔助線;

package

private function onenterframe(e:event):void

public static function drawsector(

g:graphics, radius:number, fromangle:number, angle:number, x:number = 0, y:number = 0,

isfill:boolean = true, fillcolor:uint = 0xff0000, fillalpha:number = 1, isclockwise:boolean = true, isshowedge:boolean = true, isshowassistpoint:boolean = false):void

else

bx1 = radius * math.cos(anglemid);

by1 = radius * math.sin(anglemid);

bx= x + bx1 / divvalue;

by= y + by1 / divvalue;

cx = x + radius * math.cos(fromangle);

cy = y + radius * math.sin(fromangle);

g.curveto(bx, by, cx, cy);

if(isshowassistpoint)

}g.lineto(x, y);

}if(isfill) g.endfill();

} }}

執行效果:

SHOI2013 扇形面積並

補一張圖 我們嘗試把圓上的扇形轉化成直線上的矩形 我們維護 1,2m 的區間,那麼每個能產生貢獻的子區間的長度第k大的半徑的平方的總和就是answer了。怎麼轉化呢?左端點為a1 m 1,右端點為a2 m。為什麼要 m?因為原先的範圍是 m,m 的,所以整體右移。為什麼左端點要 1?因為我們維護的是...

BZOJ4418 Shoi2013 扇形面積並

題解 看上去好像很難的樣子 計算幾何?看了眼輸出 整數?模擬一下?好像直接維護就行 我們考慮對於 m,m 範圍內的整數點 左端點 1 右端點 1 對應的r半徑 對於當前點在樹狀陣列上二分找到當前第k大的數 然後統計貢獻即可 include include include include includ...

css3 繪製畫圓 扇形

css已經越來越強大了 可以使用它來繪製各種簡單的形狀,用於代替顯示,這次的分享主要用到畫圓,扇形 實現圓形 效果如下 border radius圓角的四個值按順序取值分別為 左上 右上 右下 左下。這裡只設定乙個值,代表四個角的取值都為為50 原理 border radius 50 彎曲元素的邊框...