В треугольной призме провести сечение, проходящее через диагональ нижнего основания - 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.

Объяснение кода листинга программы

  1. Создается переменная x и присваивается ей значение windowwidth, разделенное на 2.
  2. Создается переменная y и присваивается ей значение 3*(windowheight div 4), то есть 3/4 от высоты окна, умноженное на 4.
  3. Создается массив p1, содержащий 4 точки. Первая точка устанавливается в координаты (x-100, y), вторая - (x+100, y-50), третья - (x+50, y+20), четвертая - та же первая точка.
  4. Строится линия от второй до третьей точки, затем от третьей до первой.
  5. Устанавливается стиль линии на psDash, затем строятся две линии: от первой до второй точки и от второй до третьей.
  6. Создается массив p2, аналогичный массиву p1, но с другими координатами точек.
  7. Строятся боковые ребра треугольника: от первой точки второго основания к второй и от второй к третьей, а также от третьей к первой.
  8. Строится верхнее основание треугольника: от второй точки первого основания к третьей и от третьей к второй.
  9. Строится скрытая линия пунктиром между точками первого и второго основания.
  10. Строится сечение треугольника: от первой точки первого основания к третьей и от третьей к первой.
  11. Устанавливается цвет кисти на clBlue, то есть синий.
  12. Устанавливается стиль кисти на bsFDiagonal, то есть FDiagonal (диагональный).
  13. Создается массив p3, аналогичный массиву p1, но с другими координатами точек.
  14. Строится полигон с четырьмя вершинами, соответствующими точкам массива p3.
  15. Задается цвет кисти на clBlue.
  16. Задается стиль кисти на bsFDiagonal.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.571 из 5
Похожие ответы