Trait, courbe, ligne, points tillés, etc...
Publié : mer. 24/juin/2015 8:42
Salut
J'aimerai trouver la position d'un point C(x,y) par rapport à deux point A et B et à une distance.
Par exemple, si j'ai :
A (10,10)
B (25,10)
et distance = 10
Je voudrais obtenir C(20,10).
Là, c'est facile, car y ne change pas.
Mais ça se complique avec des x et des Y qui ne sont pas identiques ^^.
Pour trouver la distance, j'utilise cette formule :
La chose qui me manque c'est de trouver les coordonnées du nouveau point C (qui remplacera donc le B).
Si c'est le milieu, c'est facile, c'est C((x1+x2)/2,(y1+y2)/2)
Je pense qu'il doit y avoir un rapport avec pi, mais je n'arrive pas à remettre la main sur cette formule ^^
Savez-vous comment je peux trouver ce point C(x,y) ?
EDIT : j'ai changé le titre pour que ce soit plus général.
L'idée c'est que j'essaie de trouver le moyen d'obtenir un joli trait, comme ce qu'on obtiens en dessinant dans photoshop, par exemple. Donc avec :
- la possibilité de gérer un espacement régulier entre les points
- une courbe lissée (bézier ?)
- un trait avec antialiasing, même si l'épaisseur est de 1 pixel
J'aimerai trouver la position d'un point C(x,y) par rapport à deux point A et B et à une distance.
Par exemple, si j'ai :
A (10,10)
B (25,10)
et distance = 10
Je voudrais obtenir C(20,10).
Là, c'est facile, car y ne change pas.
Mais ça se complique avec des x et des Y qui ne sont pas identiques ^^.
Pour trouver la distance, j'utilise cette formule :
Code : Tout sélectionner
Int(Sqr((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)))
La chose qui me manque c'est de trouver les coordonnées du nouveau point C (qui remplacera donc le B).
Si c'est le milieu, c'est facile, c'est C((x1+x2)/2,(y1+y2)/2)
Je pense qu'il doit y avoir un rapport avec pi, mais je n'arrive pas à remettre la main sur cette formule ^^
Savez-vous comment je peux trouver ce point C(x,y) ?
EDIT : j'ai changé le titre pour que ce soit plus général.
L'idée c'est que j'essaie de trouver le moyen d'obtenir un joli trait, comme ce qu'on obtiens en dessinant dans photoshop, par exemple. Donc avec :
- la possibilité de gérer un espacement régulier entre les points
- une courbe lissée (bézier ?)
- un trait avec antialiasing, même si l'épaisseur est de 1 pixel