# Tag Info

7

It looks like a voronoi diagram with a non-Euclidean distance metric. Probably not Manhattan L1 but something close related, but maybe Mahalanobis with some kind of restriction on seed point generation and movement. A similar result may be calculated with Weight-proportional Space Partitioning Using Adaptive Voronoi Diagrams when reducing spatial resolution ...

6

Lots of things here. "When reading papers". What papers? If the topic of the paper is about something other than the spatial partitioning structure, it could be fair to use whatever knowing that the basic ideas will translate to other structures. Or not, hard to say. "For example for ray tracing an oct tree, near misses will cause you to iterate through a ...

4

I don't have any direct experience doing this so I might be missing an obvious solution or tool. That said, what you describe is in programming terms comparatively easy to achieve. The basic structure of such a custom processing would be: Open the image file and get access to the array of pixels it contains. Iterate over all the pixels and inspect/transform ...

4

In the painter's algorithm, you first sort all graphics elements on depth (deepest first) and then one-by-one fully paint them into the image on top of each other. That way, deeper elements are obscured by less deep element. (Intersecting graphics element require special attention.) In the depth-buffering algorithm, you store the current depth of each pixel ...

3

In short painter's algorithm can't deal with intersecting geometry. Suppose that you draw a plane angled away from the camera, and a plane angled towards the camera. The planes intersect in an 'X' shape. Camera ------> X With painter's algorithm no such ordering exists that will render the shape exactly. You would only see whichever plane you decided ...

3

My 2 cents from writting the Chipmunk2D physics engine is that spatial hashing is great when you have a lot of objects that are all the same size. I had a demo 10 years ago that ran with 20k interacting particles on a Core 2 Duo in real time. The spatial hash worked great for that if you tuned it. I've since replaced the spatial hash with a binary AABB tree ...

3

The Flurry screensaver written by Calum Robinson is available as a part of the XScreenSaver package. You can download its source code from https://www.jwz.org/xscreensaver/download.html The flurry* files are in the hacks/glx directory. It's not an easy job to reverse engineer the algorithm from the source code, but debugging might help.

3

In games and other 3D scenes, generally when the user clicks the mouse, a ray is cast into the scene in the direction the camera is facing, and a check is done to see what geometry in the scene it intersects. If it intersects nothing, it is ignored. If it intersects a single object, then the application processes a click on that object (at the location of ...

2

Like Rahul said that algorithm is only in the case where $0 \lt \Delta y \lt \Delta x$. So you need to adjust the coordinates to fit within that. There are 8 cases: $0 \lt \Delta y \lt \Delta x$ the normal base case $0 \lt \Delta x \lt \Delta y$ swap x and y except for the drawPixel call. $\Delta x \lt 0 \lt \Delta y$ and $|\Delta y < \Delta x|$ use ...

2

Yes, there is a fairly general algorithm to calculate this scaling factor, which works for all shapes with a known parametric representation. First, substitute the parametric equation of the shape (e.g. a torus, cylinder or cone) into the implicit equation of the sphere, $x^2 + y^2 + z^2 = S^2$. Then, solve this equation for the radius of the sphere. The ...

2

An interesting problem. I've done a bit of work in texture compression and this sounds something like a generalisation of Campbell et al's "Color Cell Compression". It's also a little like a feature we were asked to include in the Dreamcast VQ compressor so that sub-palettes could be swapped to create different colour schemes on textures. I was thus ...

1

The straightforward solution is to simple not render the high poly model at all. Have a lower detail model that you can switch to once the model is too far away for it to make a difference. There is no point in rendering 20 triangles that all end up in the same pixel. Next option is to partition the model and then cull the individual parts. You can also ...

1

The problem you are seeing, i.e. "jaggies" or "staircasing", is an example of the more general problem known as "aliasing" and, in the graphics field, the term you want to search for is "Antialiasing". Aliasing occurs when you undersample a signal. If a signal contains frequencies at or above the Nyquist Frequency, which is 1/2 the sampling frequency, ...

1

This seems to be eluding to a Marching Cubes LOD algorithm such as: Place the entire volume in one giant cube. Break that volume into NxNxN cubes. And continue doing so until the cubes are at the finest granularity needed for the density function about 8 level works. Each volume then responds with either: No voxels - stop processing that sub volume OR Yes ...

1

Well, for the first octant you can either step EAST or NORTH-EAST. Depending on the distance to the actual line you choose the appropriate. In many integer implementations, this is done with regard to the sign of D.

1

Your code, as seen on your post at the time of posting this answer, looks sort of like this (the following was thrown together rather quickly and may or may not work) : function fill ( x, y, touched, elem ) { if ( count <= 0 ) return; if ( isOutOfBounds(x,y) ) return; const idx = y*24 + x; if ( gArr[idx][0] != 0 || touched[idx] ) return;...

1

Your understanding of the matrix structure in Q3 is correct. This code just does not construct a matrix explicitly and the matrix multiplication is applied implicitly. I think this part might cause your confusion. Instead of deciphering the code, I would rather derive the transform and compare it with the code. The affine (6 degrees of freedom) and ...

1

I guess your question is how to compute the inertia tensor automatically. A parametric equation may not be always possible, but we could write a program to avoid hand calculations as much as possible. The inertia tensor $\mathbf{I}$ is defined as an integral over the object domain $\Omega$ (see Inertia tensor):  \newcommand{\V}[1]{\mathbf{#1}} \begin{...

1

Perlin noise not good for real planet surface because planet surface is not random. Planet structure is create by geology/physics and interaction between different parts. This video show geology simulator have name PlaTec (have link in text below video): https://www.youtube.com/watch?v=bi4b45tMEPE Link have source code at SourceForge web site too.

Only top voted, non community-wiki answers of a minimum length are eligible