我有編碼的功能的問題,即會做下列臨時座標:如果計算的距離超過100
功能將需要2組座標(X,Y,Z)的。第一組是起點,第二組是終點。 現在首先,我將不得不確定這兩點之間的距離。如果距離大於讓我們說100,那麼我將不得不計算一個臨時點。然後,我將計算第一組座標和此臨時點之間的距離。請看下面的插圖,我相信事情會更容易理解。
功能,計算點A之間的新點,B:
x = (x1+x2/2)
y = (y1+y2/2)
z = (z1+z2/2)
功能,計算距離爲:
public float DistanceTo(float x, float y, float z, float x2, float y2, float z2)
{
float a = x - x2;
float b = y - y2;
float c = z - z2;
return Math.Sqrt(a * a + b * b + c * c);
}
鏈接說明:
也許是我的方法將是CPU很重,也許很慢(?)b目前我不知道如何解決這個問題。
基本上我需要一個函數,如果(距離< 100)從A到B以增量進行。
感謝您閱讀並感謝您發佈的任何解決方案!
PS請不要讓我的油漆技能的樂趣:)
只是計算沿線的點 – Ewan
問題是我該怎麼做?你能提供一個例子嗎? – Tagyoureit
爲什麼混合float,double和int? – gdir