我正在试着画一个函数的图形。如何正确地画,我在网上找不到任何关于这方面的资源。
验证码:
#include <graphics.h>
#include <math.h>
#define G GREEN
int main()
{
int gd = DETECT, gm, angle = 0;
double x, y;
initgraph(&gd, &gm, NULL);
int cx = getmaxx()/2, cy = getmaxy()/2;
line(20, cy, getmaxx()-20, cy);
line(cx, 20, cx, getmaxy()-20);
outtextxy(cx, cy, "O");
//y=5*x-3*sinx^2(k*x) y=cos(k*x) y=4x^7-3x^3+5
setcolor(GREEN);
for (x = 0; x < getmaxx(); x+=0.01) {
/* Calculate y with given x */
y = 4 * pow(x, 7) - (3 * pow(x, 3) + 5);
y = cy - y;
/* Coloring pixel at x and y */
if (y < 0) {
break;
}
putpixel(x+cx, y, GREEN);
delay(50);
}
for (x = 0; x < getmaxx() && x+cx >= 0; x-=0.01) {
/* Calculate y with given x */
y = 4 * pow(x, 7) - 3 * pow(x, 3) + 5;
y = cy - y;
/* Coloring pixel at x and y */
if (y > getmaxy())
break;
putpixel(x+cx, y, GREEN);
delay(50);
}
getch();
closegraph();
return (0);
}
我需要它是更明显,而不是皮包骨.什么将是aproach.这里也是要实现的功能:(我从最后一个函数开始)
输出:
**编辑:**所以对于那些感兴趣的人,我做到了,代码是here
这里输出:
2条答案
按热度按时间vawmfj5a1#
所以,既然它的旧图书馆和我的大学仍然使用它面对手掌任何感兴趣的人,我想办法。
验证码:
输出:
00jrzges2#
为了让你的像素更明显,使用半径为2的圆盘(半径为1可能就足够了)。
你可以在点之间画线来得到一个非常好的“图形”印象,
但是要注意不要在定义间隙处错误地表示。
例如,从(X= -0.1,Y = 1/-0,1)到(X= 0.1,Y =1/0,1)画一条线是错误的。
正如评论所指出的,调整两个坐标轴的缩放比例可能会改善效果,但这可能只对单个图形有效。几个不同极值中的一个可能仍然看起来很瘦。