{"id":226,"date":"2018-06-28T08:57:10","date_gmt":"2018-06-28T15:57:10","guid":{"rendered":"http:\/\/fx-td.com\/houdiniandchill\/?p=226"},"modified":"2018-06-28T08:57:11","modified_gmt":"2018-06-28T15:57:11","slug":"archived-post-by-juraj-4","status":"publish","type":"post","link":"http:\/\/fx-td.com\/houdiniandchill\/2018\/06\/28\/archived-post-by-juraj-4\/","title":{"rendered":"Archived post by Juraj"},"content":{"rendered":"<p class=\"\">@TOADSTORM hi, I played today with roll correction, you were right, I used up vector to be (0,1,0), but after I got front (original), side (front x up) and then re-computed up, so that it is not always pointing upwards<\/p>\n<p class=\"\">it was easier, than I thought, but I needed to look at it with fresh eyes<\/p>\n<p class=\"\">&#8220;` string cam_path = chs(&#8220;cam_path&#8221;); matrix cam_m = optransform(cam_path); matrix3 cam_rot = qconvert( quaternion( (matrix3)cam_m ) ); matrix cam_trans = transpose(cam_rot) * cam_m;<br \/>\nmatrix xform = ident();<br \/>\nvector back = normalize( {0,0,1} * cam_rot ); vector side = normalize( cross( {0,1,0}, back ) ); vector up = cross(back, side);<br \/>\nmatrix3 fixed_rot = set(side, up, back);<br \/>\nxform *= fixed_rot; xform *= cam_trans;<br \/>\n<a href=\"mailto:v@P\" >v@P<\/a> *= xform; &#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>@TOADSTORM hi, I played today with roll correction, you were right, I used up vector to be (0,1,0), but after I got front (original), side (front x up) and then re-computed up, so that it is not always pointing upwards it was easier, than I thought, but I needed to look at it with fresh &hellip; <a href=\"http:\/\/fx-td.com\/houdiniandchill\/2018\/06\/28\/archived-post-by-juraj-4\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Archived post by Juraj<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts\/226"}],"collection":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":0,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/posts\/226\/revisions"}],"wp:attachment":[{"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/media?parent=226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/categories?post=226"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/fx-td.com\/houdiniandchill\/wp-json\/wp\/v2\/tags?post=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}