[程式]請求座標計算

[程式]請求座標計算

bubee 於 星期一 六月 04, 2018 6:59 pm


https://www.mobile01.com/topicdetail.php?f=511&t=5475138&p=1#68746498

以上連結是我在mob01 發的問題 有關於座標的問題 我是要用excel 函數去計算
但都沒人回應,我想這個需要用到數學計算,所以我就來這邊詢問

我的問題如下  

輸入4個點 xy座標分別如下
0.3376 0.3616 0.3463 0.3687 0.3456 0.3601 0.3373 0.3534

四個點座標圍成一個座標格其命名為C00(因座標格不只一個)
我主要的是想問輸入一個點座標為
0.34356 0.35907

怎麼用計算的方式求出它在C00這座標格範圍內

謝謝

bubee
初學者
初學者
 
文章: 3
註冊時間: 2018-06-04

benice 於 星期五 六月 08, 2018 1:22 am



請問所給數據有沒有錯誤?

B 群與 C 群緊密接合,A 群與 B 群則否。
例如 B10 與 C00 緊密接合,B30 與 C20 也緊密接合。
但是 A10 與 B00 之間有空隙,A50 與 B40 有重疊部分!


左鍵: 點擊縮放; 右鍵: 觀看原圖

benice
專 家
專 家
 
文章: 269
註冊時間: 2010-02-08

bubee 於 星期五 六月 08, 2018 6:51 pm


[quote="benice"]
請問所給數據有沒有錯誤?

B 群與 C 群緊密接合,A 群與 B 群則否。
例如 B10 與 C00 緊密接合,B30 與 C20 也緊密接合。
但是 A10 與 B00 之間有空隙,A50 與 B40 有重疊部分!


數據是沒錯的,他是照明產業用的座標圖所用的公式對我來說很複雜也無從查起

我想知道的是給你一個點 (x,y)求出他在哪個座標格

或者已知道他在哪個座標格內(用EXCEL可以看出來),但要怎麼證明他在那個座標格範圍內

麻煩你了謝謝

bubee
初學者
初學者
 
文章: 3
註冊時間: 2018-06-04

benice 於 星期六 六月 09, 2018 5:21 am



先用兩點式求出座標格的邊線方程式:
通過 (x1,y1) 與 (x2,y2) 的直線 L1: (x2 - x1)*(y - y1) = (y2 - y1)*(x - x1)
通過 (x2,y2) 與 (x3,y3) 的直線 L2: (x3 - x2)*(y - y2) = (y3 - y2)*(x - x2)
通過 (x3,y3) 與 (x4,y4) 的直線 L3: (x4 - x3)*(y - y3) = (y4 - y3)*(x - x3)
通過 (x4,y4) 與 (x1,y1) 的直線 L4: (x1 - x4)*(y - y4) = (y1 - y4)*(x - x4)


為簡化表示式,令
f1(x,y) = (x2 - x1)*(y - y1) - (y2 - y1)*(x - x1)
f2(x,y) = (x3 - x2)*(y - y2) - (y3 - y2)*(x - x2)
f3(x,y) = (x4 - x3)*(y - y3) - (y4 - y3)*(x - x3)
f4(x,y) = (x1 - x4)*(y - y4) - (y1 - y4)*(x - x4)


由所給數據知 (或假設) x2 > x1, y3 < y2, x4 < x3, y1 > y4,所以
L1 下方區域之不等式為 f1(x,y) < 0
L2 左方區域之不等式為 f2(x,y) < 0
L3 上方區域之不等式為 f3(x,y) < 0
L4 右方區域之不等式為 f4(x,y) < 0


因此,座標格範圍內之不等式為
f1(x,y) < 0  and  f2(x,y) < 0  and  f3(x,y) < 0  and  f4(x,y) < 0

或用最大值函數 max 表示成
max(f1(x,y), f2(x,y), f3(x,y), f4(x,y)) < 0


給定一個點 (x,y) 及一個座標格,並計算 M(x,y) = max(f1(x,y), f2(x,y), f3(x,y), f4(x,y)) 值,
則:
(1) 如果 M(x,y) < 0,則點 (x,y) 落在此座標格範圍內;
(2) 如果 M(x,y) > 0,則點 (x,y) 落在此座標格範圍外;
(3) 如果 M(x,y) = 0,則點 (x,y) 位於此座標格邊界上。


註:

如果所有相鄰的座標格都緊密接合,則點 (x,y) 所在座標格為唯一 (座標格的邊線除外),
因此只有一個座標格的 M(x,y) 值小於零,所以可以比較所有座標格的 M(x,y) 值,值最小
的那個就是你要找的。

benice
專 家
專 家
 
文章: 269
註冊時間: 2010-02-08

bubee 於 星期一 六月 11, 2018 12:55 pm


左鍵: 點擊縮放; 右鍵: 觀看原圖
你好厲害,太感謝了,解決我的問題

謝謝你

bubee
初學者
初學者
 
文章: 3
註冊時間: 2018-06-04




『數學及時、求救區』