Ran*_*Guy 4 java opengl math awt coordinates
我在以下坐标系中有一点:
Java AWT:
0,0|------------------------|
| |
| (middle p. 400,300) |
| |
|------------------------|800,600
Run Code Online (Sandbox Code Playgroud)
我想将其转换为以下系统:
OpenGL的
50,50|------------------------|
| |
| (middle p. 0,0) |
| |
|------------------------|-50,-50
Run Code Online (Sandbox Code Playgroud)
不知道怎么办呢?
通常,您要做的是从(矩形)坐标系转换A为坐标系B.
首先将源坐标系映射A到标准化范围[0, 1]:
double nx = x / (x1 - x0);
double ny = y / (y1 - y0);
Run Code Online (Sandbox Code Playgroud)
(x0, y0)左上角在哪里,(x1, y1)是右下角.然后将其映射到新的坐标系:
double px = X0 + nx * (X1 - X0);
double py = Y0 + ny * (Y1 - Y0);
Run Code Online (Sandbox Code Playgroud)
哪里(X0, Y0)是你的新的左上角坐标系(X1, Y1)是新的坐标系的右下角.
这适用于任何两个直角坐标系.
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |