Years ago I tried to create an object library expansion module for Design 3D. Unfortunately it got lost during a RAM clearing, and I haven't gotten around to do anything with it before now.

The version I made years ago was based on precalculated objects that got scaled, moved and injected into the project envroniment. This time around I have tried a different approach, by using some routines that generates a sphere from the ground-up.

As the spheres are generated, it's now possible to to enter your own specifications rather than being bound to two preset sizes. All you have to enter is the radius, the number of "layers" (number of latitude lines), and the number of "points per layer" (number of longitude lines). You can also change the X Y and Z scale for the sphere (default to 1,1,1), and it's position in the project envroniment (default to the cursor at the time the module is called). You can also select to not add the line-mesh for the sphere, in which case only the points are added.

As no list can be greater in size than 999 entries, it should be kept in mind that one shouldn't add too "detailed" spheres. Let N be the number of "layers", and M be the number of "points per layer". The number of points added will then equal NM+2, while the number of lines added will equal M(2N+1).

Unfortunately I forgot a Mini-USB cable when I moved for University, but I will do whatever I can to get hold of one.
Great to see you again, Olav, and thanks for sharing your latest project. If I haven't said it enough lately, I continue to be impressed at how far you've taken Design 3D over the years and all the cool things you've done with it. I'll definitely be trying this out, and perhaps seeing if there's anything of my own I might add to it for fun. I look forward to your release of this program!
KermMartian wrote:
Great to see you again, Olav, and thanks for sharing your latest project. If I haven't said it enough lately, I continue to be impressed at how far you've taken Design 3D over the years and all the cool things you've done with it. I'll definitely be trying this out, and perhaps seeing if there's anything of my own I might add to it for fun. I look forward to your release of this program!


Thanks Smile .

I have a faint thought about another possible expansion; a proper object-based animator in the form of an expansion module. The idea is that you use the existing D3D to make single objects, then you enter the expansion module to nest together these objects using individual matrix transformations, just like a "proper" 3D editing program would do. This module would have to be written in Assembly as it would be insaneously slow and complex to do in Basic.

Right now I don't even have the time to consider starting such a project, but perhaps sometime in the future...
Ooooh, that would be great if you ever get time for it! I wish I had the time to approach that myself. :/
The module is now on queue for TICalc.org. It should be online tomorrow or eventually later this week.
The module is now online at ticalc.org

Keep in mind that the rendering time is unfortunately a bit slow due to the nature of D3D being a TI-BASIC program, and detailed spheres does eat your calc's RAM quite effectively.
olav_nordmann wrote:
The module is now online at ticalc.org

Keep in mind that the rendering time is unfortunately a bit slow due to the nature of D3D being a TI-BASIC program, and detailed spheres does eat your calc's RAM quite effectively.
Olav, have you looked into whether any of the newest Doors CS hybrid libraries for BASIC programs might help with size and speed at all? I haven't looked at the D3D source in quite some time, so I'm not sure exactly, but it might be worth a glance.
KermMartian wrote:
olav_nordmann wrote:
The module is now online at ticalc.org

Keep in mind that the rendering time is unfortunately a bit slow due to the nature of D3D being a TI-BASIC program, and detailed spheres does eat your calc's RAM quite effectively.
Olav, have you looked into whether any of the newest Doors CS hybrid libraries for BASIC programs might help with size and speed at all? I haven't looked at the D3D source in quite some time, so I'm not sure exactly, but it might be worth a glance.


The routine that takes time is the actual rendering routine (or rather: the rendering loop). There is quite a few calculaions nessecary in order to render a line, especially in perspective view, and those calculations just takes a lot of time using TI-BASIC.

Another idea I have is to rewrite the rendering routine in asm, but I haven't taken the time as it's rather low on my priority list. I have found that it's actually a bit easier to rewrite the whole program in asm, then.
Indeed, rewriting the rendering routine in ASM would be an excellent idea. Again, I'd offer to do it if only I had more than negative amounts of free time. Sad
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement