簡體   English   中英

如何將Java 2dpath分成相等的部分

[英]How to split a java 2dpath in equal parts

我正在嘗試將通用Shape分成點列表,以便我們可以根據一定百分比沿路徑移動某個精靈。

現在,我可以將形狀分為多個點:

點分布

這是由以下代碼產生的:

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()

如您在圖片上看到的,這些點沿路徑分布不均勻。 有沒有辦法使所有點之間的距離相同?

正如您在javadoc中可以找到的那樣,還有一個關於flattness的屬性。 因此,您應該只需將第二個參數設置為某個特定值即可獲得所需的結果。 但是,如果在所有情況下都是如此,我不知道。

平坦度-用於近似曲線段的線段允許偏離原始曲線上任何點的最大距離

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM