Comment puis-je trouver l'équation d'une ligne ou tracer une ligne, étant donné un point de départ, une longueur de ligne et un angle de ligne (par rapport à l'axe des x)?
Une équation d'une ligne est comme:
m*x + n = y
m peut être calculé par angle; m = tan(angle)
Et si vous connaissez un point de départ, vous pouvez trouver n.
tan(angle) * startPoint_X + n = startPoint_Y
Donc n = startPoint_Y - (tan ( angle) * startPoint_X )
Si vous voulez dessiner un segment de ligne et que vous connaissez la longueur, le point de départ et l'angle, il y aura deux équations.
Le premier est m*x + n = y
(Nous l'avons résolu).
Et cela signifie m*(endPoint_X) + n = endPoint_Y
La seconde consiste à trouver le point final.
length^2 = (endPoint_X - startPoint_X)^2 + (endPoint_Y - startPoint_Y)^2
Il n'y a que deux choses que nous ne savons toujours pas: endPoint_x & endPoint_Y Si nous réécrivons l'équation:
length^2 = (endPoint_X - startPoint_X)^2 + ( m*(endPoint_X) + n - startPoint_Y)^2
maintenant nous savons tout sauf endPoint_X. Cette équation nous donnera deux solutions pour endPoint_X. Ensuite, vous pouvez trouver deux ednPoint_Y différents.
Point de départ que vous connaissez (x1, x2)
, le point final est (x1 + l * cos(ang), y1 + l * sin(ang))
où l
est la longueur et ang
est l'angle.
Appelons le point de départ (x1, y1)
L'autre extrémité de la ligne (x2, y2)
.
Ensuite, si l'on vous donne une longueur [L] et un angle par rapport à l'axe x [a]:
x2 = x1 + (L * cos(a))
y2 = y1 + (L * sin(a))
Si l'angle est à partir de l'axe y - échangez le cos et le sin.
Tracez votre ligne de (x1,y1)
à (x2, y2)
.
Vous pouvez trouver une ambiguïté quant à la direction dans laquelle vous souhaitez que la ligne aille, vous devez faire attention à la façon dont vous définissez votre angle.
Il y a en fait deux questions différentes: une dans le titre, une autre dans le corps.
Commençons par répondre à la question du titre:
Équation de ligne
L'équation d'une ligne est
y = a*x + b
où a
est une tangente d'un angle entre une ligne et l'axe X, et b
est une élévation de la ligne tracée à travers (0, 0).
Équation de la ligne avec un angle et un point
Vous pouvez facilement calculer a
(puisque vous connaissez l'angle), mais vous ne connaissez pas b
. Mais vous savez aussi x0
et y0
, afin que vous puissiez facilement calculer b
:
b = y0 - a*x0
Maintenant, l'équation ressemble à ceci:
y = tan(fi)*x + y0 - tan(fi)*x0 = tan(fi)*(x - x0) + y0
Dessinez un segment donné point, angle, longueur
Nous voulons dessiner un segment à partir du point de départ afin que sa longueur soit L et l'angle par rapport à l'axe x soit fi.
C'est un problème totalement différent.
Vous devriez imaginer un triangle rectangle dont l'angle aigu est positionné à (x0, y0).
Vous connaissez Hypotenusa (L) et un angle (fi).
Par définition,
a = L*cos(fi) (adjacent, x)
b = L*sin(fi) (opposite, y)
Il vous suffit d'ajouter x0 et y0:
x1 = x0 + L*cos(fi)
y1 = y0 + L*sin(fi)
Vous voudrez le dessiner de (0, 0)
À (x_length, tan(angle)*x_length)
. Le gradient sera tan(angle)
. Vous pouvez ajuster cela pour un point de départ différent en soustrayant tout de ce point de départ.