A mathematical concept that can be used to express position, direction or velocity and which can simplify or outright trivialise spatial problems.
19
votes
2answers
1k views
Calculating the rotational force of a 2D sprite
I am wondering if someone has an elegant way of calculating the following scenario.
I have an object of (n) number of squares, random shapes, but we will pretend they are all rectangles.
We are ...
15
votes
7answers
528 views
Do I need a Point and a Vector object? Or just using a Vector object to represent a Point is ok?
Structuring the components of an engine that I am developing along with a friend (learning purposes), I came to this doubt.
Initially we had a Point constructor, like the following:
var Point = ...
14
votes
6answers
3k views
Vectors in game development
I'm new to programming and game programming.
I've reading something about vectors and math, but I have a question - where do I use vectors in game programming? Maybe anyone can give a simple example ...
13
votes
4answers
8k views
How can I calculate the angle between two 2D vectors?
I am working on some movement AI where there are no obstacles and movement is restricted to the XY plane. I am calculating two vectors, v, the facing direction of ship 1, and w, the vector pointing ...
12
votes
5answers
2k views
Do I need the 'w' component in my Vector class?
Assume you're writing matrix code that handles rotation, translation etc for 3d space.
Now the transformation matrices have to be 4x4 to fit the translation component in.
However, you don't actually ...
12
votes
1answer
2k views
Determine arc-length of a Catmull-Rom spline
I have a path that is defined by a concatenation of Catmull-Rom splines. I use the static method Vector2.CatmullRom in XNA that allows for interpolation between points with a value going from 0 to 1.
...
9
votes
4answers
350 views
What exactly causes a surface to overlap another?
I cannot really figure out what causes one surface to overlap another. In a 3D engine I'm creating, my technique is failing in edge cases.
My method is sorting the surfaces to be painted from the ...
8
votes
3answers
460 views
Vector3 vs. Vector2 - performance, usage?
I'm currently playing around with XNA, and creating a simple 2D platformer. I was thinking of adding multiple layers to make it a little bit of challenge.
In stead of having a Vector2 for my ...
8
votes
1answer
274 views
How do I find a point on a line?
I have two points (A, B) and the length of d. How can I find point C?
8
votes
2answers
3k views
How do I linearly interpolate between two vectors?
I have a velocity vector where my client is at and where its going, and I have the same vector that comes from the server telling where the client should be. Sometimes its a bit different, so I want ...
8
votes
2answers
947 views
How do I determine if one polygon completely contains another?
I have 2 polygons. I know the vertex coordinates of both polygons. What's the best way to check if one is completely inside the other? For example, the algorithm should only recognize the black ...
8
votes
1answer
393 views
Downprojecting an imaginary 4D mesh to the screen
As a mental exercise, I'm trying to imagine projecting an arbitrary 4D mesh onto the screen (2D).
I'm guessing a single 4D triangle would still consist of only 3 points, however each of those 3 ...
7
votes
7answers
634 views
What's the best way of translating a 2D vector into the closest 8-way compass direction?
If you have a 2D vector expressed as x and y, what's a good way of translating that into the closest compass direction?
e.g.
x:+1, y:+1 => NE
x:0, y:+3 => N
x:+10, y:-2 => E // closest ...
7
votes
4answers
494 views
How does normal mapping really work?
I'm trying to grasp the concept of normal mapping, but I'm confused by a few things. In short, I'm not sure whether a normal map is viewpoint dependent or not (i.e. whether you'll get a different ...
7
votes
2answers
417 views
Rotate a vector
I want my first-person camera to smoothly change its viewing direction from direction d1 to direction d2. The latter direction is indicated by a target position t2.
So far I have implemented a ...
7
votes
4answers
629 views
Moving objects colliding when using unalligned collision avoidance (steering)
I'm having trouble with unaligned collision avoidance for what I think is a rare case. I have set two objects to move towards each other but with a slight offset, so one of the objects is moving ...
7
votes
3answers
324 views
Collision detection problems using AABB's
I implemented a simple collision detection routine using AABB's between my main game sprite and various platforms (Please see code below). It works great, but I'm now introducing gravity to make my ...
7
votes
3answers
1k views
Rotating a vector by another vector in shader
I have a terrain surface with a normal for each point on the terrain.
I have a second detail normal map to be applied to the terrain.
These normals are in 3-space.
The Y value of both normals is
...
6
votes
2answers
926 views
For a 2D XNA game, should I use the built in Vector2 or Vector3 or port my own class from ActionScript?
I use a lot of 2D vectors in my Flash games - basically all velocities, positions etc I store in this way. My Vector2D class has lots of built in functions for rotation, dotproduct, projectOnto etc. ...
6
votes
2answers
11k views
Moving a sprite in XNA/C#, using vectors
I'm currently looking into XNA game development with the C# language.
I have two classes: the main game handler and a "sprite" class. Following is some basic pseudo-code which I hope adequately ...
6
votes
2answers
335 views
Vector problem: which one is the left / centre / right one?
In aviation, runways are named according to their magnetic orientation seen from the pilot's perspective. For example: a strip of asphalt oriented along the east-west axis will be named 9 for the ...
6
votes
2answers
1k views
How to calculate the vector of an interception?
Given are a twodimensional space, and 1 friendly spaceship standing still, one foe is moving NOT directly to the friendly ship with known actual position, speed and direction.
The friendly ship wants ...
6
votes
2answers
872 views
Vector games (Wireframe, Elite-like) theory and implementations?
I'm interesting in knowing more about how vector games like Elite and Star Wars Atari were built from grounds up. The question is not how to implement vector graphics with modern 3D APIs like OpenGL ...
5
votes
2answers
2k views
How do I find the angle between two vectors?
I have 3 points on my screen:
a = a point which is (c.x, 0) makes a line pointing straight up
b = a user input touch, can be anywhere on the screen
c = a moving object
a
_______.________
| ...
5
votes
3answers
889 views
Why aren't linked lists more common data structures for enemies?
I was recently listen to a talk that Jonathan Blow gave, you can find it here. In the talk, he was talking about what data structures he (and he seemed to imply many others) use, and why. Which is ...
5
votes
1answer
402 views
How can I calculate a vertex normal for a hard edge?
Here is a picture of a lovely polygon:
Circled is a vertex, and numbered are its adjacent faces. I have calculated the normals of those faces as such (not yet normalized, 0-indexed):
Vertex 1 ...
5
votes
1answer
198 views
Moving in a diamond - enemy gets stuck
I have an enemy that I would like to move as follows:
Start at (0, 200, 0)
Move to (200, 0, 0)
Move to (0, -200, 0)
Move to (-200, 0, 0)
Move to start point, repeat as long as it remains active.
...
5
votes
3answers
655 views
Split a 2D scene in layers or have a z coordinate
I am in the process of writing a 2D game engine, and a dilemma emerged. Let me explain the situation...
I have a Scene class, to which various objects can be added (Drawable, ParticleEmitter, ...
5
votes
1answer
1k views
Rotate object to face player
This is probably a simple vector question, but I'm not sure how to do it.
I have an object at vector position (ox,oy). Potentially every update, the user walks around the screen, and will be at ...
5
votes
3answers
615 views
Should we go for our Vector2Int/Vector3Int implementation or just use built-in float based vectors?
So in one of our projects we're using Vector2/Vector3's a lot but we do only use integer/byte values mostly. So up to the point we've implemented our Vector2Int, Vector3Int, Vector2Byte and so ...
5
votes
1answer
194 views
Trouble with speed and vectors
I'm working on adding bullets to my game. Right now I can shoot bullets in the direction that I would like from a ship by getting the ship's angle:
int speed = 5;
int dx = ...
5
votes
2answers
442 views
Collision Detection/Response in Vector-based levels
I have a 2D side scroller whose levels are stored as vectors (that is, a bunch of lines) which looks like this:
How would I detect that I'm colliding with one of these lines, and react accordingly ...
5
votes
1answer
2k views
How do I calculate collision response between a sphere and a plane?
I'm trying to create a simple 3D game and need to constrain the player within the limits of the game world. When the player hits the sides of the world I want the player's ship to bounce off slightly.
...
5
votes
1answer
109 views
Rotating plane to be parallel to given normal via change of basis
I have two planes and their respective normals. I would like to rotate the second plane, planeB, so that it is parallel to the first, planeA.
To do this, I am using a change of basis to rotate each ...
4
votes
3answers
404 views
What are normal, tangent and binormal vectors and how are they used?
I would like to find out the following information:
What are they?
Example usage in game development (the area they are used in)
About the following vector types:
Normal
Tangent
Binormal
A ...
4
votes
1answer
1k views
How do I rotate a sprite so that it is 'pointing' in the direction it is moving
I have a sprite, e.g a missile, heading in a certain direction (using a velocity vector).
How do I figure out its how much to rotate it so that it gets drawn 'pointing' in the direction it is ...
4
votes
2answers
460 views
Calculate vector in local space
I have a vector (8,5). It's origin is at (10,9)
I can calculate a perpendicular like so:
MyPerpendicularVector.x = -MyVector.y
MyPerpendicularVector.y = MyVector.x
Given that I now know these two ...
4
votes
2answers
151 views
Getting an angle in degrees from north
This may have been asked already, but I was unable to find it, because I don't really know what I'm looking for. I drew a picture:
I need theta. I've seen various solutions using Vector.Dot, and ...
4
votes
1answer
302 views
Why game engines usually don't offer a vector3.rotate method? [closed]
Game engines like Three.js, Ogre3d and Unity3d often don't provide a default rotate method on their vector class. You usually have to do something like:
rotated = vector.applyQuaternion(
new ...
4
votes
1answer
352 views
How do I determine the position of one vector relative to another?
I'm making a game for Kinect in Unity which tracks hand movements. I have the player's root position and the position of their fist stored as 3-dimensional vectors (Vector3 in Unity), but they're both ...
4
votes
1answer
2k views
How to Calculate the Contact Point between Ray and Plane
Is there any quick way to find the intersection point between Plane and Ray?
4
votes
5answers
237 views
Implementing vector based movement in a 2d environment
Good evening.
I apologize if the title is a bit vague, I really could not come up with anything better.
I am currently reading a book called the nature of code and as a side project, I am working on ...
4
votes
2answers
2k views
Drawing a texture line between two vectors in XNA WP7
I want to create a simple graph maker in WP7.
The goal is to draw a texture line between two vectors what the user defines with touch. I already made the rotation, and it is working, but not ...
4
votes
2answers
512 views
What is a good way to determine if a vector is between two other vectors?
I could operate with the angles, but I do not have the angles calculated yet (and would like to avoid having to do that). It would be possible to calculate and cache the local-coordinate-frame angles, ...
3
votes
2answers
6k views
Rotate vector by matrix?
If I have a Vector, say (1,1), how can I rotate it around the origin (0,0)?
I'm working in XNA if that helps.
3
votes
5answers
754 views
Normalization of Vectors: Return a copy of the result or alter the object itself?
When calculating the normal of a vector, which is considered canon:
Returning a copy:
Vector2D Vector2D::Normalize() const {
double a1 = GetX();
double a2 = GetY();
double a3 = GetZ();
...
3
votes
4answers
670 views
Is it better to track rotation with a vector or a float?
In XNA, you can see that to draw a rotated sprite with SpriteBatch, you'll need a float describing the angle in radians.
I'm used to making games in OpenGL. I just want a rapid prototyping ...
3
votes
3answers
292 views
Tetris - Rotations using Linear Algebra (Rotation Matrices)
I'm making Tetris in Java and am at the point of rotations... Originally I was hardcoding each rotation:
if (direction.equals("right")) {
if (shape.equals("Bar")) {
if ...
3
votes
1answer
277 views
How to bounce a 2d point particle off of a circular edge
In a prototype I'm building, a particle can spawn anywhere within a larger, confining circle. Important to note is that the particle will not spawn in the origin of the larger circle, but anywhere ...
3
votes
1answer
2k views
How do I find rotation in 3D based on a vector/normal?
I've been playing with Blender and Python, doing basic things like accessing vertices/normals,etc.
I can get the normal of each face of a mesh. I was wondering, how can I get the rotation of a face ...