0

当我尝试在 Dart 上使用 SubVectors 属性时出现以下错误(使用 three.dart 和 vector_math)。

没有为类“Vector3”定义方法“subVector”

for(var x=0;x<width-1;x++){
          for(var y=0;y<height-1;y++){
              Vector3 vec0; Vector3 vec1;  Vector3 n_vec;
              // one of two triangle polygons in one rectangle
              vec0.subVectors(geometry.vertices[offset(x,y)],geometry.vertices[offset(x+1,y)]);
              vec1.subVectors(geometry.vertices[offset(x,y)],geometry.vertices[offset(x,y+1)]); 
4

1 回答 1

2

该包在该类上vector_math没有subVectors方法。Vector3您可以通过将第一个值写入vec0然后减去另一个值来归档相同的值:

vec0.setFrom(geometry.vertices[offset(x,y)]);
vec0.sub(geometry.vertices[offset(x+1,y)]);
vec1.setFrom(geometry.vertices[offset(x,y)]); 
vec1.sub(geometry.vertices[offset(x,y+1)]); 

这将需要vec0并且vec1已经使用Vector3实例进行了初始化。作为替代方案,您可以使用减号运算符减去两个值,但这会创建一个新实例:

vec0 = geometry.vertices[offset(x,y)] - geometry.vertices[offset(x+1,y)];
vec1 = geometry.vertices[offset(x,y)] - geometry.vertices[offset(x,y+1)];

您可以在此处查看当前vector_math文档。

于 2014-06-22T16:45:33.943 回答