c语言 用“*”在屏幕上绘制出心形线
发布网友
发布时间:2022-04-28 18:15
我来回答
共4个回答
热心网友
时间:2022-06-22 19:20
#include "graphics.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
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();
}
热心网友
时间:2022-06-22 19:20
这个,应该是设θ为循环控制,从0到360,然后求出ρ,再将极坐标下的ρ对应的x、y换算出来,然后直接在屏幕上显示出坐标对应的像素点,用*。
热心网友
时间:2022-06-22 19:21
图示显然不是数学上的心形线,如果要画的和题目里的一样,只能凑数据了追问这题不行的话能看看着题吗
http://zhidao.baidu.com/question/344985606.html
热心网友
时间:2022-06-22 19:21
%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');