WaBis

walter.bislins.ch

JSG Test: TransRotateAtPoint

Diese Testseite zeigt die Auswirkung der Objekt-Transformation TransRotateAtPoint().

JsGraph Ausgabe

Code

var params = {
  x: 0,
  y: 0,
  pad: 0,
  ang: 0,
  rot: 0,
};

var graph1 = NewGraph2D( {
  Width: '100%', Height: '60%',
  DrawFunc: Draw1
} );

function Draw1( g ) {
  g.Reset();
  g.SetWindow( -15, -9, 15, 9 );
  g.Frame();
  g.Axes();

  g.TransRotateAtPoint( params.x, params.y, params.ang );

  g.Rect( -2, -1, 2, 1 );
  g.Rect( 4, 5, 8, 7 );
  g.Ellipse( 0, 0, 4, 3, 0 );
  g.Marker( params.x, params.y );

  g.SetTextAttr( 'Arial', 24, 'black', 'normal', 'normal', 'left', 'bottom', params.pad, params.pad, params.rot );
  g.TextBox( 'Text', 4, -4 );
  g.Text( 'Text', 4, -4 );
  g.SetMarkerSymbol( 'Cross' );
  g.Marker( 4, -4 );

  g.SetLineAttr( 'blue', 3 );
  g.SetMarkerSymbol( 'Arrow1' );
  g.Arrow( 0, 0, 6, 0 );
  g.Arrow( 0, 0, 0, 6 );
}

function Update1() {
  ControlPanels.Update();
  Draw1( graph1 );
}

ControlPanels.NewSliderPanel( { 
  ModelRef: 'params', 
  OnModelChange: Update1, 
  Format: 'fix0', 
  Digits: 2 

} ).AddValueSliderField( { 
  Name: 'x', 
  Min: -6, 
  Max: 6 

} ).AddValueSliderField( { 
  Name: 'y', 
  Min: -6, 
  Max: 6 

} ).AddValueSliderField( { 
  Name: 'pad', 
  Min: 0, 
  Max: 10 

} ).AddValueSliderField( { 
  Name: 'rot', 
  Min: -360, 
  Max: 360 

} ).AddValueSliderField( { 
  Name: 'ang', 
  Min: -360, 
  Max: 360 

} ).Render();

Weitere Infos zur Seite
Erzeugt Donnerstag, 16. Juli 2015
von wabis
Zum Seitenanfang
Geändert Montag, 29. August 2016
von wabis