Dibujar línea

26/09/2006 - 20:07 por alberto | Informe spam
A partir de un punto dado, tengo que dibujar una línea recta de una longitud
determinada medida en píxeles.

El problema es que el método DrawLine me pide dos puntos y los datos que
tengo son los siguientes:

1) Coordenadas del punto origen
2) Longitud de la recta
3) Ángulo de inclinación. Por ejemplo, si el ángulo es 90, tendré que
dibujar una línea recta hacia arriba desde el origen.

Entiendo que se trata de un problema de matemáticas más que de C# pero no sé
cómo resolverlo. Hay que averiguar las coordenadas del segundo punto a
partir del ángulo y de la longitud de la recta.

Muchas gracias

Preguntas similare

Leer las respuestas

#6 Harvey Triana
28/09/2006 - 23:13 | Informe spam
Iba a decir lo mismo...
(xo, yo, xo+r * Math.Cos(a), yo+y * Math.Sin(y))



"alberto" escribió en el mensaje
news:
Perdón. Me acabo de dar cuenta que en las coordenadas polares se mide el
punto final desde el origen. Hay que sumarle las coordenadas del punto
origen para que salga bien.

Gracias en cualquier caso.

"alberto" escribió en el mensaje
news:
Esta implementación me parece más sencilla pero me da problemas a la hora
de codificarla.

Por ejemplo, intento dibujar a partir de las coordenadas (300, 300) una
línea de longitud 10 con una inclinación de 45 grados. Después de
efectuar los cálculos, me sale que el punto final está en (7, 7).

El código es el siguiente:

...
int x = Convert.ToInt32(10 * Math.Cos( (45*Math.PI) /180 );
int y = Convert.ToInt32(10 * Math.Sin ( (45*Math.PI) /180 );

Point p1 = new Point (300, 300);
Point p2 = new Point (x, y);

g.DrawLine(pen, p1, p2);


Gracias por la ayuda.

"Harvey Triana" escribió en el mensaje
news:%
Cordenadas polares a cartesianas.

Si no estoy mal, debe ser:
(xo, yo, r * Math.Cos(a), y * Math.Sin(y))

xo, yo = Origen
r = Radio
a = Angulo en radianes

<Harvey Triana />

"alberto" escribió en el mensaje
news:
A partir de un punto dado, tengo que dibujar una línea recta de una
longitud determinada medida en píxeles.

El problema es que el método DrawLine me pide dos puntos y los datos
que tengo son los siguientes:

1) Coordenadas del punto origen
2) Longitud de la recta
3) Ángulo de inclinación. Por ejemplo, si el ángulo es 90, tendré que
dibujar una línea recta hacia arriba desde el origen.

Entiendo que se trata de un problema de matemáticas más que de C# pero
no sé cómo resolverlo. Hay que averiguar las coordenadas del segundo
punto a partir del ángulo y de la longitud de la recta.

Muchas gracias













email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida