私はその上に円をプロットしている raphael.js 形状を持っています。円がプロットされている形状の境界から外れていない場合にのみ、円を表示したいです。
これをより明確にするために、私が起こりたくないことの例を次に示します。
例 http://img682.imageshack.us/img682/4168/shapeh.png
灰色の領域の外側の円が表示されないようにしたい。円が灰色の形状の内側にあるか外側にあるかをどのように検出しますか?
私はその上に円をプロットしている raphael.js 形状を持っています。円がプロットされている形状の境界から外れていない場合にのみ、円を表示したいです。
これをより明確にするために、私が起こりたくないことの例を次に示します。
例 http://img682.imageshack.us/img682/4168/shapeh.png
灰色の領域の外側の円が表示されないようにしたい。円が灰色の形状の内側にあるか外側にあるかをどのように検出しますか?
ポイントが閉じたパス内にあるかどうかを判断する方法の 1 つは、次のとおりです。
私は raphael.js をまったく知らないので、それがあなたに役立つかどうかはわかりません。しかし、それは問題に対する有効な幾何学的アプローチです。
<g>
円を含むグループ(要素)にクリップパス(例では灰色の形状になるように定義する必要があります)を適用するだけです。
クリップパスの使用方法については、w3c SVG テストスイートのこの例を参照してください。
これは、「 Hit-testing SVG shape? 」と非常によく似ています。
円の位置で getIntersectionList() を呼び出すだけで、大きな灰色の形状が返されるかどうかを確認できます。