zoukankan      html  css  js  c++  java
  • 线段的平移

    这几天在学习计算机图形学,做了一个线段的平移,具体说应该是线段的复制。

    这段代码输出的只有原先自己画的直线,并没有显示平移后的直线:

     1 #include "graphics.h"
     2 #include "stdio.h"
     3 void main()
     4 {
     5   int gdriver,gmode;
     6   int i,j,k;
     7   int a[2][3]={{10,10,1},{200,200,1}};
     8   int b[3][3]={{1,0,0},{0,1,0},{100,200,1}};
     9   int c[2][3]={0};
    10   //矩阵乘法
    11   for(i=0;i<2;i++)
    12     for(j=0;j<3;j++)
    13       for(k=0;k<3;k++)
    14       {
    15         c[i][j]+=a[i][k]*b[k][j];
    16       }
    17 
    18   /*for(i=0;i<2;i++)
    19   {
    20     for(j=0;j<3;j++)
    21       printf("%d ",c[i][j]);
    22     printf("\n");
    23   }*/
    24   gdriver=DETECT;
    25   initgraph(&gdriver,&gmode,"D:\\Program Files\\Win-TC\\projects");
    26   line(10,10,200,200);
    27   setcolor(12);
    28   getch();
    29   line(c[0][0],c[0][1],c[1][0],c[1][1]);
    30   getch();
    31   closegraph();
    32 }

    起初,把矩阵乘法写在initgraph()函数之前了,没有得到想要的结果,我觉得是文本模式被图形模式覆盖了,所以看不到变换后的矩阵输出了。而把矩阵乘法写到initgraph()函数之后,结果就是我要实现的了。正确代码:(把注释的文字删去,否则,有可能编译会出错)使用的是Win-TC编译器

     1 #include "graphics.h"
     2 #include "stdio.h"
     3 void main()
     4 {
     5   int gdriver,gmode;
     6   int i,j,k;
     7   int a[2][3]={{10,10,1},{200,200,1}};
     8   int b[3][3]={{1,0,0},{0,1,0},{100,200,1}};
     9   int c[2][3]={0};
    10   gdriver=DETECT;
    11   initgraph(&gdriver,&gmode,"D:\\Program Files\\Win-TC\\projects");
    12   //矩阵乘法
    13   for(i=0;i<2;i++)
    14     for(j=0;j<3;j++)
    15       for(k=0;k<3;k++)
    16       {
    17         c[i][j]+=a[i][k]*b[k][j];
    18       }
    19 
    20   /*for(i=0;i<2;i++)
    21   {
    22     for(j=0;j<3;j++)
    23       printf("%d ",c[i][j]);
    24     printf("\n");
    25   }*/
    26   line(10,10,200,200);
    27   setcolor(12);
    28   getch();
    29   line(c[0][0],c[0][1],c[1][0],c[1][1]);
    30   getch();
    31   closegraph();
    32 }
  • 相关阅读:
    Uva1595 对称轴
    Uva712 S树
    Uva673 平衡的括号
    leetcode102 二叉树的层次遍历
    Uva10191 复合词
    C++ multimap的用法
    Uva1103 古代象形符号
    UVa10763 交换学生
    C++ 优先级队列 priority_queue
    ios,zepto穿透解决方案
  • 原文地址:https://www.cnblogs.com/gkfeng/p/2729436.html
Copyright © 2011-2022 走看看