用C 計算座標點的映象座標

2021-04-17 11:29:33 字數 1517 閱讀 9926

假設p1,p2點 定義一條直線l, 計算 p點 關於l的映象點。

計算步驟:

一、計算直線l的斜率k, 和一般方程式 ax + by +c =0  中的a,b,c值

a, b, c 關係如下(由網友jennyvenus

提供)c = ( ( k * x1 ) - y1 ) / k;

b = ( -1.0 * c ) / ( y1 - k * x1 );

a = ( -1.0 * b * k );

二、 根據a,b,c的值 計算 p點在直線l的垂足

以下為計算垂足的**

//////

計算p點在p1,p2直線的垂足

///

///

///

///

///

public

static

pointf calcpedal(pointf p1, pointf p2, pointf p)

else

if(p1.y 

==p2.y)  

//x軸對稱

doublek =

(p2.y 

-p1.y) 

/(p2.x 

-p1.x);

doublec =

(k *

p1.x 

-p1.y) /k;

doubleb =

-c /(p1.y -k 

*p1.x);

doublea =

-b *k;

double

sqr =a 

*a +b 

*b;doublex =

(b *b *

p.x -a 

*b *p.y -a 

*c) 

/sqr;

doubley =

(a *a *

p.y -a 

*b *p.x -b 

*c) 

/sqr;

return

newpointf((

float

)x, (

float

)y);}

三、 計算出的垂足為p點和映象p'點 的中點, 根據這個特徵,計算出p'點

public

static

pointf mirrorpoint(pointf p1, pointf p2, pointf p)

下面是測試**

private

void

button1_click(

object

sender, eventargs e)

改變p1, p2點座標, 最後執行結果(紅色為原始座標)

結束

當然生成映象還有其它方法,比如矩陣變換等等,計算量應該是差不多的

強制用Google Map顯示座標點

當我們需要在google map上顯示座標的時候,會通過下面的方法 string url square,ny intent i new intent intent.action view,url startactivity i 當我們啟動這個activity的時候,android系統會讓我們從bro...

百度座標點計算

前段時間因專案需求,用到了關於座標點計算的幾個方法,就在這裡整理下 1.計算兩個座標點之間的距離 2.已知乙個座標點和最大距離,求另一座標可能在的座標區域 3.判斷乙個座標點是否在乙個多邊形內 計算兩個座標之間的距離 param lat1 座標點1的緯度 param lng1 座標點1的經度 par...

計算兩個座標點之間的點的座標

doctype html html head meta charset utf 8 title 計算兩個座標點之間的點的座標 title meta name viewport content width device width,initial scale 1 head body div id ms...