Three.js: рдЗрд╕рдХреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рдХреНрдпреВрдм рдШреБрдорд╛рдПрдВред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдлрд╝рд░ре░ 2012  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mrdoob/three.js

рд╕рдмрдХреЛ рдирдорд╕реНрддреЗ!

рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдордирдорд╛рдиреА рдзреБрд░реА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣рд╛ рдерд╛ рдФрд░ # 1219 рдФрд░ # 1220 рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕реНрдкрд╖реНрдЯ рдЙрддреНрддрд░ рдорд┐рд▓реЗред

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдХреНрдпреВрдм рдХреЛ рдХреИрд╕реЗ рдШреБрдорд╛рдпрд╛ рдЬрд╛рдП (рдпрджрд┐ рдРрд╕рд╛ рдореМрдЬреВрдж рд╣реИ рддреЛ рдХреЛрдИ рднреА рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

# 1219 рдореЗрдВ рджреЛ рдХрд╛рд░реНрдп рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдереЗ:

function rotateAroundObjectAxis( object, axis, radians ) { .. }

рддрдерд╛

function rotateAroundWorldAxis( object, axis, radians ) { .. }

рд╡реЗ рдореБрдЭреЗ рдПрдХ рдордирдорд╛рдирд╛ рдЕрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдШрди рдШреБрдорд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдХреЗрдВрджреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдПрдХ рдордирдорд╛рдиреА рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдШреБрдорд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рдХреЗрдВрджреНрд░ рдХреЗ рдмрд╛рд╡рдЬреВрджред

рдХреИрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЕрдЧрд░ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдкрд░реЗрд╢рд╛рди рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рджред

PS рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рджрд┐рдЦрддрд╛ рд╣реИ:

рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШреБрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдПAAbitbitAxis (рдСрдмреНрдЬреЗрдХреНрдЯ, рдПрдХреНрд╕рд┐рд╕рдбрд╛рдпрд░реЗрдХреНрд╢рди, рдПрдХреНрд╕рд┐рд╕рдмреЗрд╕, рд░реЗрдбрд┐рдпрдВрд╕) {{}}

рдзреБрд░реАрдмреЗрд╕рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд╣ рдмрд┐рдВрджреБ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдХреНрд╖ рд╕реЗ рд╣реЛрдХрд░ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЛ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рд╕реНрдерд╛рди рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВ рддрд╛рдХрд┐ рд░реЛрдЯреЗрд╢рди рдЕрдХреНрд╖ рдореВрд▓ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред
  2. Z рдЕрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдШреБрдорд╛рдПрдБ рддрд╛рдХрд┐ рд░реЛрдЯреЗрд╢рди рдЕрдХреНрд╖ XZ рд╡рд┐рдорд╛рди рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛред
  3. Y рдЕрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдШреБрдорд╛рдПрдБ рддрд╛рдХрд┐ рд░реЛрдЯреЗрд╢рди рдЕрдХреНрд╖ Z рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рд╣реЛред
  4. Z рдЕрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереАрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рд╡рд╛рдВрдЫрд┐рдд рдШреБрдорд╛рд╡ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВред
  5. рдЪрд░рдг (3) рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
  6. рдЪрд░рдг (2) рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
  7. рдЪрд░рдг (1) рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ?

рддреАрди.рдЬреЗ рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЛ рдХреИрд╕реЗ рдХрд░реЗрдВ?

рдореИрдВрдиреЗ рддреАрдиреЛрдВ .js рдореЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рднрд┐рдиреНрди (рдЕрдиреБрд╡рд╛рдж / рд░реЛрдЯреЗрд╢рди) рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛ :-

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

var dummy = new THREE.Object3D();
dummy.position.x = 50;
dummy.position.z = 50;
scene.add( dummy );

var cube = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), new THREE.MeshBasicMaterial() );
cube.position.x = - 50;
cube.position.z = - 50;
dummy.add( cube );

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

var dummy = new THREE.Object3D();
dummy.position.x = 50;
dummy.position.z = 50;
scene.add( dummy );

var cube = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), new THREE.MeshBasicMaterial() );
cube.position.x = - 50;
cube.position.z = - 50;
dummy.add( cube );

рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреНрдпреВрдм рдЕрднреА рднреА рд╕реНрдерд╛рдиреАрдп рдЕрдХреНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдХреЗрдВрджреНрд░ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реВрдВ:

function rotateAroundObjectAxis( object, axis, radians ) { .. }

рдпрд╛

function rotateAroundWorldAxis( object, axis, radians ) { .. }

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБ рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдЕрдХреНрд╖ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдШрди рдХреЗ рдмрдЬрд╛рдп рдбрдореА / рдХрдВрдЯреЗрдирд░ рдХреЛ рдШреБрдорд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА?

рдЕрдЪреНрдЫреА рдмрд╛рддред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рдЕрдбрд╝рд┐рдпрд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ :-)?

рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрдж рдпрд╛ рдХреБрдЫ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕реБрдЭрд╛рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЕрдВрдХрдЧрдгрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

function rotateAroundArbitraryAxis( object, axisDirection, axisBasePoint, radians ) { .. }

рдзреБрд░реАрдмреЗрд╕рдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд╣ рдмрд┐рдВрджреБ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдХреНрд╖ рд╕реЗ рд╣реЛрдХрд░ рдЬрд╛рддрд╛ рд╣реИред

рдЖрджрд░ рдХреЗ рд╕рд╛рдеред

@oosmoxiecode рдЙрдлрд╝! рд╣рд╛рдБ, рдореЗрд░реЗ рд╕реНрдирд┐рдкреЗрдЯ рдкрд░ рднреВрд▓ рдЧрдпрд╛ред

@ рд▓реЙрд░реНрдбрд▓реЙрд░реНрдб , рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реАрдзрд╛ рд╣реИред рдЗрд╕реЗ рдореИрдЯреНрд░рд┐рд╕ рдЬреНрдЮрд╛рди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдмрд╛рдд рд╣реИ ... рдХрд┐рд╕реА рднреА рддрд░рд╣, рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рд╣реА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧрдгрдирд╛ рд╣реЛ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jens-duttke picture jens-duttke  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexprut picture alexprut  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fuzihaofzh picture fuzihaofzh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

akshaysrin picture akshaysrin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

danieljack picture danieljack  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ