24小时热门版块排行榜    

查看: 706  |  回复: 7

ghost118

木虫 (小有名气)

[求助] 画图 已有1人参与

刚入学,跟老板说c++还不错,计算机二级拿了个优秀,他就让我画y=x2的图形,第一次听说c++能画图啊,跪求高人指导
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xzhdty: 金币+2, 感谢参与应助 2014-09-18 06:30:46

你老板太欺负人了

画简单函数太掉优秀二级的价了;
你用下面这段代码忽悠他去:
CODE:
#include <complex>
#include <fstream>

using namespace std;

const double PI = 3.1415926535897932384626433832795;
const double E  = 2.7182818284590452353602874713527;

void SetHSV(double h, double s, double v, unsigned char color[3]) {
    double r, g, b;
    if(s==0)
        r = g = b = v;

    else {
        if(h==1) h = 0;
        double z = floor(h*6); int i = int(z);
        double f = double(h*6 - z);
        double p = v*(1-s);
        double q = v*(1-s*f);
        double t = v*(1-s*(1-f));

        switch(i){
        case 0: r=v; g=t; b=p; break;
        case 1: r=q; g=v; b=p; break;
        case 2: r=p; g=v; b=t; break;
        case 3: r=p; g=q; b=v; break;
        case 4: r=t; g=p; b=v; break;
        case 5: r=v; g=p; b=q; break;
        }
    }
    int c;
    c = int(256*r); if(c>255) c = 255; color[0] = c;
    c = int(256*g); if(c>255) c = 255; color[1] = c;
    c = int(256*b); if(c>255) c = 255; color[2] = c;
}

complex<double> fun(complex<double>& c ){
    const complex<double> i(0., 1.);
    return (pow(c,2) -1.) *pow(c -2. -i, 2) /(pow(c,2) +2. +2. *i);
}

int main(){
    const int dimx = 800; const int dimy = 800;
    const double rmi = -3; const double rma =  3;
    const double imi = -3; const double ima =  3;

    ofstream f("complex.ppm", ios::binary);
    f << "P6" << endl
      << dimx << " " << dimy << endl
      << "255" << endl;

    for(int j=0; j < dimy; ++j){
        double im = ima - (ima -imi) *j /(dimy -1);
        for(int i=0; i < dimx; ++i){               
            double re = rma -(rma -rmi) *i /(dimx -1);
            complex<double> c(re, im);
            complex<double> v = fun(c);       
            double a = arg(v);

            while(a<0) a += 2*PI; a /= 2*PI;
            double m = abs(v);
            double ranges = 0;
            double rangee = 1;

            while(m>rangee){
                ranges = rangee;
                rangee *= E;
            }

            double k   = (m-ranges)/(rangee-ranges);
            double sat = k < 0.5 ? k *2: 1 -(k -0.5) *2;
            sat = 1 - pow(1-sat, 3); sat = 0.4 + sat*0.6;

            double val = k < 0.5 ? k *2: 1 -(k -0.5) *2; val = 1 - val;
            val = 1 - pow(1-val, 3); val = 0.6 + val*0.4;

            unsigned char color[3];
            SetHSV(a,sat,val,color);
            f.write((const char*)color,3);
        }
    }
    return 0;
}

ส็็็็็็็็็็็็็็็็็็็็
2楼2014-09-17 17:20:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghost118

木虫 (小有名气)

引用回帖:
2楼: Originally posted by cooooldog at 2014-09-17 17:20:55

你老板太欺负人了

画简单函数太掉优秀二级的价了;
你用下面这段代码忽悠他去:

#include <complex>
#include <fstream>

using namespace std;

const double PI = 3.141592653589 ...

哥,这个代码能直接画图么,我电脑64位的不能装vc++6.0,还有就是我c++三年都没碰了啊,学的很基础很基础的,还有就是学校图书馆还没办法借书,我发现自己真的太小白了,烦的要死啊
3楼2014-09-17 17:35:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
3楼: Originally posted by ghost118 at 2014-09-17 17:35:58
哥,这个代码能直接画图么,我电脑64位的不能装vc++6.0,还有就是我c++三年都没碰了啊,学的很基础很基础的,还有就是学校图书馆还没办法借书,我发现自己真的太小白了,烦的要死啊...

这个直接把图片输出到文件; 任何C++编译器都可以; GCC, VC++2008-2013, 都可以

» 本帖已获得的红花(最新10朵)

ส็็็็็็็็็็็็็็็็็็็็
4楼2014-09-17 17:41:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghost118

木虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by cooooldog at 2014-09-17 17:41:10
这个直接把图片输出到文件; 任何C++编译器都可以; GCC, VC++2008-2013, 都可以...

我得慢慢来,一步步学,要是这个立马就搞出来,他再给我找点更复杂的活儿,我就。。。。谢啦,哥,送你一朵小红花
5楼2014-09-17 17:45:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

6楼2014-09-17 17:45:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ghost118

木虫 (小有名气)

引用回帖:
6楼: Originally posted by cooooldog at 2014-09-17 17:45:57

一会给你金币啊
7楼2014-09-17 17:49:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (文坛精英)

本帖仅楼主可见
8楼2014-09-19 22:03:07
已阅   申请程序强帖   回复此楼   编辑   查看我的主页
相关版块跳转 我要订阅楼主 ghost118 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 6/300 2026-11-05 18:00 by My20PsvIExYO
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ttH3f1oA6ace 2026-11-04 7/350 2026-11-05 17:58 by My20PsvIExYO
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ttH3f1oA6ace 2026-11-04 11/550 2026-11-05 17:58 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 kvewwGtKktqB 2026-11-04 13/650 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 kvewwGtKktqB 2026-11-04 8/400 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 ncTVBM6AOJHF 2026-11-04 8/400 2026-11-05 17:38 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-05 17:36 by My20PsvIExYO
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 ncTVBM6AOJHF 2026-11-04 11/550 2026-11-05 17:36 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 17:36 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:26 by My20PsvIExYO
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ncTVBM6AOJHF 2026-11-04 16/800 2026-11-05 17:25 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:25 by My20PsvIExYO
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +6 ncTVBM6AOJHF 2026-11-04 19/950 2026-11-05 17:25 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 13/650 2026-11-05 17:15 by My20PsvIExYO
[基金申请] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-05 15:46 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 hNpp4Y2CGvSC 2026-11-04 10/500 2026-11-05 15:35 by My20PsvIExYO
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
[基金申请] 各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧 +5 iaeyuan 2026-11-01 5/250 2026-11-04 14:43 by jinchengzi
信息提示
请填处理意见