我在窗格上有兩個橢圓,其中一個應用了旋轉變換(旋轉點不是橢圓本身顯然:)),另一個沒有。現在我需要從變換的橢圓的中心畫一條直線到未變換的橢圓的中心。 所以我需要轉換的橢圓的座標,有沒有辦法檢索這些? (我需要他們除了畫線過其他計算)如何獲取javafx2中變換形狀的座標?
1
A
回答
2
使用localToParent
方法。例如:
@Override
public void start(Stage stage) {
stage.setTitle(VersionInfo.getRuntimeVersion());
Group root = new Group();
// ellypsis with center in 100,100
Arc ellypsis = ArcBuilder.create().centerX(100).centerY(100).length(360).radiusX(100).radiusY(50).fill(Color.TRANSPARENT).stroke(Color.RED).build();
// rotate
ellypsis.getTransforms().add(new Rotate(50, 50, 45));
// find out where is 100,100 in rotated ellypsis
Point2D localToParent = ellypsis.localToParent(100,100);
// draw line from that point
Line line = new Line(localToParent.getX(), localToParent.getY(), 200, 200);
root.getChildren().addAll(ellypsis, line);
stage.setScene(new Scene(root, 300, 250));
stage.show();
}
0
鑑於該問題提供缺少的代碼,我會給你一個答案數學:)
說你有ellipse1
該中心X1
和其中心是X2
。改造提供以下
elipse1 --> f(elipse1) = elipse1'
,如果你想知道的轉化橢圓
ellipse1'
中心座標(
X1'
)只是做以下
:
X1 --> f(X1) = X1`
因此,概括地說,只是採用相同的轉換到你的原點X1
,你將得到轉換後的座標X1'
。現在你所要做的就是畫一條線,從X1'
到X2
+0
我不知道代碼在這裏會有幫助嗎?無論如何,問題在於你無法將變形應用於javafx中的某個點,並且無法詢問變換點的座標。這實際上是問題的全部問題:)如果你看起來像其他圖形系統似乎也是一個常見問題,只有選項似乎在弄清楚如何手動進行轉換(即計算出數學),並應用它再次在同一點上。我想避免這種情況,因爲javafx已經這樣做了,但不公開結果。 –
相關問題
- 1. 如何在OpenGL中獲取移動/旋轉形狀的座標?
- 2. PHP從點獲取形狀座標
- 3. HTML5/Javascript - 如何獲取畫布上形狀/圖像的座標?
- 4. 獲取矩形的座標
- 5. 如何獲取GPS座標多邊形
- 6. 轉換形狀座標系R
- 7. 如何從畫布內的形狀獲取鼠標座標並更改0,0點
- 8. 如何獲取已編輯形狀的新座標並動態計算中心
- 9. 如何在Word VBA中提取形狀座標
- 10. 獲取座標系中相鄰六角形瓦片的座標
- 11. 的JavaScript - 獲取地圖的座標形狀
- 12. 變換後的矩形座標
- 13. Javascript - 如何獲取矩形,拖動後的圓形座標?
- 14. 從pydot獲取PyQt4佈局的座標/形狀數據
- 15. 獲取圖形座標Matplotlib註釋標籤的座標
- 16. Python:寫座標numpy形狀
- 17. 谷歌地圖API v3如何獲取所有形狀的座標
- 18. 如何獲取UIImageView座標?
- 19. 如何獲取vtkboxwidget座標
- 20. 如何獲取座標
- 21. locationManager如何獲取座標?
- 22. 座標變換
- 23. 如何獲取pymunk中的圓座標
- 24. 獲取FrameworkElement邊界矩形的座標
- 25. 獲取正多邊形的座標
- 26. 如何獲取鼠標的座標?
- 27. 從GPS座標獲取狀態
- 28. 如何轉換屏幕座標以形成相對座標(winforms)?
- 29. Visio:如何獲取包含在一個形狀中的形狀?
- 30. 變形後的點座標?
謝謝,正是我想要的!現在我知道,我一直在徘徊那個方法做的到底是什麼。我每天都越來越愛javafx2! –