「java线段」java线段绕点旋转
本篇文章给大家谈谈java线段,以及java线段绕点旋转对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java怎么求点到线段的距离
import java.util.Scanner;
public class Distance {
public static void main(String[] args) {
Line L = new Line(2,3,5);
Scanner sc = new Scanner(System.in);
System.out.println("输入点的x坐标:");
double x = sc.nextDouble();
System.out.println("输入点的y坐标:");
double y = sc.nextDouble();
System.out.println(distence(x,y,L));
}
public static double distence(double x,double y,Line L){
return Math.abs(L.A*x+L.B*y+L.C)/Math.sqrt(L.A*L.A+L.B*L.B);
}
}
class Line{//直线类,方程为:Ax+By+C=0
double A;
double B;
double C;
public Line(double A,double B,double C){
this.A = A;
this.B = B;
this.C = C;
}
}
java 如何在jpanel上画垂直线、水平线、平行线?
定义一个类继承JPanel类,重写 JPanel 的 paint 方法,使用 Graphics 绘制线段,如下代码:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
class MyPanel extends JPanel {
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.RED);
for (int i = 0; i 10; i++) {
g.drawLine(10, 10 + i * 20, this.getWidth() - 10, 10 + i * 20);
}
for (int i = 0; i 10; i++) {
g.drawLine(10 + i * 20, 10, 10 + i * 20, this.getHeight() - 10);
}
}
}
public class App extends JFrame {
public App() {
this.setSize(400, 400);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MyPanel panel = new MyPanel();
this.add(panel, BorderLayout.CENTER);
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
运行结果:
一个关于JAVA绘制线段的问题.
给你代码,开始没注意,画出来的是个正方形。
------------------------------------------------------------------------------------------------------
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class LineAppFrame extends JFrame {
public LineAppFrame() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(550, 550);
setLocationRelativeTo(null);
JPanel panel = new LinePanel();
getContentPane().add(panel, BorderLayout.CENTER);
setVisible(true);
}
public static void main(String[] args) {
new LineAppFrame();
}
}
class LinePanel extends JPanel {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
FileReader fr = null;
BufferedReader br = null;
try {
File file = new File("data.txt");
fr = new FileReader(file);
br = new BufferedReader(fr);
Color defaultColor = g.getColor();
while (br.ready()) {
String line = br.readLine();
int[] data = conver(line);
g.setColor(new Color(data[4], data[5], data[6]));
g.drawLine(data[0], data[1], data[2], data[3]);
}
g.setColor(defaultColor);
} catch (Exception e) {
} finally {
try {
br.close();
fr.close();
} catch (Exception e) {
}
}
}
private int[] conver(String line) {
int[] result = new int[7];
int index = 0;
Scanner sc = new Scanner(line);
while (sc.hasNextInt()) {
result[index++] = sc.nextInt();
}
return result;
}
}
java线段的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java线段绕点旋转、java线段的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。