Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: Triangulo.cs
- // Original en: http://goo.gl/Eygqtl
- //
- // Propósito: Representar la entidad Triangulo del modelo.
- //
- ============================================================*/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ElTriangulo.Modelo
- {
- /// <summary>
- /// Representa la entidad Triángulo.
- /// </summary>
- public class Triangulo
- {
- #region Campos
- /// <summary>
- /// Punto (o vértice) no. 1 del triángulo
- /// </summary>
- private Punto punto1;
- /// <summary>
- /// Punto (o vértice) no. 2 del triángulo.
- /// </summary>
- private Punto punto2;
- /// <summary>
- /// Punto (o vértice) no. 3 del triángulo.
- /// </summary>
- private Punto punto3;
- /// <summary>
- /// Color de las líneas del triángulo.
- /// </summary>
- private Color colorLineas;
- /// <summary>
- /// Color de relleno del triángulo.
- /// </summary>
- private Color colorRelleno;
- #endregion
- #region Propiedades
- /// <summary>
- /// Accede y recupera el punto (o vértice) 1 del triángulo.
- /// </summary>
- public Punto Punto1
- {
- get
- {
- return punto1;
- }
- set
- {
- punto1 = value;
- }
- }
- /// <summary>
- /// Accede y recupera el punto (o vértice) 2 del triángulo.
- /// </summary>
- public Punto Punto2
- {
- get
- {
- return punto2;
- }
- set
- {
- punto2 = value;
- }
- }
- /// <summary>
- /// Accede y recupera el punto (o vértice) 3 del triángulo.
- /// </summary>
- public Punto Punto3
- {
- get
- {
- return punto3;
- }
- set
- {
- punto3 = value;
- }
- }
- /// <summary>
- /// Accede y reupera el color de relleno del triángulo.
- /// </summary>
- public Color ColorRelleno
- {
- get
- {
- return colorRelleno;
- }
- set
- {
- colorRelleno = value;
- }
- }
- /// <summary>
- /// Accede y recupera el color de las líneas del triángulo.
- /// </summary>
- public Color ColorLineas
- {
- get
- {
- return colorLineas;
- }
- set
- {
- colorLineas = value;
- }
- }
- #endregion
- #region Constructores
- /// <summary>
- /// Construye un triángulo con tres puntos, color de relleno, y color de líneas.
- /// </summary>
- /// <param name="punto1">Punto 1 del triángulo.</param>
- /// <param name="punto2">Punto 2 del triángulo.</param>
- /// <param name="punto3">Punto 3 del triángulo.</param>
- /// <param name="relleno">Color de relleno del triángulo.</param>
- /// <param name="lineas">Color de las líneas del triángulo.</param>
- public Triangulo(Punto punto1, Punto punto2, Punto punto3, Color relleno, Color lineas)
- {
- this.punto1 = punto1;
- this.punto2 = punto2;
- this.Punto3 = punto3;
- this.colorRelleno = relleno;
- this.colorLineas = lineas;
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Calcula el perímetro del triángulo.
- /// </summary>
- /// <returns>El perímetro del triángulo.</returns>
- public double CalcularPerimetro()
- {
- return CalcularLado1() + CalcularLado2() + CalcularLado3();
- }
- /// <summary>
- /// Calcula el área del triángulo (en px^2).
- /// </summary>
- /// <returns>El área del triángulo en px^2.</returns>
- public double CalcularArea()
- {
- double s = CalcularPerimetro() / 2;
- double valorLado1 = s - CalcularLado1();
- double valorLado2 = s - CalcularLado2();
- double valorLado3 = s - CalcularLado3();
- return Math.Sqrt(s * valorLado1 * valorLado2 * valorLado3);
- }
- /// <summary>
- /// Calcula la altura del triángulo en px.
- /// </summary>
- /// <returns>La altura del triángulo.</returns>
- public double CalcularAltura()
- {
- return (CalcularArea() / CalcularLado1()) * 2;
- }
- /// <summary>
- /// Calcula la distancia del punto 1 al punto 2.
- /// </summary>
- /// <returns>Distancia del punto 1 al punto 2 (en px).</returns>
- private double CalcularLado1()
- {
- double x = Math.Pow(punto1.X - punto2.X, 2);
- double y = Math.Pow(punto1.Y - punto2.Y, 2);
- return Math.Sqrt(x + y);
- }
- /// <summary>
- /// Calcula la distancia del punto 2 al punto 3.
- /// </summary>
- /// <returns>Distancia del punto 2 al punto 3 (en px).</returns>
- private double CalcularLado2()
- {
- double x = Math.Pow(punto2.X - punto3.X, 2);
- double y = Math.Pow(punto2.Y - punto3.Y, 2);
- return Math.Sqrt(x + y);
- }
- /// <summary>
- /// Calcula la distancia del punto 3 al punto 1.
- /// </summary>
- /// <returns>Distancia del punto 3 al punto 1.</returns>
- private double CalcularLado3()
- {
- double x = Math.Pow(punto3.X - punto1.X, 2);
- double y = Math.Pow(punto3.Y - punto1.Y, 2);
- return Math.Sqrt(x + y);
- }
- #endregion
- #region Métodos de Extension
- /// <summary>
- /// Punto de extensión no. 1.
- /// </summary>
- /// <returns>Mensaje de respuesta.</returns>
- public string MetodoExtension1()
- {
- return "Respuesta 1";
- }
- /// <summary>
- /// Punto de extensión no. 2.
- /// </summary>
- /// <returns>Mensaje de respuesta.</returns>
- public string MetodoExtension2()
- {
- return "Respuesta 2";
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement