User Tools

Site Tools


animation:keyboard

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

animation:keyboard [2015/12/05 13:41]
freek angelegt
animation:keyboard [2015/12/05 13:46] (current)
freek
Line 1: Line 1:
 +====== Keyboard Sensor ======
 +
 +{{youtube>​large:​CRngRrzcjas}}
 +
 +Eindimensionale Animationen lassen sich durch die Zeitdimension des Managers darstellen. Der Manager und auch einige andere Animationsobjekte haben einen Dialer, mit dem man in der Zeit vor- und zurück laufen lassen kann.
 +
 +Hat man gleichzeitg zwei Freiheitsgrade zu erproben, reicht die Zeit nicht aus. In einen solchen Fall kann man durch den zweidimensionalen Raum navigieren. Am einfachsten ist die Nutzung der xy-Ebene. ​
 +
 +Sieht man ein 2D-Bild als Landkarte, kann man sein "​Schiff"​ oder den Kontrollpunkt durch die Klippen lenken.
 +
 +Der Keyboard Sensor erlaubt dieses Navigieren. Er nutzt ein paar wenig benötigte Tasten zum Bewegen in der Ebene.
 +
 +Will man zu bestimmten Punkten springen, selektiert man diese vorher mit der Maus und hat dann die Taste H, um dorthin zu springen.
 +
 +Die Position des Sensors ist jederzeit aus seiner Property Placement auszulesen. Der [[Animation:​Placer]] kann auf die Information zugreifen und damit andere Objekte bewegen.
 +
 +Der Keyboard Sensor muss interaktiv über sein KontextMenü gestartet und auch wieder deaktiviert werden, da er in die Tastenbelegung des Programms eingreift.
 +
 +
 +
 +
 +
 +The keyboard sensor can be used to  run 2D animations interactive ​
 +using the keys or vertex selection by mouse. ​
 +
 +This allows exact  positioning on top of a 2D diagram representation of data.
 +(Example: [[Animation:​Collision Diagram]])
 +
 +up == +y, right == +x
 +
 +Keys
 +
 +T = up, 
 +V = down,
 +G = right,
 +F = left
 +
 +Z = right up,
 +B = right down,
 +C = left down,
 +R = left up
 +
 +H = jump to a selected vertex
 +
 +
 +
 +
 +Beispieldatei für das Video:
 +
 +<​code>​
 +import Keyboard, Placer
 +reload(Keyboard)
 +
 +App.newDocument("​Keybord Sensor"​)
 +App.setActiveDocument("​Keybord Sensor"​)
 +App.ActiveDocument=App.getDocument("​Keybord Sensor"​)
 +
 +# visualization point
 +V=App.ActiveDocument.addObject("​Part::​Vertex","​Keybord Control Point"​)
 +V.ViewObject.PointSize=10
 +V.ViewObject.PointColor=(1.0,​.0,​.0)
 +
 +# slaves
 +s=App.ActiveDocument.addObject("​Part::​Sphere","​Sphere"​)
 +b=App.ActiveDocument.addObject("​Part::​Box","​Box"​)
 +t=App.ActiveDocument.addObject("​Part::​Torus","​Torus"​)
 +
 +s.ViewObject.ShapeColor=(1.0,​1.0,​.0)
 +b.ViewObject.ShapeColor=(.0,​1.0,​1.0)
 +t.ViewObject.ShapeColor=(1.0,​.0,​1.0)
 +
 +# ACTOR #
 +
 +# move the sphere relative (10,-5,0) to the control point
 +p=Placer.createPlacer("​Sphere Mover",​s)
 +p.src=V
 +p.x="​sx+10"​
 +p.y="​sy-5"​
 +
 +# rotate the cube with rotation arc 20*sx along the default z-axis
 +p2=Placer.createPlacer("​Box Rotator",​b)
 +p2.src=V
 +p2.x="​-50"​
 +p2.y="​-5"​
 +p2.arc="​20*sx"​
 +
 +# rotate the donat with rotation arc 10*sy  along the x-axis
 +p3=Placer.createPlacer("​Torus Rotator",​t)
 +p3.src=V
 +p3.x="​50"​
 +p3.y="​0"​
 +p3.arc="​10*sy"​
 +p3.RotAxis=FreeCAD.Vector(1,​0,​0)
 +
 +# SENSOR #
 +
 +kb=Keyboard.createKeyboard("​Keybord",​V)
 +
 +
 +# start up
 +kb.ViewObject.Proxy.edit()
 +App.activeDocument().recompute()
 +Gui.SendMsgToActiveView("​ViewFit"​)
 +
 +</​code> ​
 +
 + 
 +
 +
 +
  
animation/keyboard.txt · Last modified: 2015/12/05 13:46 by freek