MNLT's life story
Tag
Media Log
Location Log
Guest Book
Admin
Write
2009. 6. 3. 10:41
[C/C++] 3차 베지어 곡선
2009. 6. 3. 10:41
in
Programming/C/C++
3차 베지어 곡선.
대충 이런식...
#define B1(t) ((t) * (t)) #define B2(t) ((2) * (t) * ((1) - (t))) #define B3(t) (((1) - (t)) * ((1) - (t))) int main(void) { XYZ x1 = XYZ(1, 1, 1); XYZ x2 = XYZ(2, 2, 2); XYZ x3 = XYZ(3, 3, 3); for(float detail = 0.0f; detail <= 1.0f; detail += (1.0f / 30.0f)) { XYZ result = _getBezier(x1, x2, x3, detail); // 출력 (Draw) } return 0; } // v1 = 시작정점, v2 = 중간정점, v3 = 끝정점 // fDetail = 0.0 부터 1.0 까지의 값. 0.0은 시작정점, 1.0은 끝정점을 나타낸다. XYZ _getBezier(const XYZ v1, const XYZ v2, const XYZ v3, const float fDetail) { XYZ vResult = XYZ::ZERO; vResult.x = v3.x * B1(fDetail) + v2.x * B2(fDetail) + v1.x * B3(fDetail); vResult.y = v3.y * B1(fDetail) + v2.y * B2(fDetail) + v1.y * B3(fDetail); vResult.z = v3.z * B1(fDetail) + v2.z * B2(fDetail) + v1.z * B3(fDetail); return vResult; }
공유하기
게시글 관리
MNLT's life story
저작자표시
Posted by MNLT
뿌잉?
by
MNLT
Category
분류 전체보기
(110)
Life
(15)
Note
(2)
Diary
(1)
Cat
(0)
Issue/Paper
(6)
Computer
(6)
Database
(2)
mysql
(1)
mariadb
(1)
Linux
(9)
Ubuntu
(7)
Enjoy
(14)
Mabinogi
(4)
칠용전설
(5)
Rhythm Game
(1)
Ez2on
(4)
Hell of Fame
(0)
Programming
(70)
Memo
(6)
C/C++
(22)
Objective-C
(3)
VC++ [MFC]
(18)
Network
(3)
Boost
(4)
ASP
(1)
Jlet
(1)
Etc
(3)
문제풀이
(3)
Ogre
(4)
Design Pattern
(1)
UE4
(1)
Tag Cloud
all combo
Visual C++
MFC
vc++
6key
ubuntu
Ogre3D
c언어
IT
Boost
문제풀이
C
칠용전설
Linux
Visual Studio
EZ2ON
C++
일기
diary
Programming
Archive
Recent Comment
Recent Article
My Link
복태의 tistory
Flychicken의 tistory
스루카의 tistory
Hell of Fame
탐진강님의 tistory
레드티의 tistory
꼬물이네 가족 (고양이만 열식구)
Total
Today
Yesterday
Rss Feed
티스토리툴바