ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½:
Π― Ρ
ΠΎΡΠ΅Π» ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°,
window.addEventListener( 'resize', onWindowResize, false );
function onWindowResize(){
renderer.setSize( window.innerWidth, window.innerHeight );
}
ΠΡΠΎ "Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ" ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ²Π΅Ρ ΡΠ°ΡΡΠΈΡ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ½ΡΠΉ, Π° ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ ΡΠ°ΡΡ Π² ΡΠΉΡΠ° ... ΠΈ Ρ Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ :-)
Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ:
window.addEventListener( 'resize', onWindowResize, false );
function onWindowResize(){
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ Β«divΒ» Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° ΠΠΠ ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΊΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Β«divΒ» ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Ρ ΠΎΠ»ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ» div. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ $ ('# center-pane'). Width () ΠΈ .height () Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ "center" div ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ.
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΠΎΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΡ ΠΎΠΆΠ΅, Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ camera.updateProjectionMatrix () ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ alert () Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΎΠ½ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° Ρ
ΠΎΠ»ΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½ΠΎ Π΅Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, Π²Π΅ΡΠ½ΠΎ?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ CombinedCamera. (Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π½Π΅ΠΌΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ);
Π― Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎΡ ΠΌΠ°ΠΊΠ΅Ρ: http://layout.jquery-dev.net/demos/simple.html
ΠΠ½Π΅ Π½ΡΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎΠ±Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ "ui-center-pane" Π±Π΅Π· ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ,
Brent
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Π½ΠΎ Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π² ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅?
Π₯ΠΎΡΠΎΡΠΎ, ΠΏΡΠΎΡΡΠΈ.
Brent
1 ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ²ΡΠ·Π°ΡΡ ΠΌΠ΅Π½Ρ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ CombinedCamera
ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ Π΅ΡΡΡ:
https://github.com/mrdoob/three.js/blob/master/src/extras/cameras/CombinedCamera.js
2 ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° updateProjectionMatrix ().
ΠΠΎΠ³Π΄Π° Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠΆΡ Π½Π° http://layout.jquery-dev.net/demos/simple.html ΠΈ ΠΌΠ΅Π½ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Ρ Π½Π΅ Π²ΠΈΠΆΡ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. Π― Π²ΠΈΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ Uncaught TypeError: Object #<Object> has no method 'getCookie'
3 ΠΠ°ΠΊ ΠΈ ΡΡΠΎ ΠΌΠ½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°. (Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠ΅ΡΡ Π»ΡΡΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ)
ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½ ΠΊΠ°ΠΌΠ΅ΡΡ (ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ°). Π ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠ΅ΡΠ°. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π»ΡΡ, ΡΠΈΡΠ°ΠΉΡΠ΅ Π² # 988.
camera.aspect = ΡΠΈΡΠΈΠ½Π° / Π²ΡΡΠΎΡΠ°; ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ camera.updateProjectionMatrix () Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ ΠΌΠΎΠΈΠΌ ΠΌΠ°ΠΊΠ΅ΡΠΎΠΌ, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ onWindowResize ().
Π‘ΡΡΠ»ΠΊΠ° UI-Layout Π±ΡΠ»Π° Π½Π° ΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ? camera
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ updateProjectionMatrix()
.
ΠΠΎΡ ΠΌΠΎΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
https://github.com/BioInfoBrent/BIOINFORMATICS
Π€Π°ΠΉΠ»:
ΠΠΠΠΠΠ€ΠΠ ΠΠΠ’ΠΠΠ / js / networkMain.js
Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π·Π±ΠΈΡ Π½Π° ΡΠ°ΡΡΠΈ, Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ΅ΠΌΠ΅ΡΡΡΠ° Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ "SWITCH", Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΊΠΎΠ½ΡΠΈΡΡ Ρ ΡΡΠΈΠΌ.
Π― Π·Π°Π²Π΅ΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ Π½Π΅Π΄Π΅Π»ΠΈ, ΡΡΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° THREE.js. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΈ Ρ ΡΠΌΠΎΠ³Ρ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΡΠ²ΠΎΠΈ Π²ΠΎΠΏΡΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π΄Π΅Π½Ρ ΠΈΠ»ΠΈ Π΄Π²Π°.
ΠΡ
Ρ Π²ΠΈΠΆΡ. CombinedCamera
camera Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ updateProjectionMatrix()
.
@ zz85 : ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ updateProjectionMatrix()
ΠΌΠ΅ΡΠΎΠ΄ CombinedCamera
ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ updateProjectionMatrix()
ΠΊΠ°ΠΊ Π΄Π»Ρ cameraO
ΠΈ Π΄Π»Ρ cameraP
?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! Π― ΠΏΡΠΎΠ²Π΅ΡΡ ΡΡΠΎ. Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
ΠΠ΄ΡΠ΅Ρ: http://cas-biodb.cas.unt.edu/bionet/dev.html
-ΠΠ½ΠΎΠΏΠΊΠ° "Π‘Π΅ΡΡ" Π²Π²Π΅ΡΡ
Ρ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠ°ΡΡΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ!
ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
camera.aspect = 1;
camera.updateProjectionMatrix ();
renderer.setSize (window.innerWidth, window.innerHeight);
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²Π΅ΡΡΠΈΡ 66 ΠΈ Π·Π²ΠΎΠ½Ρ
window.addEventListener( 'resize', onWindowResize, false );
function onWindowResize(){
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
}
Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ CombinedCamera
. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅
function onWindowResize(){
if(camera.inPerspectiveMode){
camera.cameraP.aspect = window.innerWidth / window.innerHeight;
camera.cameraP.updateProjectionMatrix();
}
else{
camera.cameraO.left = window.innerWidth / - 2;
camera.cameraO.right = window.innerWidth / 2;
camera.cameraO.top = window.innerHeight / 2;
camera.cameraO.bottom = window.innerHeight / - 2;
camera.cameraO.updateProjectionMatrix();
}
renderer.setSize( window.innerWidth, window.innerHeight );
}
Π― Ρ ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ glft Π² React Three Fibre
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ: