2本の線の間に円弧を描きます。私は、私は2つのラインの間にARCを描画する方法を見つけることができません
ポイントを計算する必要があります。私の制約は:私はこの弧のストロークポイントを計算する必要があります。私はInkCanvasを使用しており、この円弧をポイントごとに描画する必要があるため、スクリーンまたはキャンバスにオブジェクトを配置することはできません。ですから、私はPATHオブジェクトで任意の円弧を描き、ArcSegmentを使用することができます。このメソッドを使用すると、私は円弧を描くことができますが、それはキャンバス上のストロークポイントではありません。このため、私はそれを削除または保存することはできません。 とにかくこのアーチをポイントごとに計算する必要があります。
私はこのようなキャンバスに円を描くためのコードがあります。我々は、中心点を知っている
Stroke GetCircleStroke(int centerX, int centerY, int radiusX, int radiusY,double angletoDraw=2.0)
{
StylusPointCollection strokePoints = new StylusPointCollection();
int numTotalSteps = 180;
for (int i = 0; i <= numTotalSteps; i++)
{
double angle = angletoDraw * Math.PI * (double)i/(double)numTotalSteps;
StylusPoint sp = new StylusPoint();
//compute x and y points
sp.X = centerX + Math.Cos(angle) * radiusX;
sp.Y = centerY - Math.Sin(angle) * radiusY;
//add to the collection
strokePoints.Add(sp);
}
Stroke newStroke = new Stroke(strokePoints);
return newStroke;
}
私がイースリー円を描くことができますが、私は弧を描くための方法を見つけることができませんでした:(
をX、Y、我々
あなたがこの方法のように計算アーク・ポイントのために私を助けていただけません..私はちょうどそのアークが何であるかを知らない。ライン1と回線2の座標を知っている?
あなたは良い思想家でなければなりません、ありがとうございます。要点は:**問題を消化しやすい小さな部分に分解しようとします。** – wikiCan