簡體   English   中英

確定貝塞爾曲線是否與圓重疊的最佳方法是什么?

[英]What is the best way to determine whether a bezier is overlapping a circle?

在Java / Processing中,我想測試貝塞爾曲線是否與圓重疊,以便可以將其中之一移開。

有沒有簡單的方法可以做到這一點?

您可以使用bezierPoint()函數沿Bezier曲線獲取一系列點。

然后,您可以針對您的圈子測試這些點。

參考

noFill();
bezier(85, 20, 10, 10, 90, 90, 15, 80);
fill(255);
int steps = 10;
for (int i = 0; i <= steps; i++) {
  float t = i / float(steps);
  float x = bezierPoint(85, 10, 90, 15, t);
  float y = bezierPoint(20, 10, 90, 80, t);
  ellipse(x, y, 5, 5);
}

暫無
暫無

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

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