vex: array,set,{},() - miyagiA/MyLearningNote GitHub Wiki

Array

array help

<type>[] Array(...)
vector v[] = vector[](array( 1, {1,2,3}, 3, s, t, Cl, P, N));
float  f[] = float[](array(1, 2, s, t, length(P-L), length(N)));

vector3 Array

v[]@v_array=array(set(0,1,0)); //no problem
v[]@v_array2=array({0,1,0}); //no problem
v[]@v_array3={set(0,1,0)}; //bad code
vector a = {0,0,0};
vector b = {1,1,1};
vector c = {2,2,2};
v[]@vecs = array(a,b,c);

v[]@v=array(@N,@N,@N);

// この書式は通過しない ※{}は変数を受け付けないから・・・
//v[]@v={v@N,v@N,v@N};

//変数を使う場合はSet()を利用しそうでない場合は{}を許容する
vector e = set(a[0],b[1],c[2]);
float f = 2.5;
v[]@vec3Array3 = array({0,1,2},e,set(f,1.2,2.2));

Set() ベクター型 マトリクス型のSet

vector4 v = set(1.0, 2.0, 3.0, 4.0);
matrix3 m = set(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);

float[] nums = {1.0, 2.0, 3.0, 4.0};
vector4 v = set(nums);

Set()のメリット 引数に変数を受け付ける!

//おそらくこの二つに違いはないが、ベクターやマトリクスの場合はSetを使う方がメリットがある
matrix3 m = set(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
matrix3 m = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0};
//これは通らないので () {} は使い分ける必要がある。
//matrix3 m = (1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);

float x=0.5
matrix3 m = set(x, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);//通る
matrix3 m = {x, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0};//通らない

//おそらくこの二つに違いはない
vector4 v = set(1.0, 2.0, 3.0, 4.0);
vector4 v = {1.0, 2.0, 3.0, 4.0};

float x=0.5
vector4 v = set(x, 2.0, 3.0, 4.0);//通る
vector4 v = {x, 2.0, 3.0, 4.0};//通らない
⚠️ **GitHub.com Fallback** ⚠️