計算のバウンディングポイントは、"パイセグメント"、"サブ地域"

StackOverflow https://stackoverflow.com/questions/931807

  •  06-09-2019
  •  | 
  •  

質問

背景:

また最近では遊びGDI+を描く"ディスク"を表示する広色の変化を360°になります。いて掘り下げたもHSL RGBコードがループを通じてHSL(1,1,1)->HSL(360,1,1))

に関するディスク、初めて描いた全固体円上記のように記述して第二の丸グレーのセンターを以下の

alt text

ここがすべて。--------ものを実感しているGDI+は絶縁から多くのトリッキーと一致するちの FillPie 方法。また、 FillPie する必要がある供給の境界の矩形のパイといった半径の長さです。でもフルセグメントに記入、作品を指定できるセグメントです。

質問

誰でもできるのでも方向に一部の演算機能は、何の説明もうforumlaっていなければいけないと考えて計算、エプロットポイントは以下の"グリーン入りエリア"を与え:

Point `c` - an x,y co-ordinate
Angle `A` - an angle from horizontal
Angle `B  - an angle from horizontal where `B` - `A` == the sweep angle
Length `r` - a distance from `c`
Length `r2` - a distance from `c` where `r2` - `r` == the `height` of the segment to be filled.

alt text

リンク数学の源や豪雨で、地滑りや洪水などがかっgoogle&見駆数学とは何かいっぱいになりました。ものがあった場合、一部に生成するような配列のバウンディング(x,y)の共又はのこととして渡される Point[] るグラフィー。FillPolygonと思る。

役に立ちましたか?

解決

本地区の外側と内側のディスク部品です。のディスク部分に比例した角度を掃引:

area = (b-a)*((r+r2)^2-r^2)/2

ab けラジアン.のための b-a = 2*Pi, area = Pi*(r+r2)^2 - Pi*r^2 の差の領域の外側と内側のディスク

形を生成することができますの内側/外側の輪を使用

x = cx + r * cos(t)     /     x = cx + (r+r2) * cos(t)
y = cy + r * sin(t)     /     y = cy + (r+r2) * sin(t)

場所 t によって異な ab.

他のヒント

武器agiは、dexで下がらないboxerぐ.第二部の提供方法の算定のセクターの円

http://www.wikihow.com/Calculate-the-Area-of-a-Circle

のセンサーによるダブルチェックの角の弧(ラジアン)の距離です。あなたのミドリの輪をひろげようでは明らかに:

(B-A) * r2

必要なバレンタインデーに好きなこの擬似コード):

for aa from A to B
  set color to required color // you could use aa in an equation with HSL to get something like your sample
  x1=r*cos(aa)+x
  y1=r*sin(aa)+y
  x2=r1*cos(aa)+x
  y2=r1*sin(aa)+y
  draw line between (x1,y1) and (x2,y2)

小型などが増える角度は、十分な半径はこのフィールOKです。

点を探っていると言っても過言ではあり(x1,y1)と点(x2,y2)までの各角度aa

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top