점근선: 카메라에 더 가까운 물체가 더 작은 이유는 무엇입니까?

점근선: 카메라에 더 가까운 물체가 더 작은 이유는 무엇입니까?

다음 예에서는 카메라에 가장 가까운 원자가 반대 방향이어야 함에도 불구하고 나머지 원자보다 훨씬 작은 것을 볼 수 있습니다. 그렇지 않습니까?

MWE는 다음과 같습니다.

size(700);
import solids;
import texcolors;
import three;

currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=1.0
);

// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;

//%Atom positions

triple Atom1 = (-1.1547, -2., 3.26599);
triple Atom2 = (-1.1547, 2., 3.26599);
triple Atom3 = (2.3094, 0., 3.26599);
triple Atom4 = (0,0,0);

triple[] atoms={
    Atom1,Atom2,Atom3,Atom4,
};

draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp));

real cylR=0.062;

material baseM = material(gray(0.5), black, gray(0.6), black);

void Connect(guide3 g){
    draw(surface(
        cylinder(
            point(g,0),cylR,arclength(g),point(g,1)-point(g,0)
        )),baseM
    );
}

//%connections from Atom1 to all others
Connect(Atom1--Atom2);
Connect(Atom1--Atom3);
Connect(Atom1--Atom4);


//%connections from Atom2 to Atom2+n
Connect(Atom2--Atom3);
Connect(Atom2--Atom4);


//%connections from Atom3 to Atom4
Connect(Atom3--Atom4);


material m  = material(gray(0.5), black, RoyalBlue, black);
// material m2 = material(

void drawSpheres(triple[] C, real R, pen p=currentpen){
    for(int i=0;i<C.length;++i){
        draw(surface(sphere(C[i],R)),m);
    }
}


 drawSpheres(atoms,0.5,RoyalBlue);

여기에 이미지 설명을 입력하세요

답변1

그들은 실제로 같은 크기입니다. 착시 현상으로 인해 가까이 있는 것이 더 작아 보입니다. 당신의 두뇌는 그것이 더 가깝기 때문에 더 작다고 "가정"하지만 시야에서 같은 각도에 걸쳐 있습니다.

더 가까운 것을 더 크게 만들려면 "직교"를 "원근감"으로 바꾸십시오.

여기에 이미지 설명을 입력하세요

관련 정보