计算机图形学

在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的()A、S和P均在可见的一侧,则输出S和P.B、S和P均在不可见的一侧,则输出0个顶点.C、S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点.D、S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P.

题目

在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的()

  • A、S和P均在可见的一侧,则输出S和P.
  • B、S和P均在不可见的一侧,则输出0个顶点.
  • C、S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点.
  • D、S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P.
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:includemain(){char *p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf(

有以下程序: #include <stdlib.h> main() { char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf("%s%s",p,q); ptintf("%s%s\n",p,q); } 若从键盘输入abc def<回车>,则输出的结果是( )。

A.def def

B.abc def

C.abc d

D.d d


正确答案:A
解析:本题首先定义两个字符型指针变量p和q,通过malloc()函数申请20个字符的存储空间,并把它的首地址赋给p,再把p的值赋给小p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把abc读取到p指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把def存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区内容是def,故最后输出的def,def。4个选项中A正确。

第2题:

Sutherland-Hodgeman多边形裁剪(逐边裁剪)算法中,对于多边形的某条边(方向为从端点S到端点P)与裁剪窗口的某条边的比较结果共有以下四种情况,分别需输出一些点,请问哪种情况下输出的点是错误的()

A.S在裁剪边外侧而P在裁剪边内侧,则输出该边与裁剪边的交点I和P点

B.S与P均在裁剪边内侧,则输出P点

C.S在裁剪边内侧而P在裁剪边外侧,则输出该边与裁剪边的S点和交点I

D.S与P均在裁剪边外侧,则不输出点


参考答案:C

第3题:

在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点.请问哪种情况下输出的顶点是错误的()。

A.S和P均在可见的一侧,则输出S和P

B.S和P均在不可见的一侧,则不输出顶点

C.S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点

D.S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P


参考答案:A

第4题:

在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点S到端点P),与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些点.请问下列哪种情况描述是错误的?

A、S和P均在可见的一侧,则输出S和P.

B、S和P均在不可见的一侧,则输出0个顶点.

C、S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点.

D、S在不可见的一侧,P在可见的一侧,则输出线段SP与裁剪线的交点和P.


参考答案:A

第5题:

在多边形的逐边裁剪法中,对于某条多边形的边(当前处理的顶点为P ,先前已处理的多边形顶点为S)与某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点。请问哪种情况下输出的顶点是错误的? ( )

A. S 和P 均在可见的一侧,则输出点P

B. S 和P 均在不可见的一侧,则输出0个顶点

C. S 在可见一侧,P 在不可见一侧,则输出线段SP 与裁剪线的交点和点S

D. S 在不可见的一侧,P 在可见的一侧,则输出线段SP 与裁剪线的交点和P


参考答案C

第6题:

在多边形的逐边裁剪算法中,对于某条多边形的边(方向为从端点S到端点P)与某条裁剪线(窗口的某一边)的比较结果共有以下4种情况,分别须输出一些顶点。请问哪种情况下输出的顶点是错误的()

A.S和P均在可见的一侧,则输出S和P

B.S和P均在不可见的一侧,则输出0个顶点

C.S在可见一侧,P在不可见一侧,则输出线段SP与裁剪线的交点

D.S在不可见一侧,P在可见一侧,则输出线段SP与裁剪线的交点和P


参考答案:A

第7题:

下列关于Bezier曲线的性质,哪个是错误的()

A.在起点和终点处的切线方向和控制多边形第一条边和最后一条边的方向一致

B.在端点处的R阶导数,仅与R个相邻个控制顶点有关

C.曲线及其控制多边形在起点处有什么几何性质,在终点处也有什么性质

D.对于平面曲线而言,其与某直线的交点个数不多于该直线与控制多边形的交点个数


参考答案:B

第8题:

以下程序运行后的输出结果是。main(){ char s[]="GEFDCBA"; int p=6;While(s[p]!=’D’){ printf("%c",p);p=p-1; }}


正确答案:A B C
从最后一个字符判断开始,如果不是遇到字符‘D’,就继续往前搜索。

第9题:

在多边形的逐边裁剪法中,对于某条多边形的边(其方向为从端点S 到端点P )与某条裁剪线(即窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点。请问哪种情况下输出的顶点是错误的?( )

A S 和P 均在可见一侧,则输出P

B S 和P 均在不可见一侧,则输出0个顶点

C S 在可见一侧,P 在不可见一侧,则输出S 和线段SP 与裁剪线的交点

D S 在不可见一侧, P 在可见一侧,则输出线段SP 与裁剪线的交点和P


参考答案C

第10题:

下列给定程序中函数fun()的功能是:求出字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是abcdx。当字符串中的内容为abcdabfabcdx,t中的内容为abd时,则程序输出未找到的信息:Not found!

请改正程序中的错误,使它能得出正确的结果。

注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include<stdio.h>

include <conio.h>

include <string.h>

char *fun(char *s,char *t)

{

char *p,*r,*a;

/*************found**************/

a=Null;

while(*s)

{ p=s;r=t;

while(*r)

/*************found**************/

if(r= =p) {r++;p++;}

else break;

if(*r=='\0') a=s;

s++;

}

return a;

}

main()

{char s[100],t[100],,*p;

clrscr();

printf("\nPlease enter string S: ");

scanf("%s",s);

printf("\nPlease enter substring t: ");

scanf("%s",t);

p=fun(S,t);

if(p) printf("\nThe result is:%s\n",p);

else printf("\nNot found!\n ");

}


正确答案:(1)错误:a=NuLL; 正确:a=NULL; (2) 错误;if(r==p){r++;p++;} 正确:if(*r==*p){r++;p++;}
(1)错误:a=NuLL; 正确:a=NULL; (2) 错误;if(r==p){r++;p++;} 正确:if(*r==*p){r++;p++;} 解析:题目要求将最后一次出现的输入字符后面的字符串做一复制处理,并在主函数中输出从此地址开始的字符串。 a=NuLL;是明显的常识性错误。题目中已经定义了指针变量chaf *p,*r,*a;,循环条件应该是if(*r==*p){r++;p++;},而非iRf(r==p) {r++;p++;}。

更多相关问题