meta data for this page
  •  

Differences

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

Link to this comparison view

Next revision
Previous revision
en:design_guide_rotate [2020/11/28 02:56]
JSCAD Editor created
en:design_guide_rotate [2022/04/16 04:23] (current)
rozek included "require" statements, corrected mistakes
Line 1: Line 1:
 ==== Rotate ==== ==== Rotate ====
  
-Shapes can be rotated by any given degree about the X, Y, and Z axis. The degrees can be specified as either positive or negative values.+Shapes can be rotated by any given angle about the X, Y, and Z axis. The ''angles'' can be specified as either positive or negative values, in RADIANS.
  
 //[[http://www.mathsisfun.com/geometry/rotation.html|Learn about rotation at MathIsFun.com]]// //[[http://www.mathsisfun.com/geometry/rotation.html|Learn about rotation at MathIsFun.com]]//
  
 Defaults: Defaults:
-  * degree 0 or [0,0,0]+  * angles : [0, 0, 0]
  
 <code javascript> <code javascript>
-let obj cube([5,20,5]) +const { cuboid } = require('@jscad/modeling').primitives 
-obj = rotate([90,15,30],obj+const { rotate } = require('@jscad/modeling').transforms 
-obj rotate(90,[1,0.25,0.5],obj)+ 
 +const myshape cuboid({size: [5, 20, 5]}
 +const newshape = rotate([(Math.PI * 2 / 4)(Math.PI * 2 / 24)(Math.PI * 2 / 12)], myshape
 +</code> 
 + 
 +In addition, there are simple versions of the same function for rotating about a single axis. 
 + 
 +<code javascript> 
 +const { cuboid } require('@jscad/modeling').primitives 
 +const { rotateX,rotateY,rotateZ } = require('@jscad/modeling').transforms 
 + 
 +const myshape = cuboid({size: [5, 20, 5]}) 
 +let newshape = rotateX((Math.PI * 2 / 4), myshape) 
 +newshape = rotateY((Math.PI * 2 / 24), newshape) 
 +newshape = rotateZ((Math.PI * 2 / 12)newshape)
 </code> </code>
  
-The CSG library functions can also be used. //NOTEDeprecated in the V2 API//+There is a [[en:jscad_design_math|utility function]] to convert DEGREE to RADIAN values.
  
 <code javascript> <code javascript>
-obj.rotateX(90)+const { cuboid } = require('@jscad/modeling').primitives 
-obj.rotateY(45)+const { rotateX,rotate } = require('@jscad/modeling').transforms 
-obj.rotateZ(30);+const { degToRad } = require('@jscad/modeling').utils
  
-obj.rotate(rotationCenterrotationAxisdegrees+const myshape = cuboid({size: [5205]}
-obj.rotateEulerAngles(alphabetagammaposition)+const newshape = rotate([degToRad(90)degToRad(15)degToRad(30)], myshape) 
 +const newshape = rotateX(degToRad(90)myshape)
 </code> </code>