【发布时间】:2012-07-12 00:03:30
【问题描述】:
当我运行以下代码时,我遇到了一个错误: 错误:#cartesian (x) 的参数数量错误>
;;;;函数定义
(define (eps-func p)
(let* ((p (lattice->cartesian))
(x (vector3-x p))
(y (vector3-y p))
(z (vector3-z p)))
(if (> sin(* 2 pi x y z) 0)
(make dielectric
(epsilon 12))
(make dielectric
(epsilon 1)))))
;;;;函数调用
(set! default-material (make material-function (material-func eps-func)))
我不知道哪里错了。上面的代码只是控制文件的一部分。
部分背景资料如下:
(lattice->cartesian x)
其中 x 是一个向量3
vector3 是在某处定义的数据类型
三向量函数
(vector3 x y z)
使用给定的组件创建一个新的 3 向量。
(vector3-x v)
(vector3-y v)
(vector3-z v)
返回向量v的对应分量。
material-func [功能] 一个参数的函数,位置向量3
【问题讨论】:
-
为什么投反对票,没有任何 cmets,伙计们?
标签: scheme