Three.js: рд░рдЪрдирд╛рддреНрдордХ рдареЛрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ (рд╕реАрдПрд╕рдЬреА) рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдорд╛рд░реНрдЪ 2019  ┬╖  56рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mrdoob/three.js

рд╕реАрдПрд╕рдЬреА рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ... рдЕрдиреНрдп 3рдбреА рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕реАрдПрд╕рдЬреА рдмрд┐рд▓реНрдЯ-рдЗрди (рдмреЗрдмреАрд▓реЛрди.рдЬреЗрдПрд╕) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ, рдХреЗрд╡рд▓ рд╕реАрдПрд╕рдЬреА рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ 7 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рдкреНрд▓рдЧрдЗрди ( https://github.com/chandlerprall/ThreeCSG )

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдмрдлрд╝рд░рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рд╕реАрдПрд╕рдЬреА рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд▓рдЧ-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рддреАрди.рдЬреЗрдПрд╕ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред

рдореИрдВ рдРрд╕рд╛ рд╣реЛрддреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрди рдХрд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВред

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

рдореИрдВрдиреЗ рдореЗрдбрдмрд╛рдпрд╡рди рд╕реАрдПрд╕рдЬреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдПрдХ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ .. рдпрд╣ рд╡рд░реНрддрдорд╛рди рддреАрди (103) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрдлрд░рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗред

https://github.com/manthrax/THREE-CSGMesh

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

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

рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрдЬрд╝рдорд╛ рд╕рдХрддрд╛ рд╣реВрдБ ... рдореБрдЭреЗ рджреЗрдЦрдиреЗ рджреЛ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

рдЙрдо, рдореИрдВрдиреЗ рдПрдХ OrbitControls рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдмрд╣реБрдд рд╕рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрд╕реЗ 'рдмрдлрд╝рд░рд╛рдЗрдЬрд╝' рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВ, рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
image

рдЗрд╕реЗ рдХреЛрд░ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг ( v1 branch ) рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИред r100 (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ r103 ) рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг

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

рдЗрд╕реЗ рдХреЛрд░ рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг ( v1 branch ) рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИред r100 (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ r103 ) рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг

рддреЛ рдпрд╣ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реИред рдореИрдВрдиреЗ рд╡рд╣ рдЯреИрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдФрд░... рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ v1 рдЯреИрдЧ BufferGeometry рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ! @ThreeDfish

рдореИрдВ рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ рд╕реАрдПрд╕рдЬреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдмреЗрд╣рддрд░ ThreeCSG рд╕рдорд░реНрдерд┐рдд рд╣реИред

рддреЛ рдпрд╣ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реИред рдореИрдВрдиреЗ рд╡рд╣ рдЯреИрдЧ рдирд╣реАрдВ рджреЗрдЦрд╛ред рдФрд░... рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ v1 рдЯреИрдЧ BufferGeometry рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ! @ThreeDfish

рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛, рдпрд╣ v1 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ BufferGeometry рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ :

function convertGeometryToTriangles(geometry) {
        if (isBufferGeometry(geometry)) {
            throw new Error('threecsg: Only Three.Geometry is supported.');
        }

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдереНрд░реАрд╕реАрдПрд╕рдЬреА рдХреЗ рдорд╛рд▓рд┐рдХ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рдЙрдирдХреА рдпреЛрдЬрдирд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рд╡реЗ рдмрдлрд░рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ? рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рднреА рдереЛрдбрд╝реА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рд╡рд╣рд╛рдВ BufferGeometry рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкреВрдЫрд╛ ...

рдмрд╛рддрдЪреАрдд рдХреЛ https://github.com/chandlerprall/ThreeCSG рдкрд░ рд╢рд┐рдлреНрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ @chandlerprall рдЙрдирдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА рджреЗрдЦрдХрд░ рдЦреБрд╢ рд╣реЛрдВрдЧреЗ

FWIW рдереНрд░реАрд╕реАрдПрд╕рдЬреА рдореЗрдВ рдПрдХ рдирдИ v1 рд╢рд╛рдЦрд╛ рд╣реИ рдЬреЛ рдПрдХ рдкреВрд░реНрдг рдкреБрдирд░реНрд▓реЗрдЦрди рдФрд░ рд╕рдлрд╛рдИ рд╣реИред рд╡рд┐рдорд╛рди рдЪрдпрдирдХрд░реНрддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдпрд╣ npm рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА (рдпрд╣ рднреА рджреЗрдЦреЗрдВ https://github.com/chandlerprall/ThreeCSG/issues/51)

рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП:

https://github.com/chandlerprall/ThreeCSG рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд CSG рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣рд╛рд▓ рдХреЗ рдкреНрд░рд╡рдЪрди рдордВрдЪ рд╕реВрддреНрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд░рд╛рдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрди рддреАрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рддреАрди.рдЬреЗрдПрд╕ рдХреЗ рд╕реАрдПрд╕рдЬреА рд╕рдорд░реНрдерди рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред

рдореИрдВрдиреЗ рдореЗрдбрдмрд╛рдпрд╡рди рд╕реАрдПрд╕рдЬреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдПрдХ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ .. рдпрд╣ рд╡рд░реНрддрдорд╛рди рддреАрди (103) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрдлрд░рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗред

https://github.com/manthrax/THREE-CSGMesh

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

@manthrax рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ three.js рдлрд╝реЛрд░рдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЬреЛ рд▓реЛрдЧ рдкреНрд▓рдЧрдЗрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдвреВрдВрдв рд▓реЗрдВрдЧреЗЁЯСН

https://discourse.threejs.org/t/looking-for-updated-plug-in-for-csg/6785

рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА! рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рд╕рдВрдкрд╛рджрди рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХрдИ рдЗрдВрдЬрди рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдм рд╣реИред

рдореЗрд░реА рдирд┐рдЬреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реАрдПрд╕рдЬреА рдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╣реИред

рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди "рд╕рдВрдмрдВрдзрд┐рдд рд░реЗрдкреЛ" рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реЗрдЯ рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕рдВрдЧрдарди рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╣рдо рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВред github.com/threejs @enricomarino рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди github.com/three-js рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рдерд╛ред рдореИрдВ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд┐рд╕реА рдХреЛ рднреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛, рдмрд╕ рдпрд╣ рд▓рдЧрд╛ рдХрд┐ рдирд╛рдо рдкрд░ рдХреВрджрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ!

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдВрдЧрдарди рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬреЛ рддреАрди.рдЬреЗрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред

https://github.com/three-js

рдореИрдВрдиреЗ рддреАрди.рдЬреЗрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдарди https://github.com/threejs рдмрдирд╛рдпрд╛ред

рджрд░рдЕрд╕рд▓, рдЙрд╕ рд╕рдордп, рдореИрдВрдиреЗ "рддреАрди.рдЬреЗрдПрд╕" рдореЛрдиреЛ рд░реЗрдкреЛ рдХреЛ рдХрдИ рд░реЗрдкреЛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛,
рдЬреИрд╕реЗ "рдереНрд░реАрдЬреЗрдПрд╕/рдХреЛрд░", "рдЯреНрд░реАрдЬ/рдЙрджрд╛рд╣рд░рдг", "рдереНрд░реАрдЬреЗрдПрд╕/рдПрдбрд┐рдЯрд░", "рдереНрд░реАрдЬреЗрдПрд╕/рдбреЙрдХреНрд╕",
рдЪреВрдВрдХрд┐ "mrdoob/three.js" рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдФрд░ рднрд╛рд░реА рд╣реЛ рдЧрдпрд╛ рд╣реИ...
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ...

рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдЧрдарди рдЖрдкрдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рд╣реИ!

рдореИрдВрдиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдбреЗрдореЛ рдФрд░ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЬреЛрдбрд╝рд╛ рд╣реИ:

https://github.com/manthrax/THREE-CSGMesh

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдорджрдж рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ!

@yomboprime @ThreeDfish
рдореИрдВрдиреЗ рдкреЛрд░реНрдЯ рдХреА рдЧрдИ CSG рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдФрд░ рдПрдХ рдбреЗрдореЛ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
https://github.com/manthrax/THREE-CSGMesh

@yomboprime @ThreeDfish
рдореИрдВрдиреЗ рдкреЛрд░реНрдЯ рдХреА рдЧрдИ CSG рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдФрд░ рдПрдХ рдбреЗрдореЛ рдЬреЛрдбрд╝рд╛ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
https://github.com/manthrax/THREE-CSGMesh

@ThreeDfish рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ CSG.toBufferGeometry рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВред CSG рдЕрднреА рднреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдЙрдЯрдкреБрдЯ рдЬреНрдпрд╛рдорд┐рддрд┐ (рдЖрдЧреЗ рдХреЗ рдмреВрд▓рд┐рдпрди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП) рдпрд╛ BufferGeometry (рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ) рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ @manthrax ?

@enricomarino рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ github.com/threejs рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ LWOLoader рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдкреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред BTW рдЖрдк . рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд░реНрдХ рд╡рд┐рд╡рд░рдг рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ

@yomboprime рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ ..

рдореИрдВрдиреЗ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдмрдлрд╝рд░рдЬреАрдореЗрдЯреНрд░реА рдпрд╛ рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдореЗрд╢ рджреЛрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ .. рдпрд╣ рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрдлрд╝рд░рдЬреАрдореЗрдЯреНрд░реА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

mesh.geometry = new THREE.BufferGeometry().fromGeometry(mesh.geometry)

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░реВрдкрд╛рдВрддрд░рдг рдмрд╣реБрдд рд╕реАрдзрд╛ рд╣реИред

Geometry -> BufferGeometry рд░реВрдкрд╛рдВрддрд░рдг рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдмрд╣реБрдд рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд╣реИ - рдпрд╣ рдЕрдиреБрдХреНрд░рдорд┐рдд рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдбреА-рдЗрдВрдбреЗрдХреНрд╕ рдХрд░реЗрдЧрд╛ рдФрд░ рд╢реАрд░реНрд╖ рд░рдВрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢реАрд░реНрд╖ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдЧрд╛ред BufferGeometry рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рд╢рд╛рдпрдж рдЖрджрд░реНрд╢ рд╣реЛрдЧрд╛ред

рд╕реАрдПрд╕рдЬреА рдСрдкрд░реЗрд╢рди рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐ рддреНрд░рд┐рдХреЛрдг рдкрд░ 3 рдЕрджреНрд╡рд┐рддреАрдп рд╡рд░реНрдЯреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред

рдпрд╣ рд╢реАрд░реНрд╖ рд░рдВрдЧреЛрдВ рдХреЛ рднреА рд╕рдВрднрд╛рд▓рддрд╛ рдирд╣реАрдВ рд╣реИред

рдкрд░рд┐рдгрд╛рдореА рдЬрд╛рд▓ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдЯреВрд▓реНрд╕/рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ/рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрдореНрд╣реЛред

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

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдереНрд░реА.рдЬреЗрдПрд╕ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЬрдЧрд╣ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ BufferGeometry рд╕реЗ рдЕрдзрд┐рдХ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рдмрдлрд╝рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдирд╛, рдЬреЗрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд░рдирдЯрд╛рдЗрдо рдкрд░, рдЪреБрдЯреАрд▓реЗ рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ .. рдФрд░ рдХреЛрдИ рднреА рддрдХрдиреАрдХ рдЬреЛ рдЖрдк рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдСрдХреНрдЯреНрд░реА/рдХреЗрдбреАрдЯреНрд░реА рдЬреЛ рднреА рд╣реЛ ..

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

рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрди рд╕реАрдПрд╕рдЬреА рд╕рдВрдЪрд╛рд▓рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдзреАрдореЗ рд╣реИрдВ .. рдореЗрд░реЗ рдЧрд┐рдЯ рдореЗрдВ рдбреЗрдореЛ рдПрдХ рдмреЙрдХреНрд╕ рдкрд░ рдХреЗрд╡рд▓ 10 рдСрдкрд░реЗрд╢рди рдкреНрд░рддрд┐ рдлреНрд░реЗрдо рдФрд░ 8 рд╕рдмрдбрд┐рд╡ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╣реИ ...

рдЙрд╕ рдиреЗ рдХрд╣рд╛ .. рдореИрдВрдиреЗ рдЕрднреА рдмреЗрдмреАрд▓реЛрди рд╕реАрдПрд╕рдЬреА рдбреЗрдореЛ рджреЗрдЦрд╛ .. рдФрд░ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рдЙрд╕реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдПрдХ рдмрдВрджрд░рдЧрд╛рд╣ рд╣реИ,
рдФрд░ рдпрд╣ рдЙрд╕ рдбреЗрдореЛ рдореЗрдВ рднреА рд░реАрдпрд▓рдЯрд╛рдЗрдо рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
https://www.babylonjs.com/demos/csg/

рдпрд╣рд╛рдБ рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХрд░рддреЗ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

http://vectorslave.com/csg/CSGDemo.html

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╕реАрдПрд╕рдЬреА рд╕рдВрдЪрд╛рд▓рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реАрдпрд▓рдЯрд╛рдЗрдо-рдлреНрд░реЗрдВрдбрд▓реА рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдпрд╣ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдЕрдВрддрддрдГ рддреАрди.js рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ examples/js/* рдФрд░ examples/jsm/* рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕ рд╕рдордп, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ BufferGeometry рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рд╕рдордп рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╕реАрдПрд╕рдЬреА рдХреЛрдб рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рдкрд░ рдЖрдВрддрд░рд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣реВрдВрдЧрд╛ ...

рдпрджрд┐ рдЖрдк рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ Geometry рдЗрдирдкреБрдЯ рдХрд░рдирд╛ рдФрд░ Geometry рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдПрд╕рдЬреА рдХреЗрд╡рд▓ рдЙрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ Geometry рдЬрд▓реНрдж рд╣реА рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ BufferGeometry рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

@manthrax QuickHull рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рдСрдкрд░реЗрд╢рди рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ Geometry рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд░реНрдз-рдХрд┐рдирд╛рд░реЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмреЗрд╣рддрд░ рд╣реИред рдЪреВрдВрдХрд┐ Geometry рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдХрдХреНрд╖рд╛рдПрдВ рд╕реАрдПрд╕рдЬреА рдХреЗ рд▓рд┐рдП рднреА рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИрдВред

@Donmccurdy @WestLangley @ Mugen87 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗред
рдореИрдВ рдЗрд╕реЗ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ BufferGeometry рдХреЗ рд╕рд╛рде рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреВрдВрдЧрд╛ред
рдореИрдВ рд░рдВрдЧ рдФрд░ рд╕рд╛рдордЧреНрд░реА/рд╕рдореВрд╣ рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

@enricomarino рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк рд╕рдВрдЧрдарди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрднреА рддрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдарди рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?

@mrdoob рдЬрд╝рд░реВрд░!

рд╣рд╛рдп рд╕рдм .. рдореИрдВрдиреЗ рд╕реАрдПрд╕рдЬреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдбреЗрдореЛ рдмрдирд╛рдпрд╛, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреАрдврд╝реА рдореЗрдВ рдПрдХ рдмрдЧ рддрдп рдХрд┐рдпрд╛, рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрддрд╛ рд╣реИ:

http://vectorslave.com/csg/CSGShinyDemo.html

рдФрд░ рдШ:
https://github.com/manthrax/THREE-CSGMesh

рдореИрдВ рдПрдХ BufferGeometry рдЕрдиреБрдХреВрд▓рди рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рдмреАрдЪ рд╕рд╛рдордЧреНрд░реА рдкреГрдердХреНрдХрд░рдг рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реАрдзреЗ SCAD рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

https://assetstore.unity.com/packages/tools/modeling/realtime-csg-69542

рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХреБрдЫ рд▓реЗрдЦ рд▓рд┐рдЦреЗ рд╣реИрдВ (рдХреБрд▓ рдЫрд╣ рднрд╛рдЧ рд╣реИрдВ):

http://sandervanrossen.blogspot.com/2010/05/realtime-csg-optimizations.html
http://sandervanrossen.blogspot.com/2010/05/realtime-csg-part-5.html

рдореИрдВрдиреЗ рдПрдХ рд╕реАрдПрд╕рдЬреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЛрд░реНрдЯ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рд╕рдордп рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдореИрдВ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

https://github.com/FishOrBear/csg.ts

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

@manthrax рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ!

@ рдореИрдВрдереНрд░реЗрдХреНрд╕

рдореИрдВ рдПрдХ BufferGeometry рдЕрдиреБрдХреВрд▓рди рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рд╕рдордп THREE.Geometry рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдФрд░ рдореЗрдВ рд▓рдЧ рд░рд╣реА рдереАрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ https://github.com/jscad/csg.js рдЬреЛ рдХреА рдХреЛрд░ CSG рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ https://openjscad.org/
рдореИрдВрдиреЗ рдЗрд╕реЗ рдмреНрд░рд╛рдЙрдЬ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдереНрд░реА рдмрдлрд░рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдПрдбреЙрдкреНрдЯрд░ рд▓рд┐рдЦрд╛ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИ рдЬрд┐рд╕ рдкрд░ @manthrax рдиреЗ рдЕрдкрдирд╛ рдХреЛрдб рдЖрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред (рдФрд░ рдпрд╣ рд╢реАрд░реНрд╖ рд░рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)

рдЙрд╕реА рдкрд╛рд╕реЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдВрдЦреЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП 32 рдЪреЗрд╣рд░реЛрдВ рд╡рд╛рд▓реЗ рдЧреЛрд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ,
рддреАрди-рд╕реАрдПрд╕рдЬреАрдПрдореЗрд╢ рдиреЗ 112 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рд┐рдпрд╛,
jscad/csg рдиреЗ 2.5 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рд┐рдпрд╛ !!!

рдпрд╣ 45 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИ...

рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ ...

@рд╕реЗрдмреАрдЯрд╛рдЗрдорд╡реЗрд╕реНрдЯрд░

рдХреНрдпрд╛ рдпрд╣ рдХрд╣реАрдВ рд░реЗрдкреЛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ csg.js рднреА MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИред

@mrdoob

рдореИрдВ рдПрдХ BufferGeometry рдЕрдиреБрдХреВрд▓рди рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рд╕рдордп рддреАрди.рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдХреЛрдбрдмреЗрд╕ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдЦрдиреЗ рдкрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рдБ, рдпрд╣ рдЕрднреА рднреА рддреАрди.рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЗрд╕реЗ рд╕реАрдПрд╕рдЬреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЕрднреА рдирд╣реАрдВ, рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдмрдирд╛рдКрдВрдЧрд╛ ...

рдЕрднреА рдирд╣реАрдВ, рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдмрдирд╛рдКрдВрдЧрд╛ ...

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

рдЕрднреА рдирд╣реАрдВ, рдЕрдЧрд░ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рддреЛ рдореИрдВ рдПрдХ рдмрдирд╛рдКрдВрдЧрд╛ ...

рд╣рд╛рдВ, рд╕реАрдПрд╕рдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг/рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ...

рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ @evanw рдХреЗ csg.js рдХреЗ BufferGeometry рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдереЛрдбрд╝реА рд╕рдлрд╛рдИ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬреЛ рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓реВрдВрдЧрд╛, рдлрд┐рд░ рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред

@mrdoob рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ CSG рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдореИрдВ рдкреАрдЖрд░ рдХрд░реВрдВрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд░реЗрдкреЛ рдмрдирд╛рдКрдВрдЧрд╛ред

@SebiTimeWaster рдореИрдВрдиреЗ рдЕрдм рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рджреЗрдЦреА, рдЙрдлрд╝ред рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫрд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ

@looeee рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдмрдВрджрд░рдЧрд╛рд╣ рд╣реИ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЖрд╡рд░рдг рд╣реИ? рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╕реАрдПрд╕рдЬреА.рдЬреЗрдПрд╕ рдХреЛ рд╕реАрдПрд╕рдЬреА рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдмрд╣реБрдд рд╕реА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдерд╛, рд╣реИ рдирд╛? рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдмрдлрд╝рд░рдЬреАрдореЗрдЯреНрд░реА рдореЗрдВ рдФрд░ рдЙрд╕рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@looeee рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣рд╛рдВ рдПрдХ рдирдпрд╛ рд░реЗрдкреЛ рд╣реИ ?
рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢реНрд░реАрджреВрдм рдЕрднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рднрдВрдбрд╛рд░ рдПрдХ рдкреВрд░реНрдг рд╕реАрдПрд╕рдЬреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИ ... рд╢рд╛рдпрдж examples/js(m)/libs/ рдореЗрдВ рд╕реАрдПрд╕рдЬреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝реЗрдВ?

рддреЛ, рдпрд╣рд╛рдБ рдореЗрд░реА рдкреВрд░реА рдмрд╛рдд рд╣реИ (рдпрд╣ https://github.com/jscad/csg.js рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ):
https://github.com/SebiTimeWaster/three-csg
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде (рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг):
https://sebitimewaster.github.io/three-csg/examples/example2.html

@looeee рдЖрдк рдПрдХ рд╣реА рддрдирд╛рд╡ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣рдорд╛рд░реЗ рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...

@looeee рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдмрдВрджрд░рдЧрд╛рд╣ рд╣реИ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЖрд╡рд░рдг рд╣реИ?

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╢рд╛рдЦрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде csg.js рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЖрд╡рд░рдг рд╣реИ:

  • рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ
  • рдлрд╝рдВрдХреНрд╢рди рдирд╛рдореЛрдВ рдХреЛ рддреАрди.js рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ рдФрд░ рдХрд╕реНрдЯрдо рд╡реЗрдХреНрдЯрд░ рд╡рд░реНрдЧ рдХреЗ рдмрдЬрд╛рдп Vector3 рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ,
  • рдорд╛рдореВрд▓реА рдПрдкреАрдЖрдИ рд╕реБрдзрд╛рд░

рд╡рд╣ рд╢рд╛рдЦрд╛ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рд╛рдл рдХрд░ рджреВрдВ рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕реНрд▓реЛ рд╣реИред

рдореЗрд░реА рдПрдХ рдФрд░ рд╢рд╛рдЦрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЧрддрд┐ рд╕реБрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рдЖрдЙрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ред

@SebiTimeWaster , рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХреЛрдб рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░

@SebiTimeWaster рдХреНрдпрд╛ рдЖрдкрдХрд╛ рд╕реАрдПрд╕рдЬреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рд╡рдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдмрдирд╛рд╡рдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрд░реЗ рдЕрдВрджрд░ рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВред

2020-06-08 20_20_34-Discoverthreejs com - three js CSG Demo A

рдпрд╣рд╛рдБ рд░реЗрдкреЛ рд╣реИ:
https://github.com/looeee/threejs-csg

рджреЛ рд╢рд╛рдЦрд╛рдПрдВ рд╣реИрдВ, _master_, рдЬреЛ csg.js рдХреЗ рдПрдХ рдЖрд╡рд░рдг рдХреЗ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ _advanced_ред рд╡рд╣рд╛рдВ рдореИрдВрдиреЗ LogicalOR рдФрд░ complement рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд╕реАрдПрд╕рдЬреА рд╕рдВрдЪрд╛рд▓рди рд╡реНрдпрдХреНрдд рдХрд┐рдП рд╣реИрдВ:

рд╕рдВрдШ : _(рдмрд╛рдПрдВ || рджрд╛рдПрдВ)_
рдШрдЯрд╛рдирд╛ : _!(!рдмрд╛рдПрдВ || рджрд╛рдПрдВ)_
рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж : _!(!рдмрд╛рдПрдВ || !рджрд╛рдПрдВ)_

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдШрдЯрд╛рд╡ рдФрд░ рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрди рдереЛрдбрд╝рд╛ рддреЗрдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкреВрд░реНрдг CSG рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдЖрдзрд╛рд░рд┐рдд рдорд░реНрдЬ рдФрд░ рдХрд▓реНрд▓ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдкреНрд░рдпреЛрдЧ рднреА рд╣реИрдВ, рдЬреЛ рдПрдХ рд╕рд╛рде рдХрдИ рдСрдкрд░реЗрд╢рди рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЕрдЪреНрдЫреЗ рд╕реНрдкреАрдбрдЕрдк рджреЗрддрд╛ рд╣реИред

рдПрдХ рдмреЗрд╣рддрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдФрд░ рдЬреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдЬреНрдпрд╛рдорд┐рддрд┐ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдПрдХ рдмреАрд╡реАрдПрдЪ рдмрдирд╛рдирд╛ рдФрд░ рдЕрдВрддрд┐рдо рдЬреНрдпрд╛рдорд┐рддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЗрдбрд╝ рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛ред

@SebiTimeWaster рдЕрднреА рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡реИрдХрд▓реНрдкрд┐рдХ CSG рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред рдЕрдЧрд░ рдореЗрд░реЗ рд░реЗрдкреЛ рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╣реИ рддреЛ рдЗрд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рдЯреНрд╡реАрдЯ рдореЗрд░реА рднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдмрддрд╛рддрд╛ рд╣реИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП рд░реАрдпрд▓рдЯрд╛рдЗрдо рд╕реАрдПрд╕рдЬреА рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕реНрд░реЛрдд рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИ, рдЬреАрдердм рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ рдпрджрд┐ рдХреЛрдИ рдЗрд╕рдореЗрдВ рдЧрд╣рд░реА рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд░реВрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ:

https://github.com/LogicalError/realtime-CSG-for-unity

рдпрджрд┐ рдЖрдк рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдмреНрд▓реЙрдЧ рдкрд░ рдЙрдирдХреЗ CSG рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рддрдХрдиреАрдХреА рдкреЛрд╕реНрдЯ рднреА рд╣реИрдВ:

https://sandervanrossen.blogspot.com/search?q=Realtime+CSG

рдЗрд╕ рд╕рд╛рд▓ рдорд╛рд░реНрдЪ рдореЗрдВ рд╕реАрдПрд╕рдЬреА рдкрд░ рдЙрдирдХреА рдУрд░ рд╕реЗ рдПрдХ рдирдИ рдЬреАрдбреАрд╕реА рд╡рд╛рд░реНрддрд╛ рднреА рд╣реБрдИ:

https://www.youtube.com/watch?v=Iqmg4gblreo

рдореИрдВрдиреЗ рдЦреБрдж рдпреВрдирд┐рдЯреА рдореЗрдВ рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдпрд╣ рднреА рд╣реИ рдЬреЛ рдПрдХрддрд╛ рд╕реАрдПрд╕рдЬреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕реА # рдРрдк рд╣реИ, рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЙрддрдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

https://github.com/LogicalError/Realtime-CSG-demo

рдЧреЛрдбреЛрдЯ рдЗрдВрдЬрди рдореЗрдВ рд╕реАрдПрд╕рдЬреА рднреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдбреЙрдХреНрд╕ / рдХреЛрдб ред

Carve CSG рдФрд░ xcsg (рдЬреЛ Carve рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ), рдФрд░ Cork рднреА рд╣реИ ред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдЗрди рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ (рд╢рд╛рдпрдж рдпрд╣ рд╕реАрдкреАрдкреА рдХреЗ рдмрд╛рдж рд╕реЗ рдирдХреНрдХрд╛рд╢реА рдХрд░реЗрдВ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рд╡рд╛рд╕рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдВред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдЗрди рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ (рд╢рд╛рдпрдж рдпрд╣ рд╕реАрдкреАрдкреА рдХреЗ рдмрд╛рдж рд╕реЗ рдирдХреНрдХрд╛рд╢реА рдХрд░реЗрдВ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рд╡рд╛рд╕рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдВред

рдореИрдВ рдПрдорд╕реНрдХреНрд░рд┐рдкреНрдЯрди рд╕реЗ рдХрдо рдкрд░рд┐рдЪрд┐рдд рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмреБрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Carve рдФрд░ Cork GPL рдФрд░ LGPL рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдмреНрд▓реЗрдВрдбрд░ рдиреЗ рдЕрднреА-рдЕрднреА рдмреВрд▓рд┐рдпрди рдСрдкрд░реЗрд╢рдВрд╕ рдЯреВрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЯреНрд╡реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕ рдкреЗрдкрд░ рд╕реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

http://www.cs.columbia.edu/cg/mesh-arrangements/

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