0

Dart (three.dart および vector_math) で SubVectors プロパティを使用しようとすると、次のエラーが発生します。

メソッド「subVector」は、クラス「Vector3」に対して定義されていません

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がありません。最初の値を書き込んでから、もう一方の値を減算することで、同じものをアーカイブできます。subVectorsVector3vec0

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インスタンスで初期化されています。別の方法として、マイナス演算子を使用して 2 つの値を減算することもできますが、これは新しいインスタンスを作成します。

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 に答える