# CAS 3D Vector commands

Janek shared this idea 8 years ago

I'm very happy with the new 3D numeric graphic module.

In former 5.0 beta versions some easy 3D vector operations like + worked well.

In 5.0.19.0 some of them work well with 3D vectors and others don't.

Please implement the vector operations in the CAS module for 3D vectors.

My pupils and me would be very thankful about that.

Greetings from Jena (Germany)

Jan 1

Which operations would you like? 1

CAS requests:

These things would simplify the handling and understandling for pupils:

1) small letters should automatically create a vector object: a:=(1,2,3) or ab:=(3,4,3) whereas A:=(3,2,1) should create a Point object

2) vectors should be displayed in columns (as well in 3d-line objects in the algebra window)

These operations / commands I'd like to use with 3d vectors (some of them are included yet, but do not function without problems under various conditions)

1) Vector[ <Start Point>, <End Point> ]

2) Line[ <Point>, <Vector> ]

3) Angle[ <Vector>, <Vector> ]

4) Distance[ <Point>, <Object> ]

5) Length[<Vector>] functions, but is not displayed as a possible command

6) sometimes even these simple operations lead to an error message for various reasons

vector+vector; vector - vector; number*vector

7) these function well: Dot[ <Vector>, <Vector> ]

Cross[ <Vector>, <Vector> ]

Solve[ vector equation]

Substitute[vector equation]

Greetings from Germany

Jan 1

Please try 5.0.26.0 for some first steps.

For now, rather than

u+v

a:=(1,2)

you need to write

Vector[u+v]

a:=Vector[(1,2)]

and vectors aren't displayed as column vectors yet.

Some examples of what's working:

Vector[(1,2)]

Vector[(1,2,3)]

Vector[(1,2), (5,7)]

Length(Vector((1,2)))

Length(Vector((1,2,3)))

5*Vector((1,2))

5*Vector((1,2,3))

Vector((1,2)) / 5

Vector((1,2,3)) / 5

Vector[(1,2)] * Vector[(3,4)]

Vector[(1,2)] * Vector[(3,4,5)]

Vector[(1,2,3)] * Vector[(4,5)]

Vector[(1,2,3)] * Vector[(4,5,6)]

Cross[Vector[(1,2)], Vector[(3,4)]]

Cross[Vector[(1,2,3)], Vector[(4,5)]]

Cross[Vector[(1,2)], Vector[(3,4,5)]]

Cross[Vector[(1,2,3)], Vector[(4,5,6)]]"

Line[(1, 2), Vector[(3, 4)]]

Angle[Vector[(1,2)], Vector[(3,4)]]

Angle[Vector[(1,2,3)], Vector[(4,5)]]

Angle[Vector[(1,2,3)], Vector[(4,5,6)]]

x(Vector[(1,2,3)])

y(Vector[(1,2,3)])

z(Vector[(1,2,3)])

x(Vector[(1,2)])

y(Vector[(1,2)])

Dot[Vector[(a,b)],Vector[(c,d)]]

Vector[1,2]

Vector[Vector[(1,2)] + Vector[(3,4)]]

Vector[Vector[(1,2)] + Vector[(3,4,5)]]

Vector[Vector[(1,2,3)] + Vector[(4,5)]]

Vector[Vector[(1,2,3)] + Vector[(4,5,6)]]

Vector[(1,2)+(3,4)]

Vector[(1,2,3)+(4,5,6)]

abs(Vector((1,2)))

abs(Vector((1,2,3))) 1

As you shurely recognized, I'm teaching calculating with vectors and GeoGebra this semester.

So my pupils and me are thankful for the quick implementing of our wishes.

While experimenting I found something strange in my oppinion.

I'm not shure whether this is the right place to post it, but I'll try it here:

Angle[Vector[a],Vector] is OK in 5.0.26.

But why leads Angle[a,b] to an error message, even if a and b are defined as vectors (a:=Vector[(1,2,3)] and b:=Vector[(4,5,6)]) before?

this worked well in 5.0.19. :-( 1

It looks like Angle[ u, v ], where u and v are defined as vectors now works.

It would be nice if, as an example;

Angle[ (1,0,0), (2,-3,5) ]

also would work. 1

If using Points, you need to specify 3 (as in the Input Bar) ie

Angle[ (1,0,0), (0,0,0),(2,-3,5) ]

or specify Vectors

Angle[ Vector[(1,0,0)],Vector[(2,-3,5)] ] 1

Yes, that is what we don't like :-)

As there is no command "Angle[ <point>,<point>]", there should be no ambiguity and possible

to interpret

Angle[ (1,0,0), (2,-3,5) ]

as a command to find the angle between the two vectors.

(It appears to confuse both pupils and Teachers that this vector operation behaves

differently from Dot[ (1,0,0),(2,-3,5)] ) 1

Please try 5.0.49.0, online now. Some really nice improvements:

* a:=(1,2) works to define a vector

* vectors are displayed as column vectors

* Angle[(1,2),(3,4)] works :) 1

Great work!!! Thanks!!!

There are some more things, that should be fixed or included:

1. Some operations with vectors work fine and the results are displayed as vectors:

these are defined:

d:=(2,3,1)

e:=(g,3,1)

results are displayed in columns:

Cross[d, e]

d+2*e

results are not displayed in columns:

d⊗e

Cross[e, d]+d

2. I wonder if the line-objects in algebra and CAS-module are compatible?

In the algebra-mode there is λ the parameter.

In the CAS-module the command t:=Line[(2,1,2),(2,1,4)] leads to t as a parameter even

if the line itself is named like that.

It would be helpful, if lines in CAS-module are displayed in columns as well as

separated in vector + parameter* vector like in algebra-mode and if the parameter

would be handled equal. Perhaps λ, λ_1, λ_2, ... could be reservated?

Merry christmas from Germany

Jan 1

Please try 5.0.53.0 - I think all the problems in (1) are fixed