c语言 用“*”在屏幕上绘制出心形线

2024年11月16日 06:37
有4个网友回答
网友(1):

#include "graphics.h"悔谈让
#include
#include
#include

void main()
{
int GD,GM;
int i,a=150,x,y;
float p;

GD=DETECT;
initgraph(&GD,&GM,"");
setfillstyle(SOLID_FILL,WHITE);
bar(0,0,639,479);
setcolor(BLACK);
for(i=0;i<侍拦450;i=i+10)
outtextxy(20,i,"*");
for(i=0;i<620;i=i+10)
outtextxy(i,50,"*");
setcolor(RED);
for(i=0;i<360;i=i+2)
{
p=a*(1-sin(i*2*3.14159/碧局360));
x=320+p*cos(i*2*3.14159/360);
y=120-p*sin(i*2*3.14159/360);
outtextxy(x,y,"*");
}
getch();
closegraph();
}

网友(2):

这个,应该禅敬是设θ为脊袭氏循环控制,从0到360,然后求出ρ,再将极坐标下的ρ对应的x、y换算出来,然后直接在屏幕上显示出坐标对应樱散的像素点,用*。

网友(3):

图示显然不是数学上的心形线,如果要画的和题目里的一样,只能凑数据了

网友(4):

%1心形尺猛纤线
clc;clear;close all;
i=-pi:0.1:pi;
x=2.*(sin(i)-sin(2*i)./2);
y=2.*(cos(i)-cos(i).^2);
figure(1);
plot(x,y);grid on;box on;
axis([-3 3 -4.2 1]);
title('知告心形线');xlabel('x');ylabel('y'陵仿);