首页 新闻 搜索 专区 学院

java 帮翻译JavaScript 急急急急????

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-10-10 17:09
class Point{ 

int x,y; 

Point(){ 

x=0; 

y=0; 

} 


Point(int x,int y){ 


this.x=x; 



this.y=y; 


} 

} 

class Line{ 

double tan,len; 


Line(double t,double l){ 

tan=t; 


len=l; 


} 



Line(){ 

tan=0.0; 


len=0.0; 


} 

} 

public class JavaApplication10 { 


public static void main(String[] args) { 


Point p1=new Point(1,5); 


Point p2=new Point(); 


Line l1=new Line(1,1.41); 


Line l2=new Line(-1,23); 



if(crossing(l1,l2)) 

 
System.out.println("l1与l2相交"); 

 

Line l3=new Line(two_point(p1,p2).tan, 


two_point(p1,p2).len); 

System.out.println("两点确定直线tan="+l3.tan+" len="+l3.len); 

} 


static boolean crossing(Line l1,Line l2){ 

 

if(l1.tan==l2.tan||l1.tan==-l2.tan) 

return false; 


else 



return true; 



} 

 

static Line two_point(Point p1,Point p2){ 



Line l=new Line(); 


int a,b; 

a=Math.abs(p1.x-p2.x); 

b=Math.abs(p1.y-p2.y); 


l.tan=(double)(p1.y-p2.y)/(p1.x-p2.x); 

 
l.len=Math.sqrt((float)(a*a+b*b)); 

return l; 

 

} 

} 
yujinchao的主页 yujinchao | 菜鸟二级 | 园豆:248
提问于:2014-06-23 10:54
< >
分享
所有回答(1)
1

这个有什么好解释的?

Point代表点,有x,y坐标

Line代表线段,它有角度值和长度,角度值是用正切表示的,从程序来看,这个线段应该表示成从原点出发的。因为仅仅角度和长度是不能确定一个直线的位置的。

crossing判断tan是否相同,或相反,。如果相同或相反就是在同一条直线上,就没交点return false.

two_point(Point p1,Point p2)  两点算出一条线段,tan角度是根据定义算的,长度是根据直角三角形边长公式算的。

angelshelter | 园豆:9678 (大侠五级) | 2014-06-23 11:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册