27 for(
int i=0;i<1032;i++){
40 cout<<
"test_DrawPlane\n";
43 float data[]={20,0,70,28,10,20};
44 矩阵* 多边形顶点=
new 矩阵(3,2,data,1);
58 矩阵*
img =
new 矩阵(50,70,(
float)0);
67 cout<<
"求两个点所在直线:"<<endl;
68 矩阵 两个点=*(
new 矩阵(2,2,(
float)0));
74 线 line = *(
new 线(0,0));
87 矩阵 两个点1=*(
new 矩阵(2,2,(
float)0));
94 矩阵 两个点2=*(
new 矩阵(2,2,(
float)0));
104 矩阵* 交点1=线1.
线段交点(两个点1, 两个点2,&被替换的序号);
107 cout<<
"线段1的第几个点可用交点代替:";
110 矩阵 两个点3=*(
new 矩阵(2,2,(
float)0));
118 矩阵* 交点2=线1.
线段交点(两个点1, 两个点3,&被替换的序号2);
121 cout<<
"线段1的第几个点可用交点代替:";
124 矩阵* 两个交点=交点1->
r_(交点1,交点2);
131 float data[]={0,0,1,0.5,0.7,0,2,10,20,20};
132 矩阵* 阵=
new 矩阵(3,3,data,1);
138 cout<<*((*单位)[
"0,:"]->点积(*((*单位)[
"0,:"])));
139 cout<<*((*单位)[
"0,:"]->点积(*((*单位)[
"1,:"])));
140 cout<<*((*单位)[
"0,:"]->点积(*((*单位)[
"2,:"])));
144 float data_116[]={142.0685,203.69131,134.71452,204.39499,150.5,211.46643};
148 cout<<
"多边形顶点->和:"<<endl;
152 cout<<
"多边形顶点->和:"<<endl;
156 cout<<
"多边形顶点->和:"<<endl;
161 float data[]={20,0,70,28,10,20};
162 矩阵* 多边形顶点=
new 矩阵(3,2,data,1);
164 cout<<
"多边形顶点->minmax();"<<endl;
167 cout<<
"多边形顶点->minmax(0);"<<endl;
170 cout<<
"多边形顶点->minmax(1);"<<endl;
174 cout<<
"多边形顶点->minmax(2);"<<endl;
183 矩阵 m = *(
new 矩阵(5,0));
186 矩阵 两个点=*(
new 矩阵(5,5,(
float)0));
187 矩阵 两个点1=*(
new 矩阵(5,5,(
float)2));
195 cout<<
"两个矩阵相加"<<endl;
202 cout<<
"两个矩阵相减"<<endl;
208 cout<<
"两个矩阵相乘"<<endl;
214 cout<<
"两个矩阵相除"<<endl;
223 矩阵 m = *(
new 矩阵(5,0));
226 矩阵 两个点=*(
new 矩阵(50,50,(
float)0));
235 cout<<*(两个点[
"0:2,:"])<<endl;
236 cout<<*(两个点.
行(0,2))<<endl;
238 cout<<
"第47,48,49行"<<endl;
240 cout<<*(两个点[
"47:50,:"])<<endl;
245 cout<<*(两个点[
":,0:2"])<<endl;
246 cout<<*(两个点.
列(0,2))<<endl;
248 cout<<
"第47,48,49列"<<endl;
249 cout<<*(两个点[
":,47:50"])<<endl;
252 cout<<
"输出1,49,48,2,0行"<<endl;
253 cout<<*(两个点.
行们(5,1,49,48,2,0));
254 cout<<
"输出1,49,48,2,0列"<<endl;
255 cout<<*(两个点.
列们(5,1,49,48,2,0));
257 cout<<
"输出1,49,48,2,0行的第1,49,48,2,0列"<<endl;
258 cout<<*((两个点.
行们(5,1,49,48,2,0))->列们(5,1,49,48,2,0));
262 cout<<*(两个点.
转置())<<endl;
265 矩阵* 矩阵1=
new 矩阵(3,1,(
float)0);
266 矩阵* 矩阵2=
new 矩阵(3,1,(
float)2);
267 矩阵* 矩阵3=矩阵1->
c_(矩阵1,矩阵2);
273 矩阵* 矩阵1=
new 矩阵(3,1,(
float)0);
274 矩阵* 矩阵2=
new 矩阵(3,1,(
float)2);
275 矩阵* 矩阵3=矩阵1->
r_(矩阵1,矩阵2);
280 矩阵* 矩阵4=
new 矩阵(4,2,(
float)0);
281 矩阵* 矩阵5=
new 矩阵(3,1,(
float)2);
282 矩阵* 矩阵6=矩阵4->
r_(矩阵4,矩阵5);
290 矩阵 m = *(
new 矩阵(5,0));
293 矩阵 两个点=*(
new 矩阵(2,2,(
float)0));
298 cout<<两个点.
取(1,1)<<endl;
301 cout<<*(两个点[
"1,1"])<<endl;
304 cout<<
"第0行,第1行"<<endl;
305 cout<<*(两个点[
"0,:"])<<endl;
306 cout<<*(两个点[
"1,:"])<<endl;
308 cout<<
"第0列,第1列"<<endl;
309 cout<<*(两个点[
":,0"])<<endl;
310 cout<<*(两个点[
":,1"])<<endl;
315 cout<<
"输出矩阵:两个点"<<endl;
318 cout<<
"第0行-第1行:"<<endl;
319 矩阵 果减=*(两个点[
"0,:"])-*(两个点[
"1,:"]);
322 cout<<
"第0列-第1列:"<<endl;
323 矩阵 果减1=*(两个点[
":,0"])-*(两个点[
":,1"]);
void test_DrawPlane(矩阵 *img)
void test_FillPology(void)
int draw_plane_index(int plane_index=0)
void fill_test()
测试FillPology是否建立成功,并可调用
矩阵 * get_select_pos_from_scan(矩阵 *左右扫描点)
使用光栅扫描法得到的左右点,计算多边形内点的坐标
矩阵 * fill_color(矩阵 *img, float *color)
利用光删扫描法得到的左右点,对多边形内部填充颜色
矩阵 * get_scan(void)
尝试光删扫描法,看会不会比矩阵求取法更快一些
基本的矩阵计算类,用于完成各种矩阵初始化、最大最小、取值、加减乘除、精度设置等矩阵计算
矩阵 * c_(矩阵 *矩阵1, 矩阵 *矩阵2)
矩阵 * r_(矩阵 *矩阵1, 矩阵 *矩阵2)
按行合并
矩阵 * minmax(void)
求矩阵中所有元素的最大值,最小值
矩阵 * 单位化(void)
对矩阵的每一行,进行单位化
矩阵 * 线段交点(矩阵 &线1的两个点, 矩阵 &线2的两个点, float *被替换的序号)