В треугольной призме провести сечение, проходящее через диагональ нижнего основания - Pascal ABC
Формулировка задачи:
В треугольной призме построить сечение, проходящее через одну из сторон нижнего основания и противолежащую вершину верхнего может кто подскажет,как ее решить?? пожаалуйста
Решение задачи: «В треугольной призме провести сечение, проходящее через диагональ нижнего основания»
textual
Листинг программы
uses graphABC,PointRect; var x,y:integer; p1,p2,p3:array[1..4] of point; begin x:=windowwidth div 2; y:=3*windowheight div 4; //нижнее основание p1[1].x:=x-100; p1[1].y:=y; p1[2].x:=x+100; p1[2].y:=y-50; p1[3].x:=x+50; p1[3].y:=y+20; line(p1[2].x,p1[2].y,p1[3].x,p1[3].y); line(p1[3].x,p1[3].y,p1[1].x,p1[1].y); //скрытую линию пунктиром setpenstyle(psDash); line(p1[1].x,p1[1].y,p1[2].x,p1[2].y); setpenstyle(psSolid); //верхнее основание p2[1].x:=p1[1].x+50; p2[1].y:=p1[1].y-200; p2[2].x:=p1[2].x+50; p2[2].y:=p1[2].y-200; p2[3].x:=p1[3].x+50; p2[3].y:=p1[3].y-200; p2[4]:=p2[1]; polygon(p2,4); //боковые ребра line(p1[1].x,p1[1].y,p2[1].x,p2[1].y); line(p1[2].x,p1[2].y,p2[2].x,p2[2].y); line(p1[3].x,p1[3].y,p2[3].x,p2[3].y); //сечение setpencolor(clBlue); setbrushcolor(clBlue); setbrushstyle(bsFDiagonal); p3[1].x:=p1[1].x; p3[1].y:=p1[1].y; p3[2].x:=p2[2].x; p3[2].y:=p2[2].y; p3[3].x:=p1[3].x; p3[3].y:=p1[3].y; p3[4]:=p3[1]; polygon(p3,4); end.
Объяснение кода листинга программы
- Создается переменная x и присваивается ей значение windowwidth, разделенное на 2.
- Создается переменная y и присваивается ей значение 3*(windowheight div 4), то есть 3/4 от высоты окна, умноженное на 4.
- Создается массив p1, содержащий 4 точки. Первая точка устанавливается в координаты (x-100, y), вторая - (x+100, y-50), третья - (x+50, y+20), четвертая - та же первая точка.
- Строится линия от второй до третьей точки, затем от третьей до первой.
- Устанавливается стиль линии на psDash, затем строятся две линии: от первой до второй точки и от второй до третьей.
- Создается массив p2, аналогичный массиву p1, но с другими координатами точек.
- Строятся боковые ребра треугольника: от первой точки второго основания к второй и от второй к третьей, а также от третьей к первой.
- Строится верхнее основание треугольника: от второй точки первого основания к третьей и от третьей к второй.
- Строится скрытая линия пунктиром между точками первого и второго основания.
- Строится сечение треугольника: от первой точки первого основания к третьей и от третьей к первой.
- Устанавливается цвет кисти на clBlue, то есть синий.
- Устанавливается стиль кисти на bsFDiagonal, то есть FDiagonal (диагональный).
- Создается массив p3, аналогичный массиву p1, но с другими координатами точек.
- Строится полигон с четырьмя вершинами, соответствующими точкам массива p3.
- Задается цвет кисти на clBlue.
- Задается стиль кисти на bsFDiagonal.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д