Домашние задания: Математика

Вычислить площадь треугольной рамки

Поясним подробнее то, как выглядит треугольная рамка. Ее изготовление происходит следующим образом: берется доска из красного дерева, имеющая форму треугольника со сторонами a, b и c. После этого стороны этого треугольника мысленно сдвигаются внутрь него на расстояние d (измеряемое по перпендикуляру к соответствующей стороне). На точках пересечения «сдвинутых» сторон строится маленький треугольник, который затем вырезается из исходного.
Maimun Saade
Maimun Saade
400
S треуг - S вырезанного треуг
Кто То Здесь Есть..
Кто То Здесь Есть..
99 986
Лучший ответ
Maimun Saade S вырезанного треуг = ?
В голову приходит только итерационный метод:
1. Находим площадь большого треугольника по формуле герона. Находим высоту к 1 стороне (красная линия). Строим подобный треугольник на расстоянии d от выбранной стороны (зеленый треугольник). Находим его стороны по подобию треугольников (h-d)/h.
Аналогично проделываем со второй стороной (желтая высота, зеленый треугольник) и с третьей стороной (синяя высота оранжевый треугольник) и в итоге получаем маленький черный треугольник. все стороны нам известны - по Герону найдем площадь. Отнимаем от исходной эту и получаем площадь рамки.

Вот не самый красивый код на MS SQL (что было под рукой), который наглядно показывает итерации
DECLARE @a float(53),
@b float(53),
@c float(53),
@d FLOAT(53),
@p float(53),
@s float(53),
@sOriginal float(53),
@hc float(53),
@hb float(53),
@ha float(53)

SELECT @a = 6.0, @b = 6.0, @d = 1
SET @c = SQRT(POWER(@a, 2) + POWER(@b, 2))
SELECT @a, @b, @c

SET @p = (@a + @b + @c) / 2
SET @s = SQRT(@p * (@p - @a) * (@p - @b) * (@p - @c))
SET @sOriginal = @s
SET @hc = @s / @c * 2

SELECT
@a = @a * (@hc - @d) / @hc,
@b = @b * (@hc - @d) / @hc,
@c = @c * (@hc - @d) / @hc

SELECT @a, @b, @c
---------------------------------
SET @p = (@a + @b + @c) / 2
SET @s = SQRT(@p * (@p - @a) * (@p - @b) * (@p - @c))
SET @hb = @s / @b * 2

SELECT
@a = @a * (@hb - @d) / @hb,
@b = @b * (@hb - @d) / @hb,
@c = @c * (@hb - @d) / @hb

SELECT @a, @b, @c
---------------------------------
SET @p = (@a + @b + @c) / 2
SET @s = SQRT(@p * (@p - @a) * (@p - @b) * (@p - @c))
SET @ha = @s / @a * 2

SELECT
@a = @a * (@ha - @d) / @ha,
@b = @b * (@ha - @d) / @ha,
@c = @c * (@ha - @d) / @ha

SELECT @a, @b, @c
SET @p = (@a + @b + @c) / 2
SET @s = SQRT(@p * (@p - @a) * (@p - @b) * (@p - @c))

SELECT @sOriginal - @s -- площадь рамки