Elyg
11/3/2017 - 3:36 PM

Lookat transform

Run Over: POINTS Creates a lookat transform from give points

vector p1 = point(0, "P", 0);
vector p2 = point(0, "P", 1);
vector up = set(0, 1, 0);

vector z = normalize(p2-p1);
vector x = normalize(cross(z, normalize(up)));
vector y = normalize(cross(x, z));

matrix tm = ident();
tm = set(x, y, z);

//tm = set(x, y, z, p2);
//@P *=tm;

vector rot = cracktransform(0, 0, 1, 0, tm);
matrix rtm = maketransform(0, 0, 0, rot, 1, 0);
vector4 rotQuat = quaternion((matrix3)rtm);

@P = qrotate(rotQuat, @P);