24小时热门版块排行榜    

查看: 783  |  回复: 1

枪下游魂

木虫 (著名写手)

[求助] 关于POV-ray中用macro打开文件写入数据到数组的问题 已有1人参与

小弟最近刚接触pov-ray,现在想将一个txt文件中的值写入几个数组,用在生成图形的坐标上,用macro写了一个类似于内置函数的东东,但是一运行就报错。
具体如下:
代码:
#declare max_ele=506;
#declare X=array[max_ele];
#declare Y=array[max_ele];
#declare Z=array[max_ele];

#macro LoadState()
  #fopen rfile "test.txt" read
  #local i=0;
  #while(i<506)
         #read ( rfile, X, Y, Z )
         #local i=i+1;
  #end
  #fclose file
#end

LoadState()
sphere
{ <X[0],Y[0],Z[0]>,0.1
  texture { pigment { color Red } }
}      

运行后此行报错: #read ( rfile, X, Y, Z )
错误信息:expected “undeclared idertifier”, empty array found instead

但是如果我不调用LoadState()这个函数并直接给3个数组的第一个元素赋值,可以正常运行并输出这个球体。
我认为是这3个数组在macro里面是没有被声明?
但是我不知道应该如何改,望高手赐教。
回复此楼

» 猜你喜欢

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

g00008

银虫 (小有名气)

【答案】应助回帖

http://www.povray.org/documentation/view/3.6.1/238/

#fopen MyFile "Set_of_PointsXYZ.txt" read

#local i = 0;
#while (defined(MyFile))
     #read (MyFile,Vector)
      sphere { Vector,    0.1
      texture {
      pigment{ rgb <1,0,0>}
      finish { Substance }}}
      #local i = i + 1;
  #end

Done!
风雨兼程!
2楼2017-01-25 09:27:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 枪下游魂 的主题更新
信息提示
请填处理意见