js求两圆交点_求过圆心直线与圆的两个交点

package org.bruce.vertices.controller.geometry;/**

* @author BruceYang*/

public classCGGeometryLib {/**

* @param p0 第一个点的坐标

* @param p1 第二个点的坐标

* @return 两个点之间的距离

* 计算出两点之间的距离*/

public static doublegetDistanceBetween2Points(CGPoint p0, CGPoint p1) {double distance = Math.sqrt(Math.pow(p0.y - p1.y, 2) + Math.pow(p0.x - p1.x, 2));returndistance;

}/**

* @param p

* @param l

* @return 该方法用于获取某点在某条直线上的投影点的坐标*/

public staticCGPoint getProjectivePoint(CGPoint p, CGLine l) {

CGPoint target= null;if(l.iskExists()) {if(l.k != 0) {

CGLine newLine= new CGLine(-1/l.k, p.y -(-1/l.k)*p.x);

target=getCrossPoint(l, newLine);

}else { //如果直线l的斜率存在且斜率的值为0,明显是一条平行于x轴的直线~//此时,点 p 到直线 l 的距离为:Math.abs(p.y-l.b)

target = newCGPoint(p.x, l.b);

}

}else { //如果直线l的斜率不存在,明显是一条垂直于x轴的直线~//此时,点 p 到直线 l 的距离为:Math.abs(p.x-l.extraX)

target = newCGPoint(l.extraX, p.y);

}

CGDbg.println("点 ("+p.x+","+p.y+") 在直线:y="+l.k+"x+"+l.b+"上的投影点为 ("+target.x+","+target.y+")");returntarget;

}/**

* 该方法用于求出两条直线的交点坐标

* 这个方法是定制的,只有 l1, l2 均存在斜率 k 时方能使用(限制取消)~

* @para

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值