|
 |
I had at one point begun working on doing something along the lines of:
https://www.youtube.com/watch?v=dUkCgTOOpQ0
and that video came up in my YT feed, so I resumed dabbling with it.
Clearly there were potential problems with graphing line segments at certain
angular values where numerical values would be 0 or Inf.
It appears that at 90 degrees (pi/2), tan and sec do not equal Inf.
so
#declare csc = function (N) {select (sin(N), 1/sin(N), Inf, 1/sin(N))}
failed.
I had to test against 1E10.
[The function parser does not like val ("inf"), and so I initially had to
#declare Inf=val("inf");]
Also cylinder {<cos(Angle), sin(Angle), 0>, <Radius*sec(Angle), 0, 0> ...
gave some wild results - probably due to some kind of floating point overflow.
Though it doesn't really explain why the starting point was in entirely the
wrong place... Hmmm.... Worrisome.
Pausing this again due to the late hour.
I am wondering if there are any ideas for good workarounds to make going around
the full circle hiccup-free.
Things like the tangent line endpoint jumping from y=0 to y=1 at inf provoke
some thought. Perhaps there's a method that cleverly uses geometric inversion.
At any rate, this is sure to find plenty of bugs / undesirable digital math
behaviour that needs fixing / working around.
- BW
Post a reply to this message
|
 |