Сообщение от IZUM
			 
		
	 | 
	| 
		1.	Если, построить ломанную линию (см.рис.1)  способом построения геометрической фигуры, то , видимо, нельзя будет определить значения хc и yc в любой точке ломанной линии и площади фигуры под ломанной линией на любом отрезке  xn…xk (см. рис.2)
	 | 
	
Этo элементарная математическая задача и сейчас как программист (в математике я не очень) я попытаюсь её решить.
Дан треугольник с длиной основания 8 пунктов.
Вершина треугольника находится в пункте 5 на высоте 2.24 пункта.
Опишем его переменными:
Ax = 0, Bx = 8
Cx = 5, Cy = 2.24
По сути, мы имеем тут два прямоугольных треугольника:
Ax = 0, Cx = 5, Cy = 2.24	// левый треугольник
Cx = 5, Bx = 8, Cy = 2.24	// правый прямоугольник
Так как из двух одинаковых прямоугольников можем получить прямоугольник, находим их площади через площади прямоугольников с делением пополам.
Находим площадь:
S_left_rect = (Cx - Ax) * Cy	// площадь левого прямоугольника
S_right_rect = (Bx - Cx) * Cy
S_left_triangle = S_left_rect / 2	// площадь левого треугольника AxCxCy
S_right_triangle = S_right_rect / 2	// площадь правого треугольника CxBxCy
S_triangle = S_left_triangle + S_right_triangle	// площадь целого треугольника AxBxCy
Теперь нужно узнать площадь заштрихованной области xn,yn,xk,yk.
Опишем переменными:
xn = 3	// начало штриховки
xk = 6	// конец штриховки
yn = ??? // нужно найти
yk = ??? // нужно найти
Используя метод вычислительного построения линии, находим yn:
delta_x = Cx - Ax	// длина отрезка AxCx (5 пунктов)
yn = (xn - Ax) / delta_x * Cy	// (3 - 0) / 5 * 2.24 = 1.344
Используя метод вычислительного построения линии, находим yk:
delta_x = Bx - Cx	// длина отрезка CxBx (3 пункта)
yk = (Bx - xk) / delta_x * Cy	// (8 - 6) / 3 * 2.24 = 1.493
Теперь мы имеем:
xn = 3	// начало штриховки
xk = 6	// конец штриховки
yn = 1.344 // минимальная высота начала штриховки
yk = 1.493 // минимальная высота конца штриховки
Для начала нужно разобраться, что мы видим под этой штриховкой вообще:
Прямоугольник №1: xn,Cx,yn
Прямоугольник №2: Cx,xk,yk
Прямоугольный треугольник №1: xn,yn,Cy
Прямоугольный треугольник №2: Cx,xk,Cy
Площадь будем искать подобным методом: Через вычитание суммы площадей двух нештрихованных треугольников над заштрихованной областью.
Находим площадь незаштрихованных треугольников и вычитаем её из общей площади:
S_left_rect = (Cx - xn) * Cy	// Прямоугольник xnCxCy: (5 - 3) * 2.24 = 4.48
S_right_rect = (xk - Cx) * Cy	// Прямоугольник xkCxCy: (6 - 5) * 2.24 = 2.24
S_left_triangle = (Cx - xn) * (Cy - yn) / 2	// Треугольник ynCxCy: (5 - 3) * (2.24 - 1.344) / 2 = 0.896
S_right_triangle = (xk - Cx) * (Cy - yk) / 2	// Треугольник xkCxCy: (6 - 5) * (2.24 - 1.493) / 2 = 0.3735
Теперь складываем площади двух нижних заштрихованных прямоугольников с площадами треугольников над ними:
S_hatching = S_left_rect + S_left_triangle + S_right_rect + S_right_triangle	// 7.9895
Как видно, всё не так уж сложно и требует неких навыков программисткого мышления.
	
	
		
			Сообщение от IZUM
			 
		
	 | 
	| 
		2.	В точках X: 8, 13, 19, 27, 33. Надо построить ромбы, в точках Х: 5, 10, 16, 21, 30. надо построить окружности (не эллипсы). Методом копирования. Приведённые выше числовые данные могут быть произвольными значениями. Хорошо бы было, если были бы удалены теги (строки) относящиеся к остальным графикам и оставлено в коде только то, что относится к графику ломанной линии, ромбов и окружностей. Прошу помочь, так как, мне это точно не осилить….
	 | 
	
А здесь Вы идёте неверным путём!
Так как нужно всего навсего строить ломанную по координатам из массива, на оси X отмечать начало очередной линии, а вот ромбики нужно чертить в точке прохождения линий через нулевую отметку на Y.
Запустите 
gist: Я добавил отрисовку ломанной по массиву с ромбиками и кружочками.
Вoт 
здесь я разместил простой скрипт со всеми нужными формулами расчёта площади фигуры под ломанной линией на любом отрезке (в пределах одного треугольника).
(
Расчёт площади по ломанной на отрезке со смежными треугольниками требует простого сложения таких площадей с нехитрой эвристикой…)