I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
MathsGeometryArea

free triangle

Computes the area of a triangle or a trapezium within a triangle with a fixed vertex.
Controller: CodeCogs

Private project under development, to help contact the author: Contact Controller

Interface

C++

Free Triangle

 
doublefree_triangledoublea
doubleb
doublec
doubleh
doublealpha )[inline]
This module computes the area of the triangle or trapezium formed between a triangle with a fixed vertex on a reference line and a line found at a given distance distance from this reference line.

The various cases are described by the images given in the following documentation, where the area which we want to compute is that of the filled shape.

Solution

Let \inline \mathrm{xOy} be an orthogonal coordinate system and let \inline \triangle ABC be an arbitrary triangle so that \inline A \in \mathrm{Ox} and where \inline a, b, c \in \mathbb{R}_+^* are fixed numbers.

Consider \inline \alpha = \angle CAX and \inline d \parallel \mathrm{Ox} so that the distance between the line d and \inline \mathrm{Ox} equals \inline h \in \mathbb{R}_+. Also let \inline d \cap AB = \{B_1\} and \inline d \cap AC = \{C_1\}.

We will first find the lengths of the projections of B and C on \inline \mathrm{Ox} because we can separate different cases based on these values. Let \inline d(B,\mathrm{Ox}) = h_b and \inline d(C,\mathrm{Ox}) = h_c. Since these values are independent of the relations set between them and h we can consider, without loss of generality, the following case: \inline h_b > h and \inline h_c > h.

MISSING IMAGE!

1/free_triangle01-746.jpg cannot be found in /users/1/free_triangle01-746.jpg. Please contact the submission author.

Purchase a Licence for more information.

Let S be the area which we must determine. Based on the values of \inline h_b, \inline h_c and \inline h, we find the following solutions:

1) \inline h_b \leq h, \inline  h_c \leq h \Rightarrow S = \mathcal{A}_{\triangle ABC}

MISSING IMAGE!

1/free_triangle_2-746.jpg cannot be found in /users/1/free_triangle_2-746.jpg. Please contact the submission author.

Purchase a Licence for more information.

2) \inline h_b \geq h, \inline  h_c \geq h \Rightarrow S = \mathcal{A}_{\triangle AB_1C_1}

MISSING IMAGE!

1/free_triangle_3-746.jpg cannot be found in /users/1/free_triangle_3-746.jpg. Please contact the submission author.

Purchase a Licence for more information.

3) \inline  h_b < h, \inline h_c > h\f \Rightarrow S = \mathcal{A}_{[ABB_1C_1]}

MISSING IMAGE!

1/free_triangle_4-746.jpg cannot be found in /users/1/free_triangle_4-746.jpg. Please contact the submission author.

Purchase a Licence for more information.

4) \inline  h_b > h, \inline  h_c < h\f \Rightarrow S = \mathcal{A}_{[ABB_1C_1]}

MISSING IMAGE!

1/free_triangle_5-746.jpg cannot be found in /users/1/free_triangle_5-746.jpg. Please contact the submission author.

Purchase a Licence for more information.

Output:
a = 2.613
b = 1.878
c = 1.209
alpha = 0.61086
 
h = 0.0   Area = 0.00
h = 0.3   Area = 0.14
h = 0.6   Area = 0.56
h = 0.9   Area = 0.97
h = 1.2   Area = 1.04
h = 1.5   Area = 1.04

Example 1

#include <codecogs/maths/geometry/area/free_triangle.h>
#include <stdio.h>
 
int main()
{
  // the lengths of the sides
  double a = 2.613, b = 1.878, c = 1.209;
 
  // the value of the alpha angle in radians
  double alpha = 0.61086;
 
  // display the lenghts of the sides and the alpha angle
  printf("a = %.3lf\nb = %.3lf\nc = %.3lf\nalpha = %.5lf \n\n", a, b, c, alpha);
 
  // display the area for different values of h
  for (double h = 0.0; h < 1.6; h += 0.3)
  printf("h = %.1lf   Area = %.2lf\n", h, 
  Geometry::Area::free_triangle(a, b, c, h, alpha));
 
  return 0;
}

Note

The vertices must be denoted such that the abscissa of \inline  B is less than that of \inline  C, i.e. as in the given examples.

Parameters

afirst side of the triangle (BC)
bsecond side of the triangle (AC)
cthird side of the triangle (AB)
hthe distance between line \inline  d and \inline  \mathrm{Ox}
alphathe input angle in radians

Returns

The value of the desired area.

Authors

Eduard Bentea (September 2006)
Source Code

This module is private, for owner's use only.

Not a member, then Register with CodeCogs. Already a Member, then Login.