/* * Triangle.cpp * * Created on: Apr 10, 2019 * Author: johnsontimoj */ #include "Triangle.h" #include #define PI 3.14159265 Triangle::Triangle() : Polygon(){ set_num_vertices(3); } Triangle::Triangle(double l1, double a12, double l2) : Polygon() { set_num_vertices(3); setTriSAS(l1, a12, l2); } Triangle::Triangle(string id, double l1, double a12, double l2) : Polygon(id) { set_num_vertices(3); setTriSAS(l1, a12, l2); } void Triangle::setTriSAS(double l1, double a12, double l2){ set_s1(l1); set_s2(l2); set_a12(a12); } void Triangle::set_s1(double s){ side_1_length = s; calc_side3(); calc_a23(); calc_a31(); } void Triangle::set_s2(double s){ side_2_length = s; calc_side3(); calc_a23(); calc_a31(); } void Triangle::set_a12(double a){ angle_12 = a; side_3_length = calc_side3(); angle_23 = calc_a23(); angle_31 = calc_a31(); } double Triangle::get_s1(void){ return side_1_length; } double Triangle::get_s2(void){ return side_2_length; } double Triangle::get_s3(void){ return side_3_length; } double Triangle::get_a12(void){ return angle_12; } double Triangle::get_a23(void){ return angle_23; } double Triangle::get_a31(void){ return angle_31; } double Triangle::calc_side3(void){ return sqrt(get_s1()*get_s1() + get_s2()*get_s2() - 2*get_s1()*get_s2()*cos(PI*get_a12()/180.0)); } double Triangle::calc_a23(void){ return (360/(2*PI))*asin(get_s1()*sin(PI*get_a12()/180.0)/get_s3()); } double Triangle::calc_a31(void){ return (360/(2*PI))*asin(get_s2()*sin(PI*get_a12()/180.0)/get_s3()); } double Triangle::calc_perimeter(void){ return get_s1() + get_s2() + get_s3(); } double Triangle::get_line_color(void){ // redefined return line_color * 2; }