sop_vex02部分
现在开始用软件本身的东西来表示,至于为什么图形图像中都要用向量,矩阵表示,偶还没有深刻的体会,现在开始照猫画虎。
缩放:
sop
sop_matrix_test(float a=1)
{
matrix3 scal;
scal=set(a,0,0,
0,a,0,
0,0,a);
P*=rot;
}
旋转
#pragma opname rotate_test
#pragma oplabel sop_rorate
#pragma label a "angle"
#pragma hint a angle
#pragma range a 0 360
sop
sop_matrix_test(float a=0)
{
float b=radians(a);
matrix3 rot;
rot = set(cos(b), -sin(b), 0,
sin(b), cos(b), 0,
0, 0, 1);
P*=rot;
}
变换
#pragma opname translate_test
#pragma oplabel sop_translate
#pragma label a "vector"
#pragma hint a vector
#pragma range a 0 10
sop
sop_matrix_test(vector a={0,0,0})
{
matrix rot;
rot = set(1,0,0,0,0,1,0,0,0,0,1,0,a.x,a.y,a.z,1);
P*=rot;
}
缩放:
sop
sop_matrix_test(float a=1)
{
matrix3 scal;
scal=set(a,0,0,
0,a,0,
0,0,a);
P*=rot;
}
旋转
#pragma opname rotate_test
#pragma oplabel sop_rorate
#pragma label a "angle"
#pragma hint a angle
#pragma range a 0 360
sop
sop_matrix_test(float a=0)
{
float b=radians(a);
matrix3 rot;
rot = set(cos(b), -sin(b), 0,
sin(b), cos(b), 0,
0, 0, 1);
P*=rot;
}
变换
#pragma opname translate_test
#pragma oplabel sop_translate
#pragma label a "vector"
#pragma hint a vector
#pragma range a 0 10
sop
sop_matrix_test(vector a={0,0,0})
{
matrix rot;
rot = set(1,0,0,0,0,1,0,0,0,0,1,0,a.x,a.y,a.z,1);
P*=rot;
}