24小时热门版块排行榜    

查看: 962  |  回复: 8

guoman2006

银虫 (初入文坛)

[求助] 求一个fortran程序的解释

subroutine rrgbcolor(iout,icol,imax,iprt)
c     Set the color on a continous 0-1 scale
      if (iprt .eq. 1) write (iout,*) 'stroke'
      if (imax .eq. 1) then
        write (iout,1000) 0.0,0.0,0.0
      else
        rcol=2.0*float(icol-1)/float(imax-1)
        if (rcol .le. 1.0) then
          write (iout,1000) (1.0-rcol),rcol,0.0
        else
          rcol=rcol-1.0
          write (iout,1000) 0.0,(1.0-rcol),rcol
        end if
      end if
      if (iprt .eq. 1) write (iout,*) 'newpath'
      return
1000  format(3f6.2,' setrgbcolor')
      end
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

感谢参与,应助指数 +1
楼主希望别人每句都给你解释一下? 无语。。。。。。。
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2012-11-04 12:43:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
guoman2006: 金币+10, 有帮助 2012-11-05 11:10:39
在编辑器内使用单步执行方式,楼主就能理解每句的含义了

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

3楼2012-11-04 13:53:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chentianyu1

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
guoman2006: 金币+30, ★★★很有帮助 2012-11-05 11:10:50
给定一个color变量及一个max变量,输出对应的颜色
其中color和max都是正数,并且color不大于max,color=icol-1,max=imax-1
输出的颜色是一个RGB元组,包括R、G、B三个0到1之间的数,分别代表红、绿、蓝三个颜色分量
颜色的具体计算方法是:
1、如果max=0,则输出黑色(R=0,G=0,B=0)
2、如果col/max不超过0.5,则输出颜色(R=1-2*col/max, G=2*col/max, B=0)
3、如果col/max已超过0.5,则输出颜色(R=0, G=1-2*col/max, B=2*col/max)

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

4楼2012-11-04 15:18:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guoman2006

银虫 (初入文坛)

送鲜花一朵
引用回帖:
3楼: Originally posted by nono2009 at 2012-11-04 13:53:54
在编辑器内使用单步执行方式,楼主就能理解每句的含义了

谢谢您的回复,我对程序比较陌生。能麻烦您讲具体些吗?如何在编辑器内使用单步执行方式?
5楼2012-11-04 22:46:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guoman2006

银虫 (初入文坛)

送鲜花一朵
引用回帖:
4楼: Originally posted by chentianyu1 at 2012-11-04 15:18:02
给定一个color变量及一个max变量,输出对应的颜色
其中color和max都是正数,并且color不大于max,color=icol-1,max=imax-1
输出的颜色是一个RGB元组,包括R、G、B三个0到1之间的数,分别代表红、绿、蓝三个颜色分 ...

多谢您的答复。我可以看懂这个程序的基本意思了,不过还有两个问题不明白,还希望您能多指教:(1)rrgbcolor(iout,icol,imax,iprt) 中的最后一个参数iprt是什么意思?起什么作用?
(2)“color和max都是正数,并且color不大于max“,这个我不是很明白。如果我想用’白色到黑色‘来表示0%到100%,该如何设置它们的数值?
6楼2012-11-04 22:56:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

RyanHusky

银虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
jjdg: 金币+1, 感谢参与 2012-11-10 01:10:01
guoman2006: 金币+20, 有帮助 2012-11-10 09:33:11
这是一个color变量及一个max变量对应的输出RGB三色组合的颜色
color和max的定义你自己应该看得懂
输出的颜色是一个RGB三色元素组合,包括R、G、B三个0到1之间的数,分别代表红、绿、蓝三个颜色权重,0就是没有,1就是100%,然后三种颜色的组合
输出显示颜色的效果:
1当max=0,输出纯黑(R=0,G=0,B=0)(你明白光色原理吗?)
2当col/max不超过0.5,则输出颜色(R=1-2*col/max, G=2*col/max, B=0)
3当col/max超过0.5,则输出颜色(R=0, G=1-2*col/max, B=2*col/max) R G B 的不同比例混合成不同颜色
你可以在PS中自己试着调和一下。
虚怀若谷,深藏若虚。
7楼2012-11-09 11:46:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guoman2006

银虫 (初入文坛)

引用回帖:
7楼: Originally posted by RyanHusky at 2012-11-09 11:46:33
这是一个color变量及一个max变量对应的输出RGB三色组合的颜色
color和max的定义你自己应该看得懂
输出的颜色是一个RGB三色元素组合,包括R、G、B三个0到1之间的数,分别代表红、绿、蓝三个颜色权重,0就是没有,1 ...

OK,我已经明白了,感谢您回复!
8楼2012-11-10 09:32:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

RyanHusky

银虫 (初入文坛)

【答案】应助回帖

引用回帖:
8楼: Originally posted by guoman2006 at 2012-11-10 09:32:42
OK,我已经明白了,感谢您回复!...

不客气 互相帮助是应该的 嘛
虚怀若谷,深藏若虚。
9楼2012-11-10 16:08:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 guoman2006 的主题更新
信息提示
请填处理意见