1
일반 셰이프를 점 목록으로 분할하여 특정 비율에 따라 경로를 따라 특정 스프라이트를 이동할 수 있습니다.자바 2dpath 균등 분할 방법
지금 내가 여러 지점에 모양을 나눌 수 있습니다 :
이 다음 코드에 의해 제작되었다 :
shapeComp = system.gui.getParentWindow(event).getComponentForPath('Root Container.Path')
shape=shapeComp.getShape()
pathIterator = FlatteningPathIterator(shape.getPathIterator(AffineTransform()), 1)
graphics = system.gui.getParentWindow(event).graphics
segment = jarray.zeros(6,'d')
path = []
while not pathIterator.isDone():
pathIterator.currentSegment(segment)
path.append([segment[0], segment[1]])
graphics.fillOval(int(segment[0]), int(segment[1]), 5, 5)
pathIterator.next()
당신이 그림에서 볼 수 있듯이, 포인트를 경로를 따라 균등하게 분배되지 않습니다. 모든 점 사이의 거리를 동일하게 만드는 방법이 있습니까?
최대 거리가있는 것은 사실이지만, 어떤 I 필요는 2 점 사이의 정확한 거리입니다. 그래서 나는 같은 길이의 세그먼트를 얻을 것입니다. 이것이 어떻게 가능할 지에 대한 아이디어가 있습니까? – Thijs
Ohh 알겠습니다. 죄송합니다. 기본 구현에서는 불가능합니다. 이를 위해 스스로 PathIterator 인터페이스를 구현해야합니다. –