縮放下的座標轉換注意

2022-08-05 02:33:14 字數 1093 閱讀 5091

如前所述,螢幕座標系中點的座標與我自定義的座標的y值相加為顯示視窗的大小,即poin.y+sy=nviewsizey--->sy=nviewsizey-point.y;其中sy是待求的自定義座標值。如果加上縮放及漫遊的因素,應該是先將縮放後座標系中的點進行「反漫遊」「反縮放」,所以sy=(nviewsizey-point.y-ymove)/scalefactor;

double sx=(point.x*1.0-xmove)/scalefactor; //首先確定點選位置在最原始影象中的的座標

double sy=nviewy-point.y-ymove)/scalefactor;//(point.y*1.0-ymove)/scalefactor;

double tempx=sx*nbufferx/nviewx*xresolution+x0;

double tempy=-1.0*sy*yresolution/(nviewy/nbuffery)+y0+yresolution*nbuffery;

為了能看懂上面的轉換,特將實現從地理座標(平面)到平面自定義座標系中座標地方法貼在下面了:

for(int array_point=0;array_pointgetx(line_point_id);

double temy;

temy=arrayy[array_point];//poline->gety(line_point_id);

double lower_left_y=y0+yresolution*nbuffersizey;

(*(lpoint+array_point)).x=(temx-x0)/xresolution*(nviewsizex/nbuffersizex);//(temx-x0)/xresolution*(rcwidth/pwidth);

//遙感影像垂直解析度為負值

(*(lpoint+array_point)).y=-1.0*(temy-lower_left_y)/yresolution*(nviewsizey/nbuffersizey);

}linepath.addlines(lpoint,ipoints);

delete lpoint;

delete arrayx;

delete arrayy;

座標系的轉換

開始學習3d,但是線性代數沒有學好,很多基礎知識也很難理解,最近看了一些,可還是沒有理解,只能再接再厲啊!1.左手座標系和右手座標系 由於二維時座標系都是一樣的,故沒有左右手之分。而在三維中,根據左右手去判斷z軸的方向,就產生了不同的座標系。2.物體座標系或者區域性座標系 世界座標系 這兩者是否一樣...

Arcgis的座標轉換

首先理解一下基準面 基準面是在特定區域內與地球表面極為吻合的橢球體。橢球體表面上的點與地球表面上的特定位置相匹配,也就是對橢球體進行定位,該點也被稱作基準面的原點,原點是固定的,所有其他點由其計算獲得。基準面的座標系原點往往距地心有一定偏移 有的也在地心,如wgs1984 如西安80的基準面和北京5...

座標系的轉換

今天的任務是需要把乙個以距離r為橫座標,以角度theta為縱座標的彩色影象,轉換為乙個以theta和r為元素的扇形圖。由於沒有找到可以直接畫出極座標彩圖的函式,所以最終需要給直角座標系下的畫素點賦值。兩種思路,一種是用x,y來表示theta和r,以讀取原圖中的彩色畫素值。即,r sqrt x 2 y...