Net of a prism: thanks to 3.1 new features + bug report

luxmath shared this question 13 years ago
Answered

Hi everybody!


I just registered, only to express my amazement and thankfulness to everybody involved in this project.

Since some time, I've been wondering how to render 3D (sort of) animations of polyhedra using GeoGebra. Tonight i grabbed this latest 3.1.126.0 build and I could put together this nice animation of a prism "unfolding" into its net. All thanks to the new "Sum" function!


Well, it looks like the 3.2 release is going to allow for some nice linear algebra. I didn't notice any bug, by the way.


(I just hope this will help some of my students to understand why the heck they multiply the base perimeter with the prism' height)


I attach my creature, to show the whole world how nice it is :wink: .


Lux

https://ggbm.at/539753

Comments (8)

photo
1

hello

Hi everybody!


I just registered, only to express my amazement and thankfulness to everybody involved in this project.


i am sure all of us want and thank your help in building this software


saludos

photo
1

I just hope this will help some of my students to understand why the heck they multiply the base perimeter with the prism' height


If this does not help, nothing will :-)


A didactical masterpiece, I think!


Ulven

photo
1

I just hope this will help some of my students to understand why the heck they multiply the base perimeter with the prism' height


If this does not help, nothing will :-)


A didactical masterpiece, I think!


Ulven


Well, I just hope none of my dear pupils will notice that the net looks like something obscene when raising the number of sides ... :flushed:

Some modifications will do.


In other news, I've been playing with 3x3 rotation matrices and it looks like I cannot properly use lists of matrices. When I generate a list R of matrices, it seems like I cannot multiply for instance :

    Element[R,k]*{1,2,3}

BUT one has to express the vector as a one column matrix, e.g. {{1,2,3}}. A sequence of these is a list of list of vectors, though.


A workaround to have a list of vectors generated from a list of matrices R acting on a vector v_0 is the following:


    Sequence[Element[Element[R, k] {v_0}, 1], k, 1, N + 1]


Waiting until the mighty coders will allow us to operate directly a matrix or a list of matrices on a list of vectors :)

photo
1

I replaced the .ggb file in the opening post.

  • New and improved, now using only matrices to do the whole stuff.
  • A _very_ long and winding approach to avoid having an almost obscene net, now the lower base spins around.

photo
1

Bug report! (*)


Using build 3.1.128.0, Java 1.6.0_10, problem reproduced on both XP and Vista.


Using the very file above. If I pull the t-slider (lowest one) right and left a few times, things disappear. Lists of 3D points, I believe, since then everything depending on it vanishes as well.

Choosing an higher value of N make things disappear earlier.

On my Asus EEE901, 1GB, WinXP, things seem to disappear much earlier than on my Vista, 3GB, Quad.

This leads me to think it is memory related. Maybe the changing values in the lists remain cached, or overflow, or do whatever buggy that causes them to be dumped.


Regards


Lux


(*) Am I supposed to open another thread for that?

photo
1

No more bug!


With the new build 3.1.129 the issue has disappeared!

(on both Vista and XP)


I wonder if it has ever come to the knowledge of the developers!?


Anyway, thanks!


Regards


Lux

photo
1

I wonder if it has ever come to the knowledge of the developers!?


But of course - we fixed it :)


Thanks for the report (it was a bug in some new code that was supposed to make the behaviour better when running short of memory :) )

photo
1

UPDATE


After an e-mail exchange with fellow forum user MikeMay, I updated the attached file, for it would not work anymore since the change in definition for matrices.

Which I found a little odd, by the way, because now if you define a 3x3 matrix as

    M={{row},{row},{row}}

then either you define a vector as v = {{v1},{v2},{v3}} and multiply M*v (a huge amount of brackets, if you ask me), OR you define a "horizontal" vector {{v1,v2,v3}} and left multiply v*M (an oddity, but algebraically correct).

© 2022 International GeoGebra Institute