Three.js: рдХреНрд╖реЗрддреНрд░ рдЪреБрди рд░рд╣рд╛ рд╣реИ

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

рдирдорд╕реНрддреЗ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдлреА рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдБ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реВрдБ?

рдХреНрдпрд╛ рдХрдИ 3D рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ "рдПрд░рд┐рдпрд╛ рдкрд┐рдХрд┐рдВрдЧ" рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ? рдпрд╣ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлреНрд░реЗрдо рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рднреАрддрд░ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореИрдВ THREE.Ray рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЪрд╛рд░реЛрдВ рдУрд░ рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯ (рдПрд╕) рддрд░реАрдХреЗ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдПрдХреНрд╕рд░реЗ рдХреЛ рдвреВрдВрдврдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ XY рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдкрд┐рдВрдЧ рдФрд░ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреА рдХрдореА рд╣реИред

рдореИрдВрдиреЗ рд╡реЗрдм рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдФрд░ рдЬреАрдердм рдФрд░ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реАред
рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреАред

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж
рдЬреВрд▓рдЬ

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

рдореИрдВрдиреЗ рд╕реНрдХреНрд░реАрди рдХреЗ рдЖрдпрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╕рдмрдлреНрд░рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП рддреАрди.js рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ ред рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреАрдВрдЪреЗрдВред рдпрд╣ 2D рд╕реНрдХреНрд░реАрди рд╕реНрдкреЗрд╕ рдкрд░ рд╕рднреА 3D рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд░рд╢реНрди:
рдХреИрд╕реЗ рдПрдХ 2d рд╡рд░реНрдЧ рдФрд░ 3 рдбреА obj рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
THREE.js рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рдЪреБрдиреЗрдВ

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

рдЖрдкрдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реАрди рдкрд░ рдЯреНрд░реЗрд╕ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╣рд░ XY рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдкрд┐рдВрдЧ рдХрд░реЗрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк THREE.Ray рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдпрджрд┐ рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝реНрд░реЗрдо рдХреЗ рдЕрдВрджрд░ рд╣реИ рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд▓реЙрдЬрд┐рдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдмрдврд╝рд╛рдПрдЧрд╛ред

рд╣рдореНрдо, рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛ рд╣реИред

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

рд╣рд╛рдБ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдореИрдВ 3 рдбреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдпрд╛ рдЬрдЯрд┐рд▓ рдореИрдЯреНрд░рд┐рд╕ рдерд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реВрдВ,
рдпрджрд┐ рдореИрдВ рдЖрдпрддрд╛рдХрд╛рд░ рдХреЛрдиреЗ (рдорд╛рдЙрд╕ рдбреНрд░реИрдЧ) рдФрд░ рдкрд╛рд╕ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ Matrix4.makeFrustum рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд╕ рдХрд░рдХреЗ рдПрдХ THREE.Matrix4 рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВ рддрдм Frustum.setFromMatrix рдкрджреНрдзрддрд┐ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ 4 рдкрд╛рд╕ рдХрд░рдХреЗ THREE.Frustum рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ?
рддрдм Frustum.contains рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рд╡рд╕реНрддреБ рдЙрд╕рдХреЗ рднреАрддрд░ рд╣реИ?

рдХреНрдпрд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдирд░рдХ рдореЗрдВ рдПрдХ рдЖрд╢рд╛ рд╣реИ?

рдХреНрдпрд╛ рдорд╛рдЙрд╕ рдХрд┐рд╕реА 3 рдбреА рджреБрдирд┐рдпрд╛ рдХреЗ рдХреЙрд░реНрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдорд╛рди рдХреЗ рдкрд╛рд╕ рдорд╛рдЙрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рднреА рдХреИрдорд░реЗ рдХреЗ рдкрд╛рд╕ рд╣реИ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЕрдЧрд░ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ n00b рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЬрд╡рд╛рдм рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЛ 3 рдбреА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
http://mrdoob.github.com/three.js/examples/webgl_interactive_cubes.html

рдореИрдВрдиреЗ рд╕реНрдХреНрд░реАрди рдХреЗ рдЖрдпрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╕рдмрдлреНрд░рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП рддреАрди.js рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ ред рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреАрдВрдЪреЗрдВред рдпрд╣ 2D рд╕реНрдХреНрд░реАрди рд╕реНрдкреЗрд╕ рдкрд░ рд╕рднреА 3D рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ

рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреНрд░рд╢реНрди:
рдХреИрд╕реЗ рдПрдХ 2d рд╡рд░реНрдЧ рдФрд░ 3 рдбреА obj рдХреЗ рдЪреМрд░рд╛рд╣реЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
THREE.js рдХрд┐рд╕реА рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рдЪреБрдиреЗрдВ

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

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

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

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

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

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

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