簡単な質問:SVGパスを使用すると、99.99%の円を描画して表示できますが、99.99999999%の円の場合、円は表示されません。どうすれば修正できますか?
次のSVGパスは99.99%の円を描くことができます:(http://jsfiddle.net/DFhUF/1381/で試して、4つのアークまたは2つのアークしか表示されないか確認してください。ただし、IEの場合は、 SVGではなくVMLでレンダリングされますが、同様の問題があります)
M 100 100 a 50 50 0 1 0 0.00001 0
しかし、それが円の99.99999999%の場合、何も表示されません。
M 100 100 a 50 50 0 1 0 0.00000001 0
そして、それは円の100%と同じです(それはまだ弧です、そうではありません、非常に完全な弧です)
M 100 100 a 50 50 0 1 0 0 0
どうすれば修正できますか?その理由は、関数を使用して円弧のパーセンテージを描画することです。円関数を使用するために99.9999%または100%の円弧を「特殊なケース」で使用する必要がある場合、それはちょっとばかげているでしょう。
ここでも、RaphaelJSを使用したjsfiddleのテストケースはhttp://jsfiddle.net/DFhUF/1381/にあります
(IE 8のVMLの場合、2番目のサークルも表示されません...に変更する必要があります) 0.01)
更新:
これは、システムでスコアの弧を描画しているため、3.3ポイントで円の1/3が得られるためです。0.5は円の半分を取得し、9.9ポイントは円の99%を取得します。しかし、システムに9.99のスコアがある場合はどうなりますか?円の99.999%に近いかどうかを確認しarc
、circle
それに応じて関数または関数を使用する必要がありますか?では、9.9987のスコアはどうでしょうか。どちらを使用しますか?どのようなスコアが「完全すぎる円」にマッピングされ、円関数に切り替わるかを知る必要があるのはばかげています。円の「特定の99.9%」または9.9987のスコアの場合は、円弧関数を使用します。 。