Public Beta Availiable - Win/Mac/Firmware [UPDATED]
|
11-12-2017, 06:04 PM
(This post was last modified: 11-12-2017 06:07 PM by Anders.)
Post: #101
|
|||
|
|||
RE: Public Beta Availiable - Win/Mac/Firmware [UPDATED]
(11-12-2017 04:50 AM)AlexFekken Wrote:(11-11-2017 04:33 PM)Anders Wrote: It also does not matter if you change the Num X Step and NUM Y Step to something smaller say 0.0000001 because that is in the Graph 3D Num Set Up screens. Thanks for pointing out the grid size. It could work to allow higher numbers than 100x100 but it would also need more CPU time (the reason why I think HP limited to 100 in the first place). If you allowed 1000x1000, I suspect the system would need to evaluate 2 orders of magnitudes approx: 10x10=100 more points (I am guessing how the algorithm work here). Basically, it will take 100x more time to plot the surface... So, I do think they need to modify the algorithm to handle cases like this, not to bog down the CPU unnecessarily. I just did a few others cases like this (not hard) that will surely generate a negative number inside a square root here and there on the surface: for instance try: FZ3 = √(1-SIN(X)^2-COS(Y)^2) or FZ4 = 1/√(4-X^2-Y^2) As you can see, there are holes/anomalies here and there. So net, net: I think the plot algorithm need to: - NOT imminently terminate when Z(X+dx,Y+dy) fails to evaluate (like in the case of negative square roots) - instead: if Z(X,Y) worked but Z(X+dx,Y+dy) failed, use a smaller step size (e.g. try smaller steps: dx=dx/2, dy=dy/2) until Z(X+dx,Y+dy) evaluates withour failure, then plot and repeat stepping with smaller step until there is no visible hole given the screen setting. Basically when Z(X+dx,Y+dy) and Z(X,Y) generats the same pixel or x+dx and x is the same point (in the grid) you are done. You do need to floor dx,dy to not go beyond an absolute minimum step size to guaranteed this corner case loop terminates. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)