• https://me.yahoo.com
COST (GBP)
4.50
0.00
0

edge triangle

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

C++

Edge Triangle

 doubleedge_triangle( double a double b double c double h )[inline]
This module computes the area of the trapezium formed between a triangle with a fixed edge on a reference line and a line found at a given distance distance from this reference line.

This situation is described by the following image. The area which we want to compute is that of the filled trapezium $\inline&space;[BB_1C_1C]$.

Solution

Let $\inline&space;&space;\mathrm{xOy}$ be an orthogonal coordinate system and let $\inline&space;&space;\triangle&space;ABC$ be an arbitrary triangle so that $\inline&space;&space;BC&space;\subset&space;\mathrm{Ox}$ and
$BC&space;=&space;a&space;\qquad&space;AC&space;=&space;b&space;\qquad&space;AB&space;=&space;c$
where $\inline&space;&space;a,&space;b,&space;c&space;\in&space;\mathbb{R}_+^*$ are fixed numbers. Also let $\inline&space;&space;d&space;&space;\parallel&space;\mathrm{Ox}$ so that the distance between the line $\inline&space;&space;d$ and $\inline&space;&space;\mathrm{Ox}$ equals $\inline&space;&space;h&space;\in&space;\mathbb{R}_+$ and $\inline&space;&space;AB&space;\cap&space;d&space;=&space;\{B_1\}$, $\inline&space;&space;AC&space;\cap&space;d&space;=&space;\{C_1\}$.

Obviously $\inline&space;&space;\triangle&space;AB_1C_1&space;\sim&space;\triangle&space;ABC$ which implies:

$\frac{B_1C_1}{BC}&space;=&space;\frac{H&space;-&space;h}{H}&space;\qquad&space;\Rightarrow&space;\qquad&space;B_1C_1&space;=&space;a&space;\left(&space;1&space;-&space;\frac{h}{H}&space;\right&space;)$

where H is the height corresponding to vertex A.

Example 1

#include <codecogs/maths/geometry/area/edge_triangle.h>
#include <stdio.h>

int main()
{
// the lengths of the sides
double a = 3.3, b = 4.5, c = 5.4;

// display the lengths of the sides
printf("a = %.1lf\nb = %.1lf\nc = %.1lf\n\n", a, b, c);

// display the area for different values of h
for (double h = 0.1; h < 1.09; h += 0.1)
printf("h = %.1lf   Area = %.2lf\n", h,
Geometry::Area::edge_triangle(a, b, c, h));

return 0;
}

Output:
a = 3.3
b = 4.5
c = 5.4

h = 0.1   Area = 0.33
h = 0.2   Area = 0.65
h = 0.3   Area = 0.96
h = 0.4   Area = 1.26
h = 0.5   Area = 1.56
h = 0.6   Area = 1.85
h = 0.7   Area = 2.13
h = 0.8   Area = 2.40
h = 0.9   Area = 2.67
h = 1.0   Area = 2.93

Note

The values of the sides must satisfy the triangle inequality.

Parameters

 a first side of the triangle (BC) b second side of the triangle (AC) c third side of the triangle (AB) h the distance between line $\inline&space;d$ and $\inline&space;\mathrm{Ox}$

Returns

The value of the desired area.

Authors

Eduard Bentea (September 2006)
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

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