{"id":422,"date":"2016-02-21T01:20:36","date_gmt":"2016-02-21T01:20:36","guid":{"rendered":"http:\/\/fractorium.com\/?page_id=422"},"modified":"2024-12-08T22:01:46","modified_gmt":"2024-12-08T22:01:46","slug":"xforms","status":"publish","type":"page","link":"http:\/\/fractorium.com\/?page_id=422","title":{"rendered":"Xforms"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2421\" src=\"http:\/\/fractorium.com\/wp-content\/uploads\/xforms-tab2.png\" alt=\"\" width=\"330\" height=\"143\" srcset=\"http:\/\/fractorium.com\/wp-content\/uploads\/xforms-tab2.png 330w, http:\/\/fractorium.com\/wp-content\/uploads\/xforms-tab2-300x130.png 300w\" sizes=\"auto, (max-width: 330px) 100vw, 330px\" \/><\/p>\n<p>The xforms tab is the largest and most complicated of the program and contains 4 nested sub tabs.\u00a0The structure and shape of the flame is governed by the xforms and their relation to each other, so the bulk of your time editing will be spent here.<\/p>\n<p>Some operations can be applied to multiple xforms depending on what is checked on the <a href=\"http:\/\/fractorium.com\/?page_id=965\" target=\"_blank\" rel=\"noopener noreferrer\">Select tab<\/a>. If none are selected, the operation will apply to the current xform.<\/p>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250a27\"  tabindex=\"0\"     >Current xform<\/h3><div id=\"target-id6a2fddf250a27\" class=\"collapseomatic_content \">\n<p>The number shown in the combo box is the index of the currently selected xform, and the string is the user supplied xform name. The color square is just an identifier to help you visually distinguish between them. The X axis of the affines on the main window will be drawn with this color.<\/p>\n<p>You can cycle through the xforms when focused outside of a spinner control and pressing the + = or &#8211; _ keys to cycle up or down, respectively. You can also select a specific xform by pressing the F1-Fx function keys.<\/p>\n<p>The values on all controls within the xforms tab will be from this\u00a0current xform.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250c1e\"  tabindex=\"0\"     >Add xform<\/h3><div id=\"target-id6a2fddf250c1e\" class=\"collapseomatic_content \">\n<p>Add an empty xform to the current flame and set it as the current one. It will have one linear variation and its affine transforms will be set to the identity matrix.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250cf5\"  tabindex=\"0\"     >Add linked xform<\/h3><div id=\"target-id6a2fddf250cf5\" class=\"collapseomatic_content \">\nAdd an xform whose xaos values are:<\/p>\n<p style=\"padding-left: 30px;\">From: All xaos values from the current xform are zero when going to any xform but the new one added, which is 1.<br \/>\nTo: The xaos value coming from the current xform is 1 and the xaos values from all other xforms are 0, when going to the newly added xform.<\/p>\n<p>Take different action when a single xform is selected vs. multiple:<\/p>\n<p style=\"padding-left: 30px;\">Single: Copy the current xform&#8217;s xaos values to the new one.<br \/>\nMultiple: Set the new xform&#8217;s xaos values to 1, except the last entry which is 0.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250dc5\"  tabindex=\"0\"     >Duplicate selected xform<\/h3><div id=\"target-id6a2fddf250dc5\" class=\"collapseomatic_content \">\n<p>Make a copy of the selected\u00a0xforms and add them\u00a0to the end of the xforms list and set the last one\u00a0as the current.<\/p>\n<p>Attempt to preserve xaos when adding xform copies. Note this is not an exact xaos copy, but just a preservation of some values based on position. So be sure to check xaos when duplicating xforms to ensure it has the state you desire.<\/p>\n<p>Duplicating xforms when xaos is present will result in xaos rows and columns that are the same as the xforms being duplicated, with the new row and column area having values of 1.<\/p>\n<p>Press Ctrl to set existing xaos rows and columns in the new xforms to 0, and set the new row and column area to 1.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250e96\"  tabindex=\"0\"     >Clear selected xforms' variations<\/h3><div id=\"target-id6a2fddf250e96\" class=\"collapseomatic_content \">\n<p>Delete all variations from the selected xforms.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf250f68\"  tabindex=\"0\"     >Delete selected xforms<\/h3><div id=\"target-id6a2fddf250f68\" class=\"collapseomatic_content \">\n<p>Delete the selected\u00a0xforms from the flame. Note that there must always be at least one xform present, so if all are selected, the last one will not be deleted.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf251045\"  tabindex=\"0\"     >Add final xform<\/h3><div id=\"target-id6a2fddf251045\" class=\"collapseomatic_content \">\n<p>Add a final xform if one is not already present. Note that selecting multiple xforms does not apply here.<\/p>\n<p>When you delete the final xform, a copy is kept in a cache on a per-flame basis and will be used if you re-add the final xform. This makes it easy to add, remove, then add back for testing its effect. This is not saved with the xml file and is solely for interactive editing.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf251118\"  tabindex=\"0\"     >Weight<\/h3><div id=\"target-id6a2fddf251118\" class=\"collapseomatic_content \">\n<p>The probability that the current xform will be chosen among the others during iteration. Note that all weight values are normalized before iteration begins. The normalized value is shown in parentheses.<\/p>\n<p>Adjusting this value will alter the display of the probability table in the <a href=\"http:\/\/fractorium.com\/?page_id=424\" target=\"_blank\" rel=\"noopener noreferrer\">Xaos tab<\/a> in real-time.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf2511e9\"  tabindex=\"0\"     >Equalize weights<\/h3><div id=\"target-id6a2fddf2511e9\" class=\"collapseomatic_content \">\n<p>Set all xform weights to be 1 \/ xform count.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf2512b7\"  tabindex=\"0\"     >Name<\/h3><div id=\"target-id6a2fddf2512b7\" class=\"collapseomatic_content \">\n<p>Optional name for the current xform to help identify it more easily.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf25138c\"  tabindex=\"0\"     >Local rotation<\/h3><div id=\"target-id6a2fddf25138c\" class=\"collapseomatic_content \">\n<p>Whether to rotate this xform around its local center during the rotation phase when creating a sequence for animation<\/p>\n<p>This value is only saved to the Xml for usage with sequence generation and has no effect on rendering within the program.<\/p>\n<p>If the\u00a0<code>Apply All<\/code> checkbox in the <a href=\"http:\/\/fractorium.com\/?page_id=418\" target=\"_blank\" rel=\"noopener noreferrer\">Flame tab<\/a> is set, the following behavior takes place:<\/p>\n<p style=\"padding-left: 30px;\">If the current xform is the final one, then the checkbox value is applied to the final xform of all flames which have\u00a0one.<\/p>\n<p style=\"padding-left: 30px;\">If the current xform is non-final, then\u00a0the checkbox value is applied to the xform at this position in\u00a0all flames.<\/p>\n<\/div>\n<h3 class=\"collapseomatic \" id=\"id6a2fddf25145c\"  tabindex=\"0\"     >Origin rotation<\/h3><div id=\"target-id6a2fddf25145c\" class=\"collapseomatic_content \">\n<p>Whether to rotate this xform around the world center during the rotation phase when creating a sequence for animation<\/p>\n<p>This value is only saved to the Xml for usage with sequence generation and has no effect on rendering within the program.<\/p>\n<p>If the\u00a0<code>Apply All<\/code> checkbox in the <a href=\"http:\/\/fractorium.com\/?page_id=418\" target=\"_blank\" rel=\"noopener noreferrer\">Flame tab<\/a> is set, the following behavior takes place:<\/p>\n<p style=\"padding-left: 30px;\">If the current xform is the final one, then the checkbox value is applied to the final xform of all flames which have\u00a0one.<\/p>\n<p style=\"padding-left: 30px;\">If the current xform is non-final, then\u00a0the checkbox value is applied to the xform at this position in\u00a0all flames.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The xforms tab is the largest and most complicated of the program and contains 4 nested sub tabs.\u00a0The structure and shape of the flame is governed by the xforms and their relation to each other, so the bulk of your time editing will be spent here. Some operations can be applied to multiple xforms depending [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":416,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-422","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/pages\/422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/fractorium.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=422"}],"version-history":[{"count":38,"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions"}],"predecessor-version":[{"id":2425,"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/pages\/422\/revisions\/2425"}],"up":[{"embeddable":true,"href":"http:\/\/fractorium.com\/index.php?rest_route=\/wp\/v2\/pages\/416"}],"wp:attachment":[{"href":"http:\/\/fractorium.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}