Dessine un arc entre deux lignes. Je dois calculer des points
Je ne trouve pas un moyen de dessiner ARC entre deux lignes. Ma contrainte est: Je dois calculer ces points de course d'arc. Comme j'utilise InkCanvas et que je dois dessiner cet arc point par point, je ne peux pas mettre d'objet sur l'écran ou sur le canevas. Donc, je sais que je peux dessiner n'importe quel arc avec l'objet PATH et utiliser ArcSegment. Avec cette méthode oui je peux dessiner l'arc mais ce n'est pas le point de coup sur la toile. Pour cette raison, je ne peux pas le supprimer ou le sauvegarder. De toute façon j'ai besoin de calculer cette arche point par point.
Je code cercle dessin sur toile comme ceci:
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;
}
je peux dessiner le cercle easly, mais je ne pouvais pas trouver un moyen de dessiner un arc :(
Nous savons point central X, Y et nous savons Ligne1 et les coordonnées Line2. Je ne sais pas ce que l'arc ..
Pourriez-vous s'il vous plaît me aider pour les points d'arc comme calculate cette façon?
Vous devez être un bon penseur, merci. Le point était: ** Essayons de décomposer le problème en parties plus petites qui sont plus faciles à digérer. ** – wikiCan