펄린 노이즈
프로세싱에는 noise란 함수가 있습니다. 펄린 노이즈라고 하는 함수인데 입력값을 주면 난수값을 반환하는데 그것이 완전히 독립적이지 않고 비슷한 입력값은 비슷한 난수값을 반환합니다. 따라서 지형이나 물결과 같이 자연스러운 모습을 나타낼 때 사용하는 모양입니다. 다음 그림을 보시면 이해가 더 빠를지도 모르겠습니다. 펄린은 사람 이름인데 80년대 영...
프로세싱에는 noise란 함수가 있습니다. 펄린 노이즈라고 하는 함수인데 입력값을 주면 난수값을 반환하는데 그것이 완전히 독립적이지 않고 비슷한 입력값은 비슷한 난수값을 반환합니다. 따라서 지형이나 물결과 같이 자연스러운 모습을 나타낼 때 사용하는 모양입니다. 다음 그림을 보시면 이해가 더 빠를지도 모르겠습니다. 펄린은 사람 이름인데 80년대 영...
JavaCv는 컴퓨터 비전에 관련된 여러 라이브러리들의 java wrapper이다. Scala와 JavaFx를 사용해서 웹캠의 화면을 표시하는 프로그램을 작성해 보았다. 다음과 같이 적당한 디렉토리에 src/main/scala 디렉토리를 만들고 build.sbt 파일을 작성하자. cd 디렉토리이름 mkdir -p src/main/scala touc...
scala에서 다양한 갯수의 인자를 하나의 이름으로 받으려면 인자형 다음에 *를 붙여준다. 다음과 같이 실제로는 Array형으로 전달된다. def t[T](xs:T*) = xs.getClass t(0) // class scala.collection.mutable.WrappedArray$ofInt 마찬가지로 List, Ar...
스칼라는 자바와 마찬가지로 /src/main/resources 디렉토리에 리소스 파일들을 저장하는 것으로 간주한다. getClass.getResource는 해당 파일의 URL을, getClass.getResourceAsStream은 Stream을 반환하며 getResourceAsStream은 리소스가 jar로 패킹되어도 잘 동작하지만 getResour...
자주 쓰이므로 스택 오버플로우에서 발췌 github이나 bitbucket에 repository 생성 sbt에 sbt eclipse plugin 설치 eclipse에서 Git Repositories View 사용하거나 커맨드 라인에서 git 사용해서 repository를 가져옴 sbt eclipse 명령으로 프로젝트 생성 eclip...
Scala는 다른 객체지향 언어와 같이 어떤 형의 인자를 원하는 함수에 그 형의 하위형을 인자로 사용할 수 있다. 예를 들어 그럴리는 없겠지만 AnyVal형의 인자를 원하는 함수에 대신 Double형의 인자를 줄 수 있다는 말이다. 하위형은 상위형의 모든 값들과 함수들을 가지기 때문이다. 또한 Scala는 함수형 언어로 함수를 인자로 줄 수 있다. ...
JavaFx 8과 함께 SceneBuilder 2.0이 발표되었습니다. 프로그램 인터페이스를 구상하는데 요긴하게 사용할 수 있겠는데 scala에서는 java와 거의 동일한 방법으로 사용할 수 있습니다. 화면에 배치한 컨트롤들과 scala 소스내의 변수를 연결해 주는 과정이 필요한데 다음과 같은 방법을 사용하면 됩니다. 컨트롤과 연결하고자 하는...
JavaFX를 이리저리 만져보다 scala의 Future와 합치면 콘솔에서 글을 입력받고 JavaFX에서 표시할 수 있겠다는 생각이 들었다. StackOverflow를 좀 검색해 본 다음 이리저리 실험해 보니 가능하다. Thread를 따로 설정해야 하는데 Console input 부분은 scala에서 제공하는 기본 ExecutionContex를 사용하...
scala에서 입력받은 문자열을 단어별로 분리하려면 String의 split 함수가 regular expression을 지원하므로 다음과 같이 사용할 수 있다. val input = """ abc 123 can you split ? """ input.split("\\s") // Array[String] = Array("", abc, 123, "...
문자열을 숫자로 변환하고자 할때는 Java의 Integer 클래서에서 제공하는 parseInt 함수를 사용하고 숫자를 문자열로 바꿀 때는 RichInt 클래스에서 제공하는 toBinaryString, toHexString을 사용하면 된다. Integer.parseInt("FFFF", 16) Integer.parseInt("1010", 2) 255....