Difference between revisions of "C++:3D Exercises"

From Progzoo
Jump to: navigation, search
(Normalise a vector)
(Normalise a vector)
Line 183: Line 183:
  
 
<answer><![CDATA[
 
<answer><![CDATA[
#include <math.h>
 
#include <iostream>
 
using namespace std;
 
 
float length(float a[3]){
 
  float r=sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);
 
  return r;
 
}
 
 
int main(int argc, char **argv)
 
{
 
  float A[]={1,0,1};
 
  float B[]={1,1,2};
 
  A = scalarproduct(1.0/length(A),A);
 
  B = scalarproduct(1.0/length(B),B);
 
  cout << A[0]<<" "<<A[1]<<" "<<A[2]<< endl;
 
  cout << B[0]<<" "<<B[1]<<" "<<B[2]<< endl;
 
  return 0;
 
}
 
 
]]></answer>
 
]]></answer>
 
</question>
 
</question>

Revision as of 08:34, 24 November 2011

Dot Product

Calculate the dot product of two vectors. Fill in the details in the function dotproduct

Wikipedia includes a good article on dot products. http://en.wikipedia.org/wiki/Dot_product#Definition



[Font] [Default] [Show] [Resize] [History] [Profile]

Cross Product

Calculate the cross product of two vectors. Fill in the details in the function crossproduct

Wikipedia includes a good article on cross products. http://en.wikipedia.org/wiki/Cross_product#Coordinate_notation



[Font] [Default] [Show] [Resize] [History] [Profile]

Vector Length

Calculate the magnitude of a vector. Fill in the details in the function length



[Font] [Default] [Show] [Resize] [History] [Profile]

Normalise a vector

Normalise the given vector. The direction should be the same, the length should be 1.



[Font] [Default] [Show] [Resize] [History] [Profile]

Normal to a plane

Find the unit normal to the plane that contains the three points given.



[Font] [Default] [Show] [Resize] [History] [Profile]