Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. package project1;
  2.  
  3. public class SubPlot {
  4.  
  5. private float[] window;
  6. private float[] viewport;
  7. private float mx;
  8. private float bx;
  9. private float my;
  10. private float by;
  11.  
  12. public SubPlot(float[] window, float[] viewport, float fullwidth, float fullheight) {
  13.  
  14. this.window = window;
  15. this.viewport = viewport;
  16. mx = viewport[2] * fullwidth / (window[1] - window[0]);
  17. bx = viewport[0] * fullwidth;
  18. my = viewport[1] * fullheight / (window[3] - window[2]);
  19. by = viewport[1] * fullheight;
  20. }
  21.  
  22. public float[] getPixelCoord(float x, float y) {
  23. float[] coord = new float[2];
  24.  
  25. coord[0] = bx + mx * (x - window[0]);
  26. coord[1] = bx + mx * (y - window[2]);
  27.  
  28. return coord;
  29. }
  30.  
  31. public float[] getWorldCoord(float xx, float yy) {
  32. float[] coord = new float[2];
  33.  
  34. coord[0] = window[0] + (bx - xx) / mx;
  35. coord[1] = window[2] + (by - yy) / my;
  36.  
  37. return coord;
  38. }
  39.  
  40. public boolean isInside(float xx, float yy) {
  41. float[] c = getWorldCoord(xx, yy);
  42. return (c[0] >= window[0] && c[0] <= window[1] && c[1] >= window[2] && c[1] <= window[3]);
  43. }
  44.  
  45. public float[] getviewport() {
  46. return
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement