It seems that you want to position the camera on the line coincident with the basis vector describing the smallest dimension of the box, then roll the camera so that the largest dimension is horizontal assuming you have OBB and not AABB.
Many systems use integers for UI painting pixels are ints after allbut macOS for example uses float for everything. On retina screens half a point 0. Now you said speed is your main concern, okay, let's go for speed.
Before you run any sophisticated algorithm, first do a simple test. Create an axis aligned bounding box around your polygon.
This is very easy, fast and can already safe you a lot of calculations. How does that work? This means Xmin is 2, Xmax is 9, Ymin is 1 and Ymax is 7.
As you can see, this test is ultra fast but it's also very coarse. To handle points that are within the bounding rectangle, we need a more sophisticated algorithm. There are a couple of ways how this can be calculated. Which method works also depends on the fact if the polygon can have holes or will always be solid.
Here are examples of solid ones one convex, one concave: And here's one with a hole: The green one has a hole in the middle! The easiest algorithm, that can handle all three cases above and is still pretty fast is named ray casting. The idea of the algorithm is pretty simple: Draw a virtual ray from anywhere outside the polygon to your point and count how often it hits a side of the polygon.
If the number of hits is even, it's outside of the polygon, if it's odd, it's inside. The winding number algorithm would be an alternative, it is more accurate for points being very close to a polygon line but it's also much slower. Ray casting may fail for points too close to a polygon side because of limited floating point precision and rounding issues, but in reality that is hardly a problem, as if a point lies that close to a side, it's often visually not even possible for a viewer to recognize if it is already inside or still outside.
You still have the bounding box of above, remember? Just pick a point outside the bounding box and use it as starting point for your ray. But what is e? Well, e actually epsilon gives the bounding box some padding. As I said, ray tracing fails if we start too close to a polygon line. Since the bounding box might equal the polygon if the polygon is an axis aligned rectangle, the bounding box is equal to the polygon itself!
How big should you choose e? It depends on the coordinate system scale you use for drawing. If your pixel step width is 1. Therefore we can't just work with the polygon points as before, now we need the actual sides. A side is always defined by two points.
You need to test the ray against all sides. Consider the ray to be a vector and every side to be a vector. The ray has to hit each side exactly once or never at all. It can't hit the same side twice.
Two lines in 2D space will always intersect exactly once, unless they are parallel, in which case they never intersect. However since vectors have a limited length, two vectors might not be parallel and still never intersect because they are too short to ever meet each other.
Here's some C code not testedthat should do the trick:and where is the bounding box for the object in that grid cell? And so long as you don't have more than one object in each grid cell, this algorithm should work okay.
And the problem of having multiple objects within. Problem with bounding boxes. Asked by Daniel N. Daniel N (view profile You're not passing in a bounding box. boxes(idx:) is a bounding box for idx = 1, 5, 9, etc.
(every 4) but not for 2,3,4,6,7,8, etc. The bbox was same as the boundingbox that I cat it before - it has more than 1 row.
Managed to solve the problem by removing the semi. Tools and Tips for Writing Papers. Editing LaTeX Files; TeXnicCenter: which modes to use if you have problems in using MiKTeX in Windows, allow the bounding box to be automatically calculated, and save with a different filename, say, kaja-net.com You may import kaja-net.com into .
Apr 19, · I'm not sure if GSview offers such a feature, but the bounding box can be changed by editing the EPS file with a normal text editor. There is a commentary section in each EPS file where the bounding box is given. The coordinate system of postscript has its origin in the lower left corner of a .
Creating a bounding box for 2 points with a custimizable width? Ask Question. up vote 1 down vote favorite.
So I'm a little lost on the math aspect if what I need to do. Basically, I have 3 points. Working out coordinates for a bounding box with 3 mile radius from original lat/long. 2. Jul 24, · I don't do that many drawings, but I remember having problems with small views located next to larger views (say a detail and a section view) where the small view bounding box was completely inside the larger view bounding box.