Phương trình không tường minh cho đường tròn là: (r là bán kính của đường tròn)
[a]--f(x,y)=x2 +y2 -r2 =0
[b]--f(x +1,y -1/2)=0
[c]--(x-1)2 + (y-1)2 = (r-1)2
[d]--f(x,y)=b2x2 + a2y2 - a2b2 =0
1-
Phương trình không tường minh cho đường ellipse là : (ra là bán kính theo trục ox, rb là bán kính theo trục oy và (xc,yc) là toạ độ tâm):
A -
f(x,y) = rb2 (xc+x)2 + ra2 (yc+y)2 - ra2 rb2 = 0
B -
f(x,y)=(xc+x)2 /ra2 + (yc+y)2 /rb2 - ra2 rb2 =0
C -
f(xi +1,yi -1/2 ) = 0
D -
ra2 (xc+x)2 + rb2 (yc+y)2 - ra2 rb2 =0
2-
Theo giải thuật Midpoint vẽ đoạn thẳng thì di = f(xi +1,yi +1/2) - trung điểm, với giá trị nào của d để trung điểm nằm dưới đoạn thẳng:
A -
di = 0
B -
di = di+1
C -
di > 0
D -
di < 0
3-
Giải thuật vẽ đoạn thẳng sau vẽ cho trường hợp k là:
void Midline(int x1,int y1,int x2,int y2,int c){
int x=x1,y=y1,dx=x2-x1,dy=y2-y1,p=2*dx-dy;
while(yif(p<=0){
p=p+2*dx;
}
else{
p=p+2*dx-2*dy;
x++;
}
y++;
} }
A -
k>1
B -
0<= k<=1
C -
k<= -1
D -
(-1)<0
4-
Giải thuật vẽ đoạn thẳng sau vẽ cho trường hợp k là:
void Midline(int x1,int y1,int x2,int y2,int c){
int x=x1,y=y1,dx=x2-x1,dy=y2-y1,p=-2*dy+dx;
while(xif(p<=0){
p=p+2*dx-2*dy;
y++;
}
else
p=p-2*dy;
x++;
} }
A -
k>1
B -
k<= -1
C -
0<= k<=1
D -
(-1)<0
5-
Giải thuật vẽ đoạn thẳng sau vẽ cho trường hợp k là:
void Midline(int x1,int y1,int x2,int y2,int c){
int x=x1,y=y1,dx=x2-x1,dy=y2-y1,p=2*dy+dx;
while(x if(p<=0){
p=p+2*dy+2*dx;
y--;
}
else{
p=p+2*dy;
}
x++;
}}
A -
1<0 <0>
B -
k<-1
C -
0<=k<=1
D -
k>1
6-
Giải thuật vẽ đoạn thẳng sau vẽ cho trường hợp k là:
void Midline(int x1,int y1,int x2,int y2,int c) {
int x=x1,y=y1,dx=x2-x1,dy=y2-y1,p=-2*dx-dy;
while(y>y2) {
putpixel(x,
y,c); if(p<=0) {
p=p-2*dx-2*dy;
x++;
}
else {
p=p-2*dx;
}
y--;
}
}
A -
k>1
B -
k<-1
C -
(-1)<0
D -
0<=k<=1
7-
Chọn phương án đúng nhất, có (x1,y1) là toạ độ của góc trái trên của hình chữ nhật và (width,height) là kích thước cạnh dài và cạnh ngắn của hình chữ nhật.
.#include
.#include
.#include
void Function(int x1, int y1, int width, int height){
line(x1,y1,x1+width,y1);
line(x1+width,y1,x1+width,y1+height
); line(x1+width,y1+height,x1,y1+height);
line(x1,y1+height,x1,y1);
}
void main(){
int gr_drive = DETECT, gr_mode;
int x1=10, y1=10, width=100, height=50;
initgraph(&gr_drive, &gr_mode, "");
Function(x1,y1,width,height);
closegraph();
}
A -
Hình chữ nhật ở góc phải, phía dưới màn hình
B -
Hình chữ nhật ở góc trái, phía dưới màn hình
C -
Hình chữ nhật ở góc phải, phía trên màn hình
D -
Hình chữ nhật ở góc trái, phía trên màn hình
8-
Chọn phương án đúng nhất, có (x1,y1) là toạ độ của góc trái trên của hình chữ nhật và (width,height) là kích thước cạnh dài và cạnh ngắn của hình chữ nhật.
.#include
.#include
.#include
void Function(int x1, int y1, int width, int height){
line(x1,y1,x1-width,y1);
line(x1-width,y1,x1-width,y1+height);
line(x1-width,y1+height,x1,y1+height);
line(x1,y1+height,x1,y1);
}
void main(){
int gr_drive = DETECT, gr_mode;
int x1=getmaxx()-20, y1=10, width=100, height=50;
initgraph(&gr_drive, &gr_mode, "");
Function(x1,y1,width,height);
closegraph();
}
A -
Hình chữ nhật ở góc phải, phía trên màn hình
B -
Hình chữ nhật ở góc trái, phía trên màn hình
C -
Hình chữ nhật ở góc trái, phía dưới màn hình
D -
Hình chữ nhật ở góc phải, phía dưới màn hình
9-
Để vẽ đường ellipse ta chỉ cần xây dựng giải thuật vẽ 1/4đường ellpise sau đó lấy đối xứng. Hàm sau là hàm lấy đối xứng 4 điểm (vẽ 4 điểm 1 lúc). Rất tiếc là trong hàm bị thiếu 1 lệnh nên hình ellipse khi hiển thị trên màn hình sẽ thiếu 1/4 hình ở:
void plot(int xc, int yc, int x, int y, int color) { // xc, yc là toạ độ tâm của ellipse
putpixel(xc+x, yc+y, color);
putpixel(xc-x, yc+y, color);
putpixel(xc+x, yc-y, color);
}
A -
Trái dưới
B -
Trái trên
C -
Phải trên
D -
Phải dưới
10-
Để vẽ đường ellipse ta chỉ cần xây dựng giải thuật vẽ 1/4 đường ellpise sau đó lấy đối xứng. Hàm sau là hàm lấy đối xứng 4 điểm (vẽ 4 điểm 1 lúc). Rất tiếc là trong hàm bị thiếu 1 lệnh nên hình ellipse khi hiển thị trên màn hình sẽ thiếu 1/4 hình ở:
void plot(int xc, int yc, int x, int y, int color) { // xc, yc là toạ độ tâm của ellipse
putpixel(xc+x, yc+y, color);
putpixel(xc-x, yc+y, color);
putpixel(xc-x, yc-y, color);
}