본문 바로가기

물리학/Mathematica

3강. 입체 하트 그래프 그리기

3강

2013년 1월 1일 화요일

오전 3:58

오랜만에 돌아온 매스매티카 강의~~~

매스매티카 강의는 파일부터 받아두고 시작하는 것 아시죠? ㅋㅋ


3강예제.nb

   

얼마 전 이과생의 하트그리기♥ 라는 게시물을 봤습니다.

   

   

아주 잘 그렸는데요 ㅋㅋㅋㅋㅋㅋㅋ

   

오늘 우리는 매스매티카로 하트를 그려 보도록 해요~

그것도 3D 입체로!!!

   

일단 입체 하트방정식을 모르니까 찾아야겠죠?

우리들의 지식인

울프람 알파는 알고 있겠죠 ㅋㅋㅋ

   

   

검색했더니... 역시나!! 나옵니다.

   

   

Taubin's heart surface

   

진짜 예쁜 하트모양인데요~~

식이 변수3개의 6차식이네요 ㅡ.ㅡ

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

   

자~~ 그럼 이놈을 매스매티카에 입력.... 하려는데...

너무 길죠?

   

   

요놈을 누르시면

   

   

이렇게 식을 퍼갈 수 있게 됩니다.

   

이렇게 복사 한 식을 매스매티카에 입력합니다.

   

   

식만 덩그러니 입력하면 안되겠죠?

그리고 그냥 Plot 명령어를 쓰는 것이라면 강좌가 필요 없죠~~

   

오늘 배울 명령어는 ContourPlot3D입니다.

   

왜냐하면 Taubin's heart surface 의 방정식이

   

   

이런 형태이기 때문입니다.

Contour는 윤곽, 외형, 등고선...

이런 의미가 있는 단어로

ContourPlot은 함수값이 같도록 만드는 변수들의 값을 구해서

좌표상에서 모두 찍어줘서 그래프로 그릴 때 쓰는 것 입니다.

   

   

   

이렇게 원의 형태의 그래프가 여러 개 나옵니다.

아직 우변의 값을 정해 주지 않았기 때문에

   

   

이런 원들이 다 그려지기 때문에 이런 그래프가 나오는 것 입니다.

   

이 때, 우변의 값을 딱 정해주면

   

   

이렇게 딱 하나의 도형만 나오는 것 입니다.

   

그리고 우리가 지금 그릴 하트 그래프도

   

   

이 식을 만족하는 점을 모두 찍은 도형이라 ContourPlot명령을 쓰긴 쓰는데

도형이 3차원이기 때문에 ContourPlot3D 명령을 쓰는 것 입니다.

   

그럼 입력을 하는데... 주의할 점!!!

끝에 =0 이라고 되어있는 부분을 ==0으로 바꿔줘야 합니다.

   

매스매티카에서

   

a+b=0의 의미는

a+b라는 함수에 0이라는 값을 입력한다.

이런의미이고

   

a+b==0 의 의미가

a+b의 값이 0이 되도록 하는 a와 b를 찾아라

이런 의미입니다.

   

그러니까 아래와 같이 입력하고~~~

   

   

실행을 했더니

   

   

그래프가 나오긴 했는데... 왜 이렇게 길쭉하냐 ㅡ.ㅡ

   

음.......... 맘에 들지 않아요!!

   

다른 식을 찾아 보겠어요!!

   

구글링~~~구글링~~~

   

식을 몇 개 찾아서 대입해 봤는데... 이게 제일 괜찮네요 ㅋㅋㅋ

   

   

우리의 사랑이 가득한 붉은 심장을 표현하기 위해

등고선을 없애고 색깔을 붉은색으로 바꿔 보았어요~!!

   

옵션은 스스로 찾아서 적용해야 하는 것 아시죠?

옵션 적용법 모르시면 1강, 2강 보세요~~^^

   

그럼 모두들 행복한 연애질 하세요~~

   

이 포스팅을 사랑하는 여친느님께 바칩니다 ♥

   

   

Microsoft OneNote 2010을(를) 사용하여 작성했습니다.
모든 노트 및 정보를 한 곳에서 볼 수 있습니다.