「点直线类java」点到直线的定义

博主:adminadmin 2022-12-29 10:09:10 1781

今天给各位分享点直线类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和点到直线的定义的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。