Thread with 10 posts
jump to expanded postthis is very embarassing to ask about for me but does anyone in my audience understand why Apple's CGAffineTransform is defined as mapping to a matrix where the last column is (0, 0, 1) and the last row is (tx, ty, 1.0); shouldn't it be the other way around? when does this work?
wait. is it just one system uses multiplication by a column vector and the other uses multiplication by a row vector. does that mean that the matrices are equivalent if transposed. is that the monster that's haunted me for checks notes two years? if so then (brb killing myself)
βͺi have this horrible feeling that i came very close to realising this a year ago already and instead blamed myselfβ¬
the git history of touchHLE's linear algebra code shall forever be a list of reasons i want to die jesus christ
at least it's finally fucking over https://github.com/touchHLE/touchHLE/commit/4c43af4cb8ce4686fd9cf76bb183c65b6355af66
@hikari@social.noyu.me rebase ββ
@hikari depends whether the coordinates are considered row vectors or column vectors. You need the transpose of the transform entirely depending on the convention.
@porglezomp as i realised in https://social.noyu.me/@hikari/statuses/01JM5Y8ZQB4C7D0MY2MMA84SDV
apple write:
row times matrix
i think i am used to:
matrix times column
if i transpose the matrix are they equivalent?
@hikari yes, Aβ’x = (xTβ’AT)T
@porglezomp thank you very much