CS5 의 "pencil tool" 액션스크립트로 구현
은솔
pencil tool을 선택하고 이것의 옵션중 pencil mode 를 smooth로 해주고 화면에 곡선을 그리면
마우스를 띠는 순간에 곡선이 부드럽게 바뀝니다.
이것을 스크립트로는 어떻게 구현할 수 있나요?
그냥 한다면 lineTo로 마우스가 지나가는 좌표들을 이어주는 선을 그려주는건데,
이렇게 하면 마우스를 빠르게 움직이면 선에 각이 생겨서 보기 안좋아요. 부드럽게 하고 싶습니다.
-
흰가람
답변 해주신 모든 분들께 감사드립니다. ^^
-
맞손질
플생에 부드러운 드로잉인가? 검색하면 소스올려져있는게 있습니다.
그거 써보세요 좋아요 -
아유미
못찾겠습니다. 아무래도 일단은 포기하고 시간을 투자해서 곡선 좌표를 구하는 공식을 연구해봐야 겠습니다. ^^;
-
슬옹
플생에 부드러운 드로잉인가? 검색하면 소스올려져있는게 있습니다.
그거 써보세요 좋아요 -
조심해
베지어 곡선으로는 n개의 점이 있을 때 이 점들을 모두 지나면서 C1인 곡선을 그릴 수 없습니다. 선을 그리는 것이라면 마우스의 속도를 알 수 있기에 점 n개의 위치와 속도를 알면 C1인 곡선을 그릴 수 있는 에르미트 곡선이 알맞습니다.
-
감춰왔던
우당탕님 앤돠이 님께서 베지어를 쓰라고 하셨지요.
제가 댓글들들 읽어봐도 그게 답인거 같습니다.
graphics클래스에서 곡선을 그려주는 클래스가 있습니다. 그걸로 충분히 만들 수 있을 거 같아요. -
여신
샘플링된 점의 갯수가 적으면 각각의 점을 잇는데 점간격이 커지고, 그 커진 간격때문에 각이져 보이게 됩니다. 반대로 샘플링이 많으면 많을수록 간격이 작아지고 부드러워지는거죠.
(해상도에 따라 확대시 사진이 깨져보이는거랑 같다고 생각해도 되죠.)
일부러 마우스 좌표를 각지게 움직이고, 그 각진 좌표를 곡선으로 보정하시려는거면 베지어 곡선 공식을 사용해보세요.(점 5개인가가 필요했던거같은데 부드럽게 그려지긴합니다.)
헌데 이걸공식을적용하고 매번 샘플링 될때 -
딥자두
점을 찍는 것도 선을 이어주는 것과 마찬가지로 기본 좌표는 마우스가 지나가는 좌표를 사용하기 때문에 화면상에서는 직선과 다를 것이 없을 텐데요. 점을 찍을 때 곡선의 좌표를 구해주는 것이 있으면 모르지만요. 그 곡선의 좌표를 구해주는 방법을 알고 싶은건데 찾기 힘드네요. ^^;
-
사이
베지어곡선을 이용하면 부드러워지긴하는데. 걍 점을 많이 찍는게 편합니다.