{"id":3112,"date":"2015-04-02T01:39:59","date_gmt":"2015-04-01T23:39:59","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=3112"},"modified":"2015-04-02T01:42:50","modified_gmt":"2015-04-01T23:42:50","slug":"xbox-360-kinect-unter-java-ansprechen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2015\/04\/xbox-360-kinect-unter-java-ansprechen\/","title":{"rendered":"Xbox 360 Kinect unter Java ansprechen"},"content":{"rendered":"<ol>\n<li>Windows anmachen \ud83d\ude42<\/li>\n<li>Kinect mit dem USB-Power-Adapter anst\u00f6pseln.<\/li>\n<li>Unter <a title=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40278\" href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40278\">http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40278<\/a> das <strong>Kinect for Windows SDK v1.8<\/strong> laden und. (Nicht Version 2!) Die gr\u00fcne Lampe wird leuchten.<\/li>\n<li>Unter dem <strong>Ger\u00e4te Manager<\/strong> wird <strong>Kinect<\/strong> angezeigt:<br \/>\n<a href=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image_thumb1.png\" alt=\"image\" width=\"644\" height=\"269\" border=\"0\" \/><\/a><\/li>\n<li>Optional: F\u00fcr ein paar Beispiele installiere von <a title=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40276\" href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40276\">http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40276<\/a> das <strong>Kinect for Windows Developer Toolkit v1.8<\/strong>.<br \/>\nUnter <strong>Developer Toolkit Browser v1.8.0 (Kinect for Windows) <\/strong>kann man dann Beispiele anschauen und pr\u00fcfen, ob die Kamera einen \u201cempf\u00e4ngt<a href=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image2.png\">\u201d.<img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image_thumb2.png\" alt=\"image\" width=\"644\" height=\"364\" border=\"0\" \/><\/a><\/li>\n<li>Gehe unter <a title=\"http:\/\/research.dwi.ufl.edu\/ufdw\/download.php\" href=\"http:\/\/research.dwi.ufl.edu\/ufdw\/download.php\">http:\/\/research.dwi.ufl.edu\/ufdw\/download.php<\/a> und lade <a href=\"http:\/\/research.dwi.ufl.edu\/ufdw\/download.php?a=0&amp;f=ufdw.jar\"><em>ufdw.jar<\/em><\/a>. Melde das Jar im Klassenpfad an.<\/li>\n<li>Lade ein Beispiel von <a title=\"http:\/\/research.dwi.ufl.edu\/ufdw\/j4k\/examples.php\" href=\"http:\/\/research.dwi.ufl.edu\/ufdw\/j4k\/examples.php\">http:\/\/research.dwi.ufl.edu\/ufdw\/j4k\/examples.php<\/a>, entpacke es, und setze f\u00fcr ein 64-Bit-Java die DLL-Dateien (<em>ufdw_j4k_64bit.dll\/ufdw_j4k2_64bit.dll<\/em>) in das Java-Projekt.<\/li>\n<\/ol>\n<p>Das waren die Vorbereitungen, jetzt k\u00f6nnen wir zum eigentlichen Java-Programm kommen. Zum Testen soll einfach nur die <strong>Orientierung<\/strong> (also der Winkel zur Kinect) in den Winkel einer 3D-Box \u00fcbertragen werden \u2013 dreht man sich vor der Kinect, wird die Box sich mitdrehen. Gleichzeitig gibt es noch einen Text, sodass man den Winkel gleich ablesen kann.<\/p>\n<p>&nbsp;<\/p>\n<p>Fertig sieht das so aus:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport javafx.application.Application;\r\nimport javafx.scene.Group;\r\nimport javafx.scene.Scene;\r\nimport javafx.scene.shape.Box;\r\nimport javafx.scene.text.Text;\r\nimport javafx.scene.transform.Rotate;\r\nimport javafx.stage.Stage;\r\nimport edu.ufl.digitalworlds.j4k.J4KSDK;\r\nimport edu.ufl.digitalworlds.j4k.Skeleton;\r\n\r\npublic class MovingBody extends Application {\r\n\r\n  private final Box box = new Box( 200, 200, 200 );\r\n  private final Text text = new Text( 200, 200, &quot;#&quot; );\r\n  \r\n  class SkeletonTracker extends J4KSDK {\r\n\r\n    @Override\r\n    public void onSkeletonFrameEvent( boolean&#x5B;] skeletonTracked, float&#x5B;] positions,\r\n                                      float&#x5B;] orientations, byte&#x5B;] jointStatus ) {\r\n\r\n      int skeletonId = 0;\r\n      while ( !skeletonTracked&#x5B; skeletonId ] )\r\n        skeletonId++;\r\n\r\n      Skeleton skeleton = Skeleton.getSkeleton( skeletonId, skeletonTracked, positions,\r\n                                                orientations, jointStatus, this );\r\n\r\n      box.setRotate( (int) skeleton.getBodyOrientation() );  \/\/ reduce &quot;noise&quot; with (int)\r\n      text.setText( &quot;&quot; + (int) skeleton.getBodyOrientation() );\r\n      text.setRotate( (int) skeleton.getBodyOrientation() );\r\n    }\r\n    \r\n    @Override\r\n    public void onColorFrameEvent( byte&#x5B;] colorData ) { }\r\n\r\n    @Override\r\n    public void onDepthFrameEvent( short&#x5B;] depthFrame, byte&#x5B;] playerIndex, float&#x5B;] xyz, float&#x5B;] uv ) { }\r\n  }\r\n\r\n  public MovingBody() {\r\n    new SkeletonTracker().start( J4KSDK.SKELETON );\r\n  }\r\n\r\n  @Override\r\n  public void start( Stage primaryStage ) {\r\n    Group root = new Group();\r\n    primaryStage.setScene( new Scene( root, 400, 400 ) );\r\n    primaryStage.show();\r\n    \r\n    box.setTranslateX( 200 );\r\n    box.setTranslateY( 200 );\r\n    box.setTranslateZ( 200 );\r\n    box.setRotationAxis( Rotate.Y_AXIS );\r\n\r\n    root.getChildren().addAll( box, text );\r\n  }\r\n\r\n  public static void main( String&#x5B;] args ) {\r\n    launch( args );\r\n  }\r\n}\r\n<\/pre>\n<p><a href=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"http:\/\/www.tutego.de\/blog\/javainsel\/wp-content\/uploads\/image_thumb3.png\" alt=\"image\" width=\"449\" height=\"484\" border=\"0\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Windows anmachen \ud83d\ude42 Kinect mit dem USB-Power-Adapter anst\u00f6pseln. Unter http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40278 das Kinect for Windows SDK v1.8 laden und. (Nicht Version 2!) Die gr\u00fcne Lampe wird leuchten. Unter dem Ger\u00e4te Manager wird Kinect angezeigt: Optional: F\u00fcr ein paar Beispiele installiere von http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=40276 das Kinect for Windows Developer Toolkit v1.8. Unter Developer Toolkit Browser v1.8.0 (Kinect for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[62],"tags":[],"class_list":["post-3112","post","type-post","status-publish","format-standard","hentry","category-javafx"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=3112"}],"version-history":[{"count":3,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3112\/revisions"}],"predecessor-version":[{"id":3115,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3112\/revisions\/3115"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=3112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=3112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=3112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}