{"id":199,"date":"2018-10-18T14:51:37","date_gmt":"2018-10-18T12:51:37","guid":{"rendered":"https:\/\/wp.uni-koblenz.de\/dino\/?page_id=199"},"modified":"2018-10-18T14:51:37","modified_gmt":"2018-10-18T12:51:37","slug":"implicit-surfaces","status":"publish","type":"page","link":"https:\/\/wp.uni-koblenz.de\/dino\/implicit-surfaces\/","title":{"rendered":"Implicit surfaces"},"content":{"rendered":"\n\t<p>The framework supports rendering of arbitrary implicit surfaces, e.g. the 0-level-set of arbitrary functions in 3D space. The functions are then approximated to distance-fields at runtime using automatic differentiation of the gradient (for a first-order approximation) and the hessian (for a second-order approximation). As usual, implicit surfaces integrate seamlessly with the rest of the framework.<\/p>\n<p>Implicit surfaces can be built at run-time in the editor and additionally support the usage of parameters in a custom language, which are then exposed as pins in the editor and code, allowing for animation.<\/p>\n\t<div style=\"width: 100px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-199-1\" width=\"100\" height=\"100\" preload=\"none\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/Example-05_-Main-Window-18.10.2018-14_35_48.mp4?_=1\" \/><a href=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/Example-05_-Main-Window-18.10.2018-14_35_48.mp4\">https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/Example-05_-Main-Window-18.10.2018-14_35_48.mp4<\/a><\/video><\/div>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/vase.png\" alt=\"vase\" height=\"718\" width=\"1278\" title=\"vase\" \/>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/vase_node.png\" alt=\"vase_node\" height=\"361\" width=\"528\" title=\"vase_node\" \/>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/Q1.png\" alt=\"Q1\" height=\"717\" width=\"1277\" title=\"Q1\" \/>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/kusner_schmitt.png\" alt=\"kusner_schmitt\" height=\"719\" width=\"1276\" title=\"kusner_schmitt\" \/>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wp.uni-koblenz.de\/dino\/wp-content\/uploads\/sites\/65\/2018\/10\/klein_bottle.png\" alt=\"klein_bottle\" height=\"721\" width=\"1279\" title=\"klein_bottle\" \/>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":187,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-199","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/pages\/199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/users\/187"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/comments?post=199"}],"version-history":[{"count":2,"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/pages\/199\/revisions"}],"predecessor-version":[{"id":201,"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/pages\/199\/revisions\/201"}],"wp:attachment":[{"href":"https:\/\/wp.uni-koblenz.de\/dino\/wp-json\/wp\/v2\/media?parent=199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}