「点直线类java」点到直线的定义
今天给各位分享点直线类java的知识,其中也会对点到直线的定义进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java怎么求点到线段的距离
- 2、用Java小程序实现对已知起点和终点的直线的绘制,过程中需要注意哪些问题
- 3、java中一个点是对象,还是点这一区分于直线类的类别是一个对象还是两者都是对象?
- 4、java定义一个点类(point),包含x,y坐标数据成员,显示函数(show)和计算面积(getarea)的函数成员
- 5、创建项目 在项目中创建一个Java程序构造直线类
- 6、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小程序实现对已知起点和终点的直线的绘制,过程中需要注意哪些问题
java程序绘制直线 也数学里一样, 也是需要两个点即可实现;
直角坐标系和屏幕坐标系不一样: 为了能够正确的显示出来,那么就要确保直线在JPanel等容器的可见范围内,如果点的坐标有负数, 或者 超过了容器的最大尺寸, 那么就无法正确的全部显示出来
2.awt/swing里面直线的坐标,是int类型的整数, 不支持小数
数学里P(2.8,6.7)可以,在awt/swing里就不支持
3. javaFX支持坐标用小数表示
java中一个点是对象,还是点这一区分于直线类的类别是一个对象还是两者都是对象?
你要搞清楚类和对象
类是java用来描述一类事物的工具, 你可以定义一个类,比如你定义的"点"类. 你也可以定义一个"线"类, 如果他们之间没有继承或者实现关系的话, 他们之间就没有任何关系(除了都默认继承自Object类)
而一个对象 是 某类的 一个实例,, 注意, 对象就是将类具体化的东西. 比如你可以把"点"看作一个类, 那么你去画一个点, 那么这个你画的点 就是一个 "点"类的一个实例 也就是一个对象.
综合来说 类就是用来抽象描述事物的一种归类, 它是抽象的 而对象就是类的具体化
java定义一个点类(point),包含x,y坐标数据成员,显示函数(show)和计算面积(getarea)的函数成员
import java.lang.Math.*;
class point {
int x;
int y;
void show()
{
//don't know the purpose for this one.
}
double getarea()
{
return Math.sqrt(y*y + x*x);
}
}
class circirl extends point
{
int r;
double getarea(int r)
{
return (3.14*r*r);
}
}
public class line {
point point1;
point point2;
int getarea(point point1, point point2)
{
int length = point1.x - point2.x;
int width = point1.y - point2.y;
return Math.abs(width)*Math.abs(length);
}
double length(point point1, point point2)
{
int length = point1.x - point2.x;
int width = point1.y - point2.y;
double leng_point = Math.sqrt(length*length + width*width);
return leng_point;
}
public static void main(String[] args) {
line line =new line();
// circirl circirl = new circirl();
line.point1 = new point();
line.point1.x= 40;
line.point1.y= 40;
line.point2 = new point();
line.point2.x= 70;
line.point2.y= 90;
int len = line.getarea(line.point1,line.point2);
System.out.println("the len for the two point is "+len);
double sqre = line.length(line.point1,line.point2);
System.out.println("the squre for the two point is "+sqre);
}
}
创建项目 在项目中创建一个Java程序构造直线类
Class line {
public double x1;
public double y1;
public double x2;
public double y2;
public line (double x1, double y1, double x2, double y2) {
this.x1=x1;
this.y1=y1;
this.x2=x2;
this.y2=y2;
}
public void getCrossingPoint (line l2) {
double k1=(y2-y1)/(x2-x1);
double k2=(l2.y2-l2.y1)/(l2.x2-l2.x1);
if (k1 == k2) {
System.out.println ("平行线");
} else {
//根据几何原理计算并输出交点坐标(X,Y)
}
}
java 用点画直线问题
import java.awt.*;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.awt.event.*;
public class TestMain1 {
public static void main(String[] args) {
FrameDraw1 fd=new FrameDraw1();
}
}
class FrameDraw1 extends Frame{
int i;
static ArrayList Point[] list =new ArrayListPoint[]();
public FrameDraw1(){
init();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);}
});
this.setBounds(20,20,400,400);
this.setVisible(true);
}
void init(){
this.addMouseListener(new Moo1(this));
}
public void paint(Graphics g){
for(int i=0;ilist.size();i++){
Point []p=(Point[])list.get(i);
int j=2;
while(p[j]!=nullj100){
g.fillOval(p[j].x,p[j].y,4,4);
j++;
}
}
}
}
class Moo1 extends MouseAdapter{
Point point;
Point points[]=new Point[100];
FrameDraw1 fd;
ArrayList Pointlist=new ArrayListPoint();
public Moo1(FrameDraw1 fd){
this.fd=fd;
}
public void mousePressed(MouseEvent e){
point=(Point)e.getPoint();
points[0]=point;//points[0]放的是起点的点坐标
}
public void mouseReleased(MouseEvent e) {
point=(Point)e.getPoint();
points[1]=point;//points[1]放的是终点的点坐标
savePoint(points[0].x,points[0].y,points[1].x,points[1].y);
fd.repaint();
// FrameDraw1.list.add(list);
}
void savePoint(int x1,int y1,int x2,int y2){
int x,y,a,b,d,d1,d2;
a=y1-y2;
b=x2-x1;
x=x1;
y=y1;
point=new Point(x,y);
d=2*a+b;d1=2*a;d2=2*(a+b);
points[2]=point;
int i;
for(i=3,x=x1;x=x2i100;x++,i++){
if(d0){y++;d+=d2;}
else{d+=d1;}
point=new Point(x,y);
points[i]=point;
}
FrameDraw1.list.add(points);
}
}
import java.awt.*;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.awt.event.*;
public class TestMain1 {
public static void main(String[] args) {
FrameDraw1 fd=new FrameDraw1();
}
}
class FrameDraw1 extends Frame{
int i;
static ArrayList Point[] list =new ArrayListPoint[]();
public FrameDraw1(){
init();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);}
});
this.setBounds(20,20,400,400);
this.setVisible(true);
}
void init(){
this.addMouseListener(new Moo1(this));
}
public void paint(Graphics g){
for(int i=0;ilist.size();i++){
Point []p=(Point[])list.get(i);
int j=2;
while(p[j]!=nullj100){
g.fillOval(p[j].x,p[j].y,4,4);
j++;
}
}
}
}
class Moo1 extends MouseAdapter{
Point point;
Point points[]=new Point[100];
FrameDraw1 fd;
ArrayList Pointlist=new ArrayListPoint();
public Moo1(FrameDraw1 fd){
this.fd=fd;
}
public void mousePressed(MouseEvent e){
point=(Point)e.getPoint();
points[0]=point;//points[0]放的是起点的点坐标
}
public void mouseReleased(MouseEvent e) {
point=(Point)e.getPoint();
points[1]=point;//points[1]放的是终点的点坐标
savePoint(points[0].x,points[0].y,points[1].x,points[1].y);
fd.repaint();
// FrameDraw1.list.add(list);
}
void savePoint(int x1,int y1,int x2,int y2){
int x,y,a,b,d,d1,d2;
a=y1-y2;
b=x2-x1;
x=x1;
y=y1;
point=new Point(x,y);
d=2*a+b;d1=2*a;d2=2*(a+b);
points[2]=point;
int i;
for(i=3,x=x1;x=x2i100;x++,i++){
if(d0){y++;d+=d2;}
else{d+=d1;}
point=new Point(x,y);
points[i]=point;
}
FrameDraw1.list.add(points);
}
}
关于点直线类java和点到直线的定义的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。