]> git.scottworley.com Git - nt3d/log
nt3d
10 years agoReduce defaults for a smaller output file
Scott Worley [Sun, 25 May 2014 07:50:11 +0000 (00:50 -0700)]
Reduce defaults for a smaller output file

The size of this one is crashing Chrome and making Firefox slow.
This reduces the default output sive from 2.4M to 571K.

10 years agoFactor out finger()
Scott Worley [Fri, 23 May 2014 06:35:44 +0000 (23:35 -0700)]
Factor out finger()

10 years agoUse a params object rather than loose arguments
Scott Worley [Wed, 21 May 2014 07:59:14 +0000 (00:59 -0700)]
Use a params object rather than loose arguments

Otherwise, making subroutines is tedious -- each function has to accept
a bunch of loose args only to pass them along.  Adding a parameter that
in only used in a subroutine required changing all the callers all the
way up the stack.

10 years agoUse bind
Scott Worley [Wed, 21 May 2014 06:49:15 +0000 (23:49 -0700)]
Use bind

10 years agoMultiple rings
Scott Worley [Fri, 9 May 2014 06:53:39 +0000 (23:53 -0700)]
Multiple rings

10 years agoBetter names for loop index variables
Scott Worley [Fri, 9 May 2014 06:48:12 +0000 (23:48 -0700)]
Better names for loop index variables

10 years agoTwirl the fingers
Scott Worley [Fri, 9 May 2014 06:43:59 +0000 (23:43 -0700)]
Twirl the fingers

10 years agoStart on Medusa.
Scott Worley [Fri, 9 May 2014 06:23:40 +0000 (23:23 -0700)]
Start on Medusa.

11 years agoBreak out parts of go() into separate functions
Scott Worley [Wed, 2 Jan 2013 07:44:02 +0000 (23:44 -0800)]
Break out parts of go() into separate functions

These things are useful separately, even to the point of including
nt3d.js into random other webpages via the javascript console as a
toolkit to manipulate and export stuff elsewhere on the web.

11 years agoA little deeper blade by default
Scott Worley [Tue, 1 Jan 2013 07:43:00 +0000 (23:43 -0800)]
A little deeper blade by default

11 years agoSerrated blade demo
Scott Worley [Tue, 1 Jan 2013 07:38:29 +0000 (23:38 -0800)]
Serrated blade demo

11 years agoHandle opposite vectors in rotate_onto
Scott Worley [Mon, 31 Dec 2012 08:54:08 +0000 (00:54 -0800)]
Handle opposite vectors in rotate_onto

And detect them in extrude() and avoid calling rotate_onto for the
second rotation in that case.

11 years agoIncrease the skip-rotation epsilon
Scott Worley [Mon, 31 Dec 2012 07:04:58 +0000 (23:04 -0800)]
Increase the skip-rotation epsilon

Observed: a 0.9999999999999999 dot product yields a 1.4901161193847656e-8
angle.  The new, larger epsilon skips rotation for this point.

11 years agoExplicitly bounds-check in angle_between()
Scott Worley [Mon, 31 Dec 2012 06:56:34 +0000 (22:56 -0800)]
Explicitly bounds-check in angle_between()

This avoids introducing NaNs due to numerical error while measuring
extreme angles -- angles near 0 or pi radians.

11 years agoWrap sphere demo
Scott Worley [Mon, 31 Dec 2012 05:32:14 +0000 (21:32 -0800)]
Wrap sphere demo

11 years agoAdd % of faces to NaN alert.
Scott Worley [Mon, 31 Dec 2012 05:31:11 +0000 (21:31 -0800)]
Add % of faces to NaN alert.

11 years agoRemove degenerate faces
Scott Worley [Sat, 29 Dec 2012 08:08:19 +0000 (00:08 -0800)]
Remove degenerate faces

11 years agoWarn about NaNs in the output model
Scott Worley [Sat, 29 Dec 2012 07:34:08 +0000 (23:34 -0800)]
Warn about NaNs in the output model

11 years agoSphere primitive
Scott Worley [Sat, 29 Dec 2012 07:33:47 +0000 (23:33 -0800)]
Sphere primitive

11 years agoMove per-point translate() into a separate function
Scott Worley [Sat, 29 Dec 2012 07:30:24 +0000 (23:30 -0800)]
Move per-point translate() into a separate function

11 years agoThe thing the Rostock was printing in Make Magazine
Scott Worley [Fri, 28 Dec 2012 08:01:50 +0000 (00:01 -0800)]
The thing the Rostock was printing in Make Magazine

TODO: Make the base flat.

11 years agoA helper function for generating pathnormals
Scott Worley [Tue, 25 Dec 2012 05:44:08 +0000 (21:44 -0800)]
A helper function for generating pathnormals

11 years agoFix a bug in project()
Scott Worley [Tue, 25 Dec 2012 04:53:07 +0000 (20:53 -0800)]
Fix a bug in project()

It was kind of sheer luck that any extrudes worked before this fix.

Also, add rotation to torus_by_extrude, which was an easy way to
reproduce this.

11 years agoUse "this" instead of the global name
Scott Worley [Mon, 24 Dec 2012 07:59:34 +0000 (23:59 -0800)]
Use "this" instead of the global name

11 years agoHelper functions for shapenormals
Scott Worley [Fri, 21 Dec 2012 15:12:59 +0000 (07:12 -0800)]
Helper functions for shapenormals

11 years agoMake extrude's arguments more flexible and powerful
Scott Worley [Fri, 21 Dec 2012 06:29:48 +0000 (22:29 -0800)]
Make extrude's arguments more flexible and powerful

11 years agoFlip the order of shape,path in extrude args
Scott Worley [Fri, 21 Dec 2012 05:40:57 +0000 (21:40 -0800)]
Flip the order of shape,path in extrude args

11 years agoCones.
Scott Worley [Thu, 20 Dec 2012 09:18:52 +0000 (01:18 -0800)]
Cones.

(Cones are the first primitive solid because 3-sided cones are basically
cheap arrows that can be littered all over the place for debugging.)

11 years agoTorus by extrude demo
Scott Worley [Thu, 20 Dec 2012 09:11:52 +0000 (01:11 -0800)]
Torus by extrude demo

11 years agoFactor out rotate_onto()
Scott Worley [Thu, 20 Dec 2012 09:09:02 +0000 (01:09 -0800)]
Factor out rotate_onto()

11 years agoFind the parameters of rot2 *after* taking rot1
Scott Worley [Thu, 20 Dec 2012 08:30:35 +0000 (00:30 -0800)]
Find the parameters of rot2 *after* taking rot1

11 years agoDon't show a stale download link while running
Scott Worley [Wed, 19 Dec 2012 16:10:28 +0000 (08:10 -0800)]
Don't show a stale download link while running

11 years agoPass numeric parameters as numbers
Scott Worley [Wed, 19 Dec 2012 15:08:16 +0000 (07:08 -0800)]
Pass numeric parameters as numbers

11 years agoGeneralize rotate()
Scott Worley [Wed, 19 Dec 2012 14:38:26 +0000 (06:38 -0800)]
Generalize rotate()

1. Rename the old rotate() to rotate_about_origin().
2. Add a general rotate() that can rotate about any point.
3. Add box_by_rotation.html demo.

11 years agoRotate and translate operate on lists of points
Scott Worley [Wed, 19 Dec 2012 13:27:59 +0000 (05:27 -0800)]
Rotate and translate operate on lists of points

Also, change extrude's interface to take 3d points, just with the z
values at zero.

11 years agoExtrusion
Scott Worley [Wed, 19 Dec 2012 04:45:50 +0000 (20:45 -0800)]
Extrusion

11 years agoUse "this" instead of the global name
Scott Worley [Wed, 19 Dec 2012 00:12:02 +0000 (16:12 -0800)]
Use "this" instead of the global name

11 years agoAdd closed_trianglefan
Scott Worley [Tue, 18 Dec 2012 10:10:03 +0000 (02:10 -0800)]
Add closed_trianglefan

11 years agoClosed quadstrip: Munge the input, not the output
Scott Worley [Tue, 18 Dec 2012 10:07:49 +0000 (02:07 -0800)]
Closed quadstrip: Munge the input, not the output

This is cleaner.

11 years agoTriangle fans
Scott Worley [Tue, 18 Dec 2012 09:34:16 +0000 (01:34 -0800)]
Triangle fans

11 years agoQuadstrips
Scott Worley [Tue, 18 Dec 2012 09:14:42 +0000 (01:14 -0800)]
Quadstrips

11 years agoDo something useful on enter in a parameter field.
Scott Worley [Tue, 18 Dec 2012 06:23:27 +0000 (22:23 -0800)]
Do something useful on enter in a parameter field.

Enter in a parameter field now re-generates the model.  Previously, it
reloaded the page.

Note: The "go" button is still a button that calls go(), not a form
submit control.  This is for debugability.  Execution has to make it to
"return false" to prevent submission.  For form submits, if an error
happens anywhere, the form submits and uselessly reloads the page.

So the "go" button works differently (better) than enter in a parameter
field in case of errors.  This is not ideal, but is functional for now.

11 years agoA tiny bit of UI shiny: fade-in download link
Scott Worley [Tue, 18 Dec 2012 06:15:43 +0000 (22:15 -0800)]
A tiny bit of UI shiny: fade-in download link

This helps call attention to it after re-generating the model
with different parameters, letting you know that something changed.

11 years agoMinimal framework and one box demo.
Scott Worley [Tue, 18 Dec 2012 05:42:37 +0000 (21:42 -0800)]
Minimal framework and one box demo.