ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Matlab] 매트랩으로 아주 간단하게 "사각형(평면)" 그리기 / patch, fill3, meshgrid - surf 함수
    Matlab 2024. 3. 24. 17:43
    반응형

    Patch  Function

    3D 차원에서 아주 간단하게 사각형을 그려보자. 

    patch( [R -R -R R], [R R -R -R], [0 0 0 0])

     

    왼쪽에서부터 x, y, z 좌표이며 []로 감싸져있는 것은 

     

    다음과 같이 1x4의 크기를 가지기 때문에, 그 차원과 좌표 순서를 맞춰줘야한다.

    (빨간 점은 다른 그래프이므로 무시 요함)

    아래와 같이 좌표에 맞게 사각형이 그려지고, 색을 넣기 위해서는 추가적인 option이 있어야한다.  

    색깔과 투명도, 선의 투명도에 대한 설정을 포함한 코드는 아래와 같다. 

    patch( [R -R -R R], [R R -R -R], [0 0 0 0], 'FaceColor','r', 'FaceAlpha',.2, 'EdgeAlpha',0);

     


    Fill3 Function

    테스트를 해보니 간혹 patch 함수가 제대로 작동하지 않는 경우가 발생했다. (왜 그런지는 잘 모르겠다. 아시는 분은 댓글 부탁드립니다..)

    그래서 대안으로 사용할 함수는, fill3이다. 

     

    fill3( [R -R -R R], [R R -R -R], [1 1 1 1], 'r');

     

    fill3함수는 기본적으로 좌표와 색깔이 인자로 다 들어가야한다. 

    추가 옵션을 넣어주고 싶은 경우, 색깔 이후 매개변수에 넣어주면 된다. 

     

    (옵션이 추가된 fill3 코드)

    fill3( [R -R -R R], [R R -R -R], [1 1 1 1], 'r', 'FaceAlpha',.2, 'EdgeAlpha',0);

     

     


    Meshgrid - surf Function

    아래와 같이, x와 y 좌표를 범위로 두고 h를 하나의 상수로 넣으면 해당 범위 안의 평면이 생긴다. 

    아래에서 보이는 mesh_P 변수는 해당 범위를 얼마나 잘게 조갤 것인가에 대한 변수이다. 

     

    [X,Y,Z] = meshgrid(-R:mesh_P:R,-R:mesh_P:R,h);

     

     

     

    그렇게 만들어낸 범위를 아래 코드로 그릴 수 있다. 

    surf(X,Y,Z)
    반응형

    댓글

Designed by Tistory.