本示例绘制了一个简单的PolyLine。是否有可能在PolyLine周围创建轮廓
是否有可能以红色勾勒出此多边形的轮廓。 不是一个大的红色正方形,而是一个将所有区域的原始PolyLine概述为3-5分的概念。
一些计算尝试并为固定值工作,但是当PolyLine值是随机的时,该算法并不总是工作,因为该行的下一部分可以向右而不是向左或向上而不是向下。
你几乎必须提前看2-3分才能知道你是否要加或减。
有没有更简单的方法来做到这一点?
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PolyLine extends JPanel
{
public void paint(Graphics g) {
int[] xs = {25, 125, 85, 75, 25, 65, };
int[] ys = {50, 50, 100, 110, 150, 100};
BasicStroke traceStroke = new BasicStroke (1);
Graphics2D gc = (Graphics2D) g.create();
gc.setStroke(traceStroke);
gc.setColor(Color.BLUE);
gc.drawPolyline(xs, ys, 6);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new PolyLine());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(20,20, 1500,1500);
frame.setVisible(true);
}
}
选项1:找到折线的几何中心并从那里移动所有点。这对于不规则或凹线不太好。选项2:使用线段相交公式确定需要延长/缩短的距离,将每个线段从当前位置移开。您可能需要查看线路的绕线,以确定以哪种方式将线段移动到随机的情况。 –
另外,显示尝试的“一些计算”。我在这里没有看到任何东西。 –