web-dev-qa-db-fra.com

Équation de ligne avec angle

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)?

25
Zinx

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.

9
H2O

Point de départ que vous connaissez (x1, x2), le point final est (x1 + l * cos(ang), y1 + l * sin(ang))l est la longueur et ang est l'angle.

36
Artelius

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.

18
morechilli

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

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)
3
Vanuan

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.

1
Peter