베지에 곡선


베지에 곡선 혹은 베지어 곡선(Bézier Curve)은 개의 점으로부터 얻어지는 차 곡선으로 수치 해석 분야에서 상당히 중요한 위치를 차지하고 있다. 특히 3차 베지에 곡선은 포스트스크립트 글꼴, 메타폰트(METAFONT), 김프 등에서 부드러운 곡선을 생성하는 데에 이용되고 있으며, 트루 타입 폰트에는 2차 베지에 곡선 알고리즘을 사용한다.

프랑스의 자동차 제조사 르노사의 기술자인 피에르 베지에가 1962년 자동차 몸체 디자인에 사용하면서부터 널리 알려졌다.



커브, 곡선을 그림에 있어 가장 유용한 방법이라 할수있다.



1차(Linear) 베지에 곡선




1차 베지에 곡선은 p0 지점에서 p1 의 지점까지 직선으로 이동하는 것이며, t 는 0 에서 1 까지 변화하는 값이다.



B(t) = (1−t)*P0 + t*P1, t∈[0,1]



10% 진행된 상황에서 ( t = 0.1 ) p0 의 위치는 (1,1) 그리고 p1 의 위치가 (2,2) 일때 위치는 다음과 같다.


[ 1.1 , 1.1 ] = ( 1 - 0.1 ) * [ 1 , 1 ] + ( 0.1 ) * [ 2 , 2 ];



공식을 unity c# 코드로 구현할 경우 경우 다음과 같다.



 






2차(Quadratic) 베지에 곡선



 




2 차 베지에 곡선은 1차 베지에 곡선에서 포인트가 하나 추가된 것이다.



B(t) = (1 − t)2P0 + 2t(1 - t)P1 + t2P2, t∈[0,1]


이를 글로 풀어 쓸경우 다음과 같다. 


p0 - p1 의 베이지 곡선을 구한다음 이를 pa 라 한다. 

p1 - p2 의 베이지 곡선을 구한다음 이를 pb 라 한다. 

pa - pb 의 베이지 곡선을 구한다.




공식을 unity c# 코드로 구현할 경우 경우 다음과 같다.



'개발' 카테고리의 다른 글

코노하 (Conoha) 사용간 단점.  (0) 2018.01.27
[알고리즘] 등차수열  (1) 2017.08.24
Unity UnityException: Unable to install APK!  (1) 2017.01.11
Unity 화면밖으로 객체가 나갈경우 이벤트  (0) 2016.12.17
Unity3d Time 클래스  (0) 2016.12.17


UnityException: Unable to install APK!

Installation failed. See the Console for details.

 

 별다른 로그 없이 위와같은 내용만 표출하고 빌드가 안되는 않는 현상이 발생하여 찾아보니,


 현재 폰에 설치 되어있는 같은 패키지 어플을 삭제하고 다시 시도하니 정상동작하였습니다.


  출처 : http://answers.unity3d.com/questions/815011/unable-to-install-apk.html

'개발' 카테고리의 다른 글

[알고리즘] 등차수열  (1) 2017.08.24
Unity3d 베지에 곡선  (0) 2017.03.31
Unity 화면밖으로 객체가 나갈경우 이벤트  (0) 2016.12.17
Unity3d Time 클래스  (0) 2016.12.17
[Spring Boot] MojoFailureException 오류  (1) 2016.10.12


Renderer.OnBecameInvisible()


카메라 밖으로 객체가 나갈경우 호출된다.



'개발' 카테고리의 다른 글

Unity3d 베지에 곡선  (0) 2017.03.31
Unity UnityException: Unable to install APK!  (1) 2017.01.11
Unity3d Time 클래스  (0) 2016.12.17
[Spring Boot] MojoFailureException 오류  (1) 2016.10.12
swift Imageview not antialias  (0) 2016.06.03


- Time.time


 이 프레임의 시작 시간은 (읽기 전용). 이것은 게임의 시작한 시간이다.

 즉 게임이 시작하였을때부터 진행되어온 시간이 기록된다.



 - Time.frameCount


 게임이 시작된 이후부터 렌더링된 프레임의 회전 숫자가 기록된다.



 - Time.deltaTime


 프레임이 완료된 시점은 시간을 기록한다.

즉 이전 코드 실행이후 해당 프레임의 처리를 완료된 시점이 기록된다.



- Time.smoothDeltaTime


 deltaTime과 기능적으로는 비슷하나 조금더 객체가 부드럽게 움직일수 있도록


큰움직임을 제한하여 기록한다.



 

'개발' 카테고리의 다른 글

Unity UnityException: Unable to install APK!  (1) 2017.01.11
Unity 화면밖으로 객체가 나갈경우 이벤트  (0) 2016.12.17
[Spring Boot] MojoFailureException 오류  (1) 2016.10.12
swift Imageview not antialias  (0) 2016.06.03
jsoup 403 error  (0) 2015.11.23


[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project MarkCommunity: There are test failures.

[ERROR] 

[ERROR] Please refer to /Users/myeongboseo/spring/MarkCommunity/target/surefire-reports for the individual test results.

[ERROR] -> [Help 1]

[ERROR] 

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR] 

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException



Spring Boot 빌드를 하면 정상적으로 빌드되고 프로젝트도 동작을 하지만


maven 빌드를 하면 위와 같은 오류가 발생하였습니다.


위 같은 오류는 여러가지 이유가 있었지만 저는 spring boot를 최초 생성할때 package의 경로와


application class 의 경로가 일치하지 않아서 발생하여,


package경로와 Application class의 위치가 일치하니 정상적으로 동작합니다.

'개발' 카테고리의 다른 글

Unity 화면밖으로 객체가 나갈경우 이벤트  (0) 2016.12.17
Unity3d Time 클래스  (0) 2016.12.17
swift Imageview not antialias  (0) 2016.06.03
jsoup 403 error  (0) 2015.11.23
JAVA 클래스의 초기화 타이밍에 관한 고찰  (0) 2015.10.29


imageview.layer.magnificationFilter = kCAFilterNearest;

'개발' 카테고리의 다른 글

Unity3d Time 클래스  (0) 2016.12.17
[Spring Boot] MojoFailureException 오류  (1) 2016.10.12
jsoup 403 error  (0) 2015.11.23
JAVA 클래스의 초기화 타이밍에 관한 고찰  (0) 2015.10.29
출력 포맷(print format) - printf  (0) 2014.09.22

Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event 'mysql-bin.000091'


 

 저 같은 경우에는 replication 을 사용하는중 마스터 서버를 재부팅할때 발생하였습니다.


 


 이렇게 현재 읽고있는 log 를 다음으로 변경하여 수정하였습니다.

 


https://www.percona.com/blog/2014/10/08/mysql-replication-got-fatal-error-1236-causes-and-cures/




유저권한 없는상태에서 접근시 발생되는 오류입니다.




위처럼 유저값을 넣어주시면 됩니다.





 activity가 recreate 될때 freagment 도 destroy 됩니다.


 여기서 문제는 activity에 있는 fragment 포인터가 recreate시 달라지는 문제가 발생하게 될때


 setRetainInstance(true) 를 호출하여 recreate시 recreate하지 않도록 설정할수있습니다.


 안드로이드를 개발하다가 java의 초기화 타이밍에대해 다시금 생각하는 문제에 도달하여 이렇게 글을 남깁니다.


제가 도달한 문제인데 한번 알아두면 좋을것 같네요.


문제! 





print 된값은?




 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


 ..


정답은 0 입니다.


 왜 0일까요? 분명 test라는 int를 5로 초기화 하는데,  결과값은 0이라니?


 이 문제때문에 한동안 고민했었는데요,  이유는 초기화 타이밍 때문이었습니다.


 JavaTest 라는 클래스를 초기화 하면서 test 라는 변수에 5라는 숫자를 넣기전에


 Parent 클래스가 test라는 변수를 호출하여 최초 클래스 생성시 기본값인 0 이 표시된것이지요,


 알고있으면 당연히 넘길 문제인데, 모르면 오랫동안 찾아도 쉽게 찾을수 없는 부분일듯 합니다.





+ Recent posts