我想實現一個任務,即在從用戶獲取長度輸入後調整線的大小。因此,我目前使用的是舊長度,舊點(P1,P2)並且具有找到新的P2後,從用戶的新長度。我在這裏粘貼代碼,我試圖調整使用斜坡線,但它不工作。我是全新的畫布部分任何類型的搜索提示也將明顯。謝謝提前。找出使用斜率和起點的座標
方法找出以前的點之間的角度:
public double calculateAngle(){
if(selectedShape!=null){
InnWall shape = (InnWall)selectedShape;
if(shape!=null)
return calAngle(shape.y2-shape.y1, shape.x2-shape.x1);
}
return -1;
}
方法,找出他的座標
public void calCoordinates(double length){
InnWall shape = (InnWall)selectedShape;
if(shape!=null){
double angle = calculateAngle();
Log.e(TAG, "cal angle"+(int)calculateAngle());
Log.e(TAG, "cal length"+(int)length);
Log.e(TAG, "x coodinatee"+shape.x1+length*Math.cos(angle));
Log.e(TAG, "y coodinatee"+shape.y1+length*Math.sin(angle));
shape.x2=(float)(shape.x1+length*Math.cos(angle));
shape.y2=(float)(shape.y1+length*Math.sin(angle));
}
private double calAngle(double dy,double dx){
return double compassBearing=dy/dx;
}
calAngle()'? – JimmyB
順便說一句,你根本不需要三角函數。 dx&dy與線的長度呈線性比例關係。 – JimmyB
@HannoBinder請參閱eddited之一 –