파이썬 1일차

Programing/Python 2012. 5. 7. 17:34 |

공부 참조 싸이트 : http://codejob.co.kr/docs/view/2/

 

파이썬으로 할수 있는 일

 

- GUI(Graphic User Interface) 프로그램 : Tkinter이용 그외 wxPython, PyQT, PyGTK 있음

 

- C/C++ 과 결합 가능

 

- CGI(Common Gateway Interface) 프로그래밍 : 쉽게 말해서 웹상의 게시판이나 방명록을 말한다.

 

- 수치연산 프로그래밍 : 파이썬은 수치연산에 적합한 언어 X, 하지만  Numeric Python이라는 수치

   연산 모듈을 제공한다

 

- 데이터베이스 프로그래밍 :  Sybase, Infomix, 오라클, MySQL, Postgresql등의 데이터 베이스에

접근할 수 있게 해주는 도구들을 제공한다

pickle이라는 모듈은 파이썬에서 쓰이는 자료들을 변형없

이 그대로 파일에 저장하고 불러오는 일들을 해 준다.

 

파이썬 숫자형

다음의 복소수 예들을 보자.
복소수.real은 복소수의 실수 부분을 돌려준다.

>>> a = 1+2j
>>> a.real
1.0

 

복소수.imag는 복소수의 허수 부분을 돌려준다.

>>> a = 1+2j
>>> a.imag
2.0

 

복소수.conjugate()는 복소수의 켤레 복소수를 돌려준다.

>>> a = 1+2j
>>> a.conjugate()
(1-2j)
 

다음에 알아야 될 연산자로 ** 라는 연산자가 있다. 이것은 x ** y처럼 사용되었을 때 x의 y승 값을 돌려 준다. 다음의 예를 통해 알아보자.

>>> a = 3
>>> b = 4
>>> a ** b
81

 

파이썬 문자열

""나 ''을 표시하고 싶을때

>>> print ('"조재호"')

"조재호"

>>> print ("'조재호'")

'조재호'

"를 표시하고 싶을 때는 앞에 '

'를 표시하고 싶을 때는 앞에 "

"" 이거나 '' 하면 에러난다.

이게 헷갈리면 \ 역슬레쉬 사용하면 된다.

>>>print ("\'조재호\'") 이런식으로 사용하면 됨.

문자열 여러줄 처리

연속된 이중인용부호 세 개(""") 이용
multiline=“”“
Life is too short
You need python
Python is powerful language
“”“
 
이스케이프 코드

코드              설명
----------------------------------------
\n               개행 (줄바꿈)
\v               수직 탭
\t               수평 탭
\r               캐리지 리턴
\f               폼 피드
\a               벨 소리
\b               백 스페이스
\000             널문자
\\               문자 "\"
\'               단일 인용부호(')
\"               이중 인용부호(")
문자열 합치기(Concatenation)
>>> head = "Python"
>>> tail = " is fun!"
>>> print head + tail
Python is fun!
 
 
문자열 곱하기
>>> a = "python"
>>> print a * 2
pythonpython
 
print "=" * 50
print "My Program"
print "=" * 50
==================================================
My Program
==================================================
 

우와 이건 정말 편한거 같음!!!!!!

 

 

인덱싱과 슬라이싱

>>> a = "Life is too short, You need Python"

>>> a[-2] 'o' >>> a[-5] 'y'

 

마이너스 기호는 익덱싱이 거꾸로 메겨지는것이다.

 

Life is too short, You need Python 0 1 2 3 (십단위) 0123456789012345678901234567890123

-3 -2 -1 ( 거꾸로 마이너스단위 )

4321098765432109876543210987654321

 

예 ) y 인덱스는 a[29] 와 a[-5]두개 다된다.

 

 

>>> a[0:4] 'Life'

 

0번째 배열에서 4번째 배열까지 이게 슬레이싱이다.

0에서 4라서 0,1,2,3,4 이렇게 다섯 글자가 나와야 할거 같지만

숨겨진 수식은

0 <= a < 4 이므로 4개만 나온다.

 

 

a[시작번호:끝번호]에서 끝번호 부분을 생략하면 시작번호부터 그 문자열의 끝까지를 뽑아내게 된다.

>>> a[19:]
'You need Python'


a[시작번호:끝번호]에서 시작번호를 생략하면 그 문자열의 처음부터 끝번호까지 뽑아내게 된다.

>>> a[:17]
'Life is too short'

 

 

스레이싱의 예

>>> a = "20010331Rainy" >>> year = a[:4] >>> day = a[4:8] >>> weather = a[8:] >>> year '2001' >>> day '0331' >>> weather 'Rainy'

 

 

문자열 포매팅(Formatting)

 

두 개 이상의 값을 치환

>>> number = 10
>>> day = "three"
>>> print "I eat %d apples. so I was sick for %s days." % (number, day)
I eat 10 apples. so I was sick for three days.
 

 

 

[참고] 포맷팅 연산자 %d와 %를 같이 쓸 때는 %%를 >>> print "Error is %d%." % 98 당연히 결과값으로 "Error is 98%."가 출력될 것이라고 예상하겠지만 파이썬은 에러 메시지를 보여준다. 이유는 문자열 포맷코드인 %d 와 % 가 같은 문자열 내에 존재하면 %를 나타내기 위해서는
반드시 %%로 해야 %로 되는 법칙이 있다. 이건 꼭 기억해두어야 한다.
하지만 문자열 내에 %d 같은 포맷팅 연산자가 없으면 %는 홀로 쓰여도 상관이 없다. 따라서 위 예를 제대로 실행될 수 있게 하려면 다음과 같이 해야 한다. >>> print "Error is %d%%." % 98 Error is 98%.

 

 

예 1) 정렬과 공백
>>> print "%10s" % "hi"
        hi
^^^^^^^^^^

즉 "%10s"의 의미는 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.

그렇다면 반대쪽인 왼쪽 정렬은 "%-10s"가 될 것이다.


확인해 보자.

>>> print "%-10sjane." % 'hi' 
hi        jane.
^^^^^^^^^^

왼쪽으로 정렬하고 나머지는 공백으로 채웠음을 볼 수 있다.


예 2) 소숫점 표현

>>> print "%0.4f" % 3.42134234
3.4213

즉, 3.42134234를 소수점 4번째까지만 나타내고 싶을 경우에 위와 같이 하였다. 즉 여기서 '.'의 의미는 소수점 포인트를

말하고 그 뒤의 숫자 4는 뒤에 나올 숫자의 개수를 말한다. '.'앞의 숫자는 이전의 예에서와 같이 오른쪽 또는 왼쪽 정렬을

말하는 숫자이다. 
 

>>> print "%10.4f" % 3.42134234
    3.4213
^^^^
 
 
함수설명
a.upper()문자열 a를 모두 대문자로 바꾸어 준다.
a.count(x)문자열 a중 x와 일치하는 것의 갯수를 반환한다.
a.find(x)문자열 a중 문자 x가 처음으로 나온 위치를 반환한다. 없으면 -1을 반환한다.
a.index(x)문자열 a중 문자 x가 처음으로 나온 위치를 반환한다. 없으면 에러를 발생시킨다.
a.join(s)s라는 문자열의 각각의 요소 문자사이에 문자열 a를 삽입한다.
a.lower()문자열 a를 모두 소문자로 바꾸어 준다.
a.lstrip()문자열 a의 왼쪽 공백을 모두 지운다.
a.rstrip()문자열 a의 오른쪽 공백을 모두 지운다.
a.strip()문자열 a의 양쪽 공백을 모두 지운다.
a.replace(s, r)문자열 a의 s라는 문자열을 r이라는 문자열로 치환한다.
a.split([s])문자열 a를 공백으로 나누어 리스트값을 돌려준다.
a.swapcase()문자열 a의 대문자는 소문자로, 소문자는 대문자로 각각 바꾸어 준다.

 

'Programing > Python' 카테고리의 다른 글

파이썬 3일차  (0) 2012.05.09
파이썬 2일차 - 1  (0) 2012.05.09
파이썬 2일차 - 2  (0) 2012.05.08
파이썬을 쉽게 사용하는 PyScripter 설치하기  (0) 2012.05.07
파이썬(Python) 설치 방법 3.2.2버전  (0) 2012.05.07
Posted by 부우산사나이
:

 

 

1. 자체 포맷 컨버팅 

smd포맷을 읽어 와 중복된 정점을 없애고 인덱스을 만들어 오브젝트을 그릴 때 속도 업을 했습니다.

그리고 이진파일로 바로 바꿔서 로딩속도을 올렸습니다.

 

 

그후 이진 파일로 컨버팅 자체 포맷 *.cjh 생성됩니다.

2. 캐릭터 로드 / 회전

컨버팅된 캐릭터 or 오브젝트을 로드하는 버튼입니다. 로드된 캐릭터를 360도 회전 시키는 버튼입니다

 

3. 텍스쳐 바꾸기

디퓨즈 맵, 노말 맵, 글로스 맵, 알파 맵을 바로 불려서 적용된텍스쳐로 확인 할 수 있습니다.

 

4. 셰이더효과

범프매핑, 그로우, 퐁쉐이딩, 카툰 이 네 가지 셰이더 효과를 적용된 오브젝트를 볼 수 있습니다.

 

 

5. 캐릭터 수정

오브젝트의 스케일과 회전을 수정할 수 있습니다.

스케일, 회전 버튼은 마우스 드래그로 수정 가능한 버튼이고 옆에 [] 버튼은 수치를 입력하여 수정 가능 합니다.

 

6. 충돌범위와 충돌위치 지정

구와 OBB박스로 충돌 범위와 위치를 지정할 수 있게 해주는 부분입니다. 충돌 부분을 여러 개로 만들고, 저장,로드, 수정이 가능합니다.

 

  

1. 이진파일로 컨버팅

애니smd파일을 이진파일로 컨버팅 합니다.

 

2. 애니 로드

이진 파일로 컨버팅된 파일을 로딩 합니다.

 

3. 애니메이션

로드된 애니파일을 리스트박스에 표시됩니다. 리스트박스에 적힌 애니메이션을 선택하면 선택된 애니메 이션이 플레이 됩니다.

 

4. 애니 수정

선택된 뼈의 프레임별로 뼈를 회전 시켜 애니메이션을 수정할 수있습니다. 그리고 수정된 애니메이션을 저장 할 수 있습니다.

 

 

1. 캐릭터 이름

파일 이름 표시

 

2. 캐릭터 정보

캐릭터 정점 수, 인덱스 수, fps 표시

 

3. 뼈 정보

캐릭터의 뼈 정보 표시, 뼈의 트리관계 표시

 

4. ON/OFF 모드

뼈정보 보기, 와이어/솔리드 보기, 충돌경계보기,

충돌박스/구 보기

 

5. 카메라

카메라 줌, 이동, 회전, 초기화 하기

 

실행 파일 다운로드

캐릭터툴.z01캐릭터툴.z02캐릭터툴.z03캐릭터툴.z04캐릭터툴.zip

최신버전은 하드가 날라가면서 분실 했습니다. 가슴이 아프네요. 애니메이션 수정 기능이 날라갔네요 ㅠㅠ

'포트폴리오 > Tool' 카테고리의 다른 글

높이 지형 툴  (0) 2012.05.07
Posted by 부우산사나이
:

 

1. 지형생성

새로운 맵을 생성하거나 BMP파일을 읽어 RBG색상을 이용하여 Y축 높이 값을 구해 맵을 생성합니다.

 

2. 높이 조절

맵을 수정 할 수 있습니다. 맵을 높이거나, 낮추거나, 평지로 만들 수 있

고 높이거나 낮출 때 파워( 수정되는 속도 )조절 및 원 크기( 수정되는 범

) 조절이 가능 합니다.

 

3. LOD

LOD를 적용시켜 화면에 보일 것인지 안보일 것인지 선택 합니다.

LOD Level LOD강도를 조절 할 수 있습니다.

 

< 같은 카메라 위치 지만 LOD 레벨에 따라 다른 지형 >

4. 카메라모드

Fly는 하늘을 날 수 있는 카메라 모드이고

Walk는 지형에 카메라가 붙어서 지형을 걸어다니는 모드입니다.

Speed는 카메라의 이동 속도입니다.

 

5. 출력 모드

와이어로 보일것인지 맵핑시켜 볼 것인지 선택합니다.

 

6. 빛 위치

빛의 위치를 X, Y, Z로 이동시켜 봅니다.

 

7. 수면 위치

물의 높이를 조정 합니다.

 

스플랫팅

1. 기본지형

지형의 기본 텍스쳐를 바꿀 수 있습니다.

 

2. 스플랫팅

지형에 텍스쳐를 덧칠하여 여러 텍스쳐를 혼합하여 지형에 여러 느낌을

낼 수 있습니다.

 

3. 모드

그리기 모드는 텍스쳐를 지형에 그리는 것입니다

지우기 모드는 그려놓은 텍스쳐를 지우는 것입니다.

 

4. 원크기

스플렛팅 되는 원의 범위를 지정할 수 있습니다,

 

5. 텍스쳐 뷰어

선택된 텍스쳐의 모양을 보여줍니다.

 

오브젝트

1. SMD

SMD모델을 선택한 후 모델의 행동을 선택한 후 지형에 올릴 수 있습니다.

 

2. MD2

MD2모델을 선택한 후 모델의 행동을 선택한 후 지형에 올릴 수 있습니다.

 

3. 빌보드

지형에 나무나 풀을 올릴 수 있습니다.

빌보드 형식으로 카메라가 가는 방향으로 계속 회전하여 정면에서 바라보

는 느낌을 나게 합니다.

 

4. 객체제어

올려놓은 오브젝트를 선택하여 이동시킬 수 있으며 회전변환을 할 수 있

습니다.

 

5. 객체뷰어

올려놓을 객체를 미리 뷰어로 통해서 볼 수 있습니다.

 

 

'포트폴리오 > Tool' 카테고리의 다른 글

루파루파 캐릭터 툴  (0) 2012.05.07
Posted by 부우산사나이
: