C++ :: Finding Rotation Direction From Two Orientations?

Mar 4, 2014

It is technically not a programming question and is more maths oriented. It has to do with game AI and specifically getting the AI to rotate correctly. I am trying to create the base method that handles AI rotation. It will take a target orientation and rotate the entity from it's current orientation to that target orientation.

Let's say we have a Entity that has the orientation of 1.57079 Radians (90 Degrees) and we want to change that Entity's orientation to 0 Radians (0 Degrees). How would one find the correct way to rotate from just them two orientations (IE find the shortest rotation direction from a current orientation to a target orientation)?

As my implementation stands now the Entity rotates just fine I think but always in a clockwise rotation (Because I can't figure out how to determine the best rotation direction). For example using the previous number (1.57079 Radians to 0 Radians) the Entity will rotate all the way around 270 Degrees clockwise instead of rotating just 90 degrees counter-clockwise.

I have thought about possibly projecting vectors a short distance forward from the current orientation and target orientation to figure out the rotation direction but not sure if that is a good way to implement it.

View 1 Replies


ADVERTISEMENT

C :: Displaying Direction From A Table Of Values

Oct 1, 2014

Below, is the program I completed so far. I need to write a C program that reads in a stream of integer values, each representing an (x,y) pair on the cartesian plane. It then says I need to display the distance and direction from one point to the next. I tested it out, and it works.I need to use a conditional statement, and I'm a little confused how to display the direction(right, left, up, or down).I think I need to use an. "If" statement with my first one being something like:

If (y2 = y1) && (x2 > x1)

and I'm not sure what else to put,or if this is wrong. And with y staying the same and x increasing, the direction would be right.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int x1, y1,x2,y2,x3, y3,x4,y4,x5,y5,x6,y6; //x and y coordinates

[Code] ....

View 1 Replies View Related

C++ :: Vector Addition With Magnitude And Direction

Sep 29, 2013

i new to c++ programming. i have a program due soon in vector addition. i am to design should be able to add vectors with certain magnitude and direction and give its resultant magnitude and direction (i know how to do this mathematically but programming is not working. the user should be able to select how many vector he/she wants (i don't know how to do this, so i added 3 vectors). here's my work - i did this purely algebraically. it's still incomplete but it compiles. my "if else" statement also doesn't respond correctly.

#include <iostream>
#include <string>
#include <vector>
#define PI 3.14159
#include <math.h>
std::vector<int> v; // declares a vector of integers
using namespace std;

[code].....

View 4 Replies View Related

C++ :: Direction On Implementing Alegrabic Functions

Apr 30, 2013

implementing an algebra function.(a+b)(a-b).does c++ support this sort of function.Did a quick search on google and all of them suggested using libraries like boost. is there anyway to do this without a library?

View 3 Replies View Related

Visual C++ :: CDialog Resize In One Direction

Oct 27, 2014

Is there any way to allow user to resize a CDialog only in one direction ? I mean, by width, but not by height ? How ? I noticed that overriding WM_SIZE, I can do nothing about this issue ...

View 2 Replies View Related

C++ :: Program That Prints A Triangle Of Symbols In A Certain Direction

Jan 12, 2015

So I need to make a program that prints a triangle of symbols in a certain direction.

For example: Code: How many rows? 3

@
@@@
@@@@@

How to do that. It's rare that I post without figuring anything out, but I'm just simply not sure. I have a program that prints a triangle in a similar direction, so maybe if I could get some hints as to what to do with that (HINTS, not direct source code) .

Code:
#include <iostream>
#include <iomanip>
using namespace std;
int main ( ) {

[Code] .....

View 6 Replies View Related

C :: AVL Left And Right Rotation

Feb 7, 2013

I am creating and implementing a left and a right rotation to balance a bst into an avl tree. I have made and tried 5 different codes that are commented in the functions left_rotate() and right_rotate() but none have run correctly. Sometimes the program works, sometimes there is a segmentation fault and sometimes not all inserted numbers are shown.

avl.c

Code:
#include<stdio.h>#include<stdlib.h>
#include<time.h>
#include "avl.h"
#define N 10
void swap(int *a, int *b){

[Code] ....

View 1 Replies View Related

Visual C++ :: SDI App - Constraint Mouse To Move Only Horizontal Direction If Shift Key Pressed

Apr 23, 2015

In a SDI app, I constraint the mouse to move only an horizontal direction, if "Shift" key is pressed ... here is the code:

Code:
void CTestMouseView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) {
// TODO: Add your message handler code here and/or call default
if(GetKeyState(VK_SHIFT) < 0) {
CRect rect;
GetWindowRect(&rect);
GetCursorPos(&m_point);

[Code] ....

Nothing complicated, and it works well ... except one thing: when I press the shift key and the mouse is moving by SetCursorPos, is moving pretty slow ... why ? I can not figure out why ! For testing, I attached the test project ...

View 13 Replies View Related

C :: Image Rotation Without Cropping

Nov 4, 2014

I am new to image processing..... and I am learning the concepts.

Recently I have done image rotation of grey scale image using the following formula:

x' = xcos(theta)-ysin(theta)
y' = xsin(theta)+ycos(theta)

The problem i have faced is image is getting cropped.

I want to rotate an image without cropping. I have searched a lot but I am not getting any algorithm based on C. How to get the algorithm for image rotation without cropping.

View 2 Replies View Related

C++ :: Visualizing 3D Rotation Using Quaternion Data

Jun 10, 2014

Just bought a new ST Micro iNEMO-M1 system, and am looking to have my code visually show me the rotation information. I've got a working C++ code which actively acquires data from the sensor, and I'm looking to extend that into some visual interface which will show me on-screen the position of the sensor.

I figure using rotation information in the form of quaternion data is the most useful (want to avoid the gimbal lock problems associated with Roll/Pitch/Yaw).

What would be the best method to visualize the rotation of my sensor in real-time?

View 2 Replies View Related

C# :: Vertice Location After Quaternion Rotation

Aug 16, 2012

I have a 3d Point in space. From this point I have vertices defind by(scale). I have a Quaternion representing the rotation of the object (lets say a block). So...

(1) I know the point in local and world space and can translate.

(2) I know the scale of the object and it's starting vertices intersections at zero rotation.

(3) I have the quaternion which represents the 3d rotation and can translate that to degrees and Eulers.

How do i find the exact points of the vertices after the rotation. (what I'm attempting to do is plot points from vertice to vertice all along the sides/top/bottom of the object.)I have looked at Matrix4 transformations and Quaternions and still do not understand how to find the vertices after rotation.

View 8 Replies View Related

C++ :: How To Move Sprite Depending On Rotation

Jan 13, 2015

how I want my sprite movement to work: if my sprite is faced upwards and i press W, it will move up. If my sprite is faced to the right and i press W, it will go right. etc. // It doesn't work like that right now and how to do it.The sprite's rotation works fine.

if(sf::Keyboard::isKeyPressed(sf::Keyboard::Q)) {
playerSprite.rotate(-0.08 * dt);
} else if(sf::Keyboard::isKeyPressed(sf::Keyboard::E)) {
playerSprite.rotate(0.08 * dt);

[code]....

My question is how do I move the character depending on the rotation?

Also, you might see the "if(havePlayersCollided == false) {playerSprite.move(yadiyada)}" . yes i dont need the haveplayerscollided function because it doesnt work the way I want it to. I might make a thread for it in the future, but right now I need to get the rotation movement fixed before I move onto the collision detection between players.

View 7 Replies View Related

C++ :: Getting A Point Rotation Or Normal From 4 Vectors?

Dec 31, 2014

I'm trying to get a rotation of a spefic point in a 3D space using 3 or 4 coordinate/vector.

For example, I want to know the rotation of (5,5,5)

Using 4 vectors for example (0,0,0), (10,10,10), or 10,0,10, etc. (3 minimum)

View 2 Replies View Related

C++ :: Array Char Rotation And Arrow Key Usage

Apr 27, 2013

I am doing a project for a class which involves making a game where there is an arrray that holds a player (you) and a zombie (comp). The player is suppose to be able to turn clockwise or counter clockwise, move forward, and backward and shoot. Im having trouble trying to rotate the char in an array. I am also trying to switch from using the W,S,D,A to the arrow keys but doesnt seem to work.

#include <iostream>
#include <windows.h>
#include "color.h"
using namespace std;
using namespace Petter;
const int COL = 15;
void initBoard(char[][COL], int, int);

[Code] ....

View 5 Replies View Related

C# :: Image Rotation Leaves Null Areas

Jan 29, 2015

I am working on a Paint program and I have a nice routine (copied from the Net) that beautifully rotates my Image by any chosen degree, and even preserving the entire Image with a 'noclipping' option.

The problem is - That after the rotation, say 45degrees, the areas in the corners, that originally were not part of the Image, cannot be drawn to. I have an 'eye dropper tool' that shows these areas to be null, having no color. My drawing tools will not work on these areas.

public static Bitmap RotateImage(Image image, float rotateAtX, float rotateAtY, float angle, bool bNoClip) {
int W, H, X, Y;
if (bNoClip) // use Clipping {
double dW = (double)image.Width;
double dH = (double)image.Height;
double degrees = Math.Abs(angle);

[Code] ....

View 13 Replies View Related

Visual C++ :: Detect And Find Rotation Angle If Skeleton Tracked Turned 180 Degree To Kinect

Sep 25, 2013

I m developing an application using kinect.The IDE I use is Visual studio 2012 and kinect SDK 1.8.I m developing using vc++

I want to overlay an image on the person tracked when the person turns 180 degress to kinect. ie the person is not facing the kinect.

how do i track the rotation angle of the person as he/she turns away from kinect.

View 7 Replies View Related

C :: Make Rotation To 2d Array Without Using Any Other Array

Dec 7, 2014

which asking to make a rotation to a 2d array without using any other array , so here's an example :

1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

i want to add 90 degree so :

13 9 5 1
14 10 6 2
15 11 7 3
16 12 8 4

View 2 Replies View Related

C :: Finding Next Day Using Structures

Jul 21, 2013

Ok, for my Sunday homework I have to find the next day of the year using structures. Now, I can get the structure to read the entered date (tested that with a simple scanf to printf entered data), but I need to get it to be able to tell that it is the end of the month and print out the next month when necessary. Here is what I got so far:

Code:
//Cameron Taylor
#include <stdio.h>
struct Date{
int month;
int day;
int year;

[Code] ....

As you can see, I am trying to use an array for the max day of each month (excluding Leap Year for now).

Where I use the entered month to = 'i'. Then I use 'i' as the position in the array to see if next.day is = to the max day of that position of the array.

I am having no compiler issues with GCC using -w or -Wall, but after entering the current day the program stops working and doesn't go beyond the input.

commiedic@localhost Project18$ gcc -o -Wall Exercise4.c
commiedic@localhost Project18$ gcc -o -w Exercise4.c
commiedic@localhost Project18$ gcc -w Exercise4.c
commiedic@localhost Project18$ make Exercise4
make: `Exercise4' is up to date.

[Code] .....

View 13 Replies View Related

C++ :: Finding A Value In 2D Array?

Jul 9, 2014

I want to search a 2D array to see if it contains a certain value x. I can come up with three different ways to do this. Provided I have:

const int Rows = 40;
const int Columns = 30;
int SampleData[Rows][Columns] = { ... }

Is there any real difference (in terms of performance etc.) between these, or are there an even better solution?

Solution 1:
for(unsigned row = 0; row < Rows; ++row) {
for(unsigned col = 0; col < Columns; ++col) {
if(SampleData[row][col] == x) {
// found
} } }

Solution 2:
int* data = &SampleData[0][0];
if(find(data, data + Rows * Columns, x) != data + Rows * Columns) {
// found
}

Solution 3:
int* data = &SampleData[0][0];
for(unsigned i = 0; i < Rows * Columns; ++i) {
if(*data++ == x) {
// found
} }

View 1 Replies View Related

C++ :: Finding Max Number

Nov 5, 2013

#include <iostream>
using namespace std;
int max(int num1, int num2, int num3);
int main () {
int num1, num2, num3, large;

[Code] ....

For some reason it keeps num3 as large.

View 5 Replies View Related

C++ :: Finding Sum Of Third Row In 2D Arrays

Apr 29, 2014

Okay, so I am developing a program that does many things. One of the is finding the sum of the third row in an array.

Here is my program

#include <iostream>
#include <string>
using namespace std;
void changeNum (int qArray2D [5][5]);
void printNum (int qArray2D [5][5]);
void calcNum (int qArray2D [5][5], int sum);

[Code].....

View 14 Replies View Related

C++ :: Finding GCD Of N Numbers

Feb 14, 2014

I know how to write the GCD for one, two, three, four, and etc, numbers. But I cannot seem to find a way to write a code that does it for 'n' numbers.

That is, the user inputs a number 'n', which determines the size of a dynamic array. Then they are prompted to input the values for each of the elements in the array that will constitute the numbers the program is to find the GCD for.

This records the array:

for (int count = 0; count < n; count++) {
cout <<"Enter the numbers you wish to find the GCD for, for term" << count << ": ";
cin >> GCD_n[count];
}

Here is a code for finding GCD of three numbers:

cout << "This program finds the greatest common divisor of three numbers.
"
<< "Enter the first number:
";
cin >> a;

[Code] ....

How to proceed coding a program that finds the GCD of 'n' terms.

GCD_n[n] is the array that contains the numbers for which we need to determine the GCD for.

My main problem is with writing a code that tests the elements of the array containing the list of numbers in GCD_n[n], all at the same time, such that:

int n;
cout << "This program finds the greatest common divisor of n numbers.
"
<< "What is the total amount of numbers you want to find the GCD for?

[Code] .....

View 1 Replies View Related

C++ :: Finding Maximum Value In A Map

Jul 26, 2014

Suppose that a map is defined thus: map<sttring, int> mymap;

I wanna find k maximum values. Is there a way to find the maximum value in an efficient manner? Or else, How can I sort them and then find the k first elements?

View 1 Replies View Related

C++ :: Finding The Address Of A Bitfield

Aug 14, 2013

So I obviously can't take the address of a bitfield, but is there a way to get the address of the field holding the bitfield? What I'm trying to do is find the address of the parent field of a bitfield in a class. For example

Code:
class Foo
{
public:
int a;
int b : 4;
int c : 28;
[Code] ....

My goal is to get the offset address of the int storing c in class Foo. But offsetof uses the address of c, so I get a compile error since c is a bitfield. What I wanted as output from the above would be "4", since an int is 4 bytes (on my system). So the int holding both b & c starts 4 bytes from the start of the Foo class. Is there any way to do this in c/c++?

View 14 Replies View Related

C++ :: Finding Grid Of Mines?

Aug 8, 2014

Code: There is a rectangular grid of numbers. The grid has m rows and n columns. So it has m*n cells in total.The rows are numbered from 1 to m and the columns are numbered from 1 to n. The top most row has number 1, the row next to it has number 2 and so on. Similarly, the left most column has number 1, the column next to it has number 2 and so on. Each cell in the grid has a unique coordinate which is (x, y) where x is the row number and y is the column number of that particular cell.

Each cell in the grid has an integer in {0, 1, 2, 3, 4, 5, 6 ,7 ,8}. Number in cell (x,y) is number of mines in neighboring cells (cells have at least 1 common vertex with cell (x,y))

Your task is to find grid of mines, i.e display an m*n grid of numbers {0, 1} (cell (x, y) is 1 if there is a mine in cell (x, y)).

Input
First line of the input contains two space separated integers, m and n. Next m lines, each line has n numbers in {0, 1, 2, 3, 4, 5, 6 ,7 ,8}.

Output
A grid of numbers {0, 1}

View 4 Replies View Related

C :: Array Finding Position Of A Value?

Dec 24, 2013

So for a project I'm working on, I'm using an array and generating it's values randomly but unique. Currently I'm working on a 3X3 array and the generated values are in the range from 1-9. So I wrote a function that will tell me the position of the cell whose value is 9. This is the function I wrote:

Code: void Llogaritje1(int t[3][3],int &i, int &j){
int y,l;
for(y=0;y<3;y++){
for(l=0;l<3;l++){
if(t[y][l]==9){
i=y;
j=l;
break;
}
}if(t[y][l]==9) break;
}
}

But it doesn't work on all cells. Seems like at cells t[1][0] and t[2][0] the values that i and j take are 0 0 since when I print them after excecuting the function that's what it returns. I really don't understand why.

View 4 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved