Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package project1;
- public class SubPlot {
- private float[] window;
- private float[] viewport;
- private float mx;
- private float bx;
- private float my;
- private float by;
- public SubPlot(float[] window, float[] viewport, float fullwidth, float fullheight) {
- this.window = window;
- this.viewport = viewport;
- mx = viewport[2] * fullwidth / (window[1] - window[0]);
- bx = viewport[0] * fullwidth;
- my = viewport[1] * fullheight / (window[3] - window[2]);
- by = viewport[1] * fullheight;
- }
- public float[] getPixelCoord(float x, float y) {
- float[] coord = new float[2];
- coord[0] = bx + mx * (x - window[0]);
- coord[1] = bx + mx * (y - window[2]);
- return coord;
- }
- public float[] getWorldCoord(float xx, float yy) {
- float[] coord = new float[2];
- coord[0] = window[0] + (bx - xx) / mx;
- coord[1] = window[2] + (by - yy) / my;
- return coord;
- }
- public boolean isInside(float xx, float yy) {
- float[] c = getWorldCoord(xx, yy);
- return (c[0] >= window[0] && c[0] <= window[1] && c[1] >= window[2] && c[1] <= window[3]);
- }
- public float[] getviewport() {
- return
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement