Post Reply 
Complex Plotting App
02-12-2015, 08:23 AM (This post was last modified: 02-12-2015 08:41 AM by Han.)
Post: #19
RE: Complex Plotting App
(02-12-2015 06:29 AM)dwgg Wrote:  
(02-07-2015 06:02 AM)Han Wrote:  Usage: Plot(r) where the initial resolution is a grid of squares of size \( 2^r \times 2^r \). On the emulator, this modified version takes half the time vs. the original. On the calculator, the modified version takes 75% of the time of the original.

Thank you Han for the improvement. I tried the modification and it does get rid of redundancy and improve the performance of the program. Moreover, since we are only drawing uncalculated pixels there is almost no time penalty in doing progressive resolution compared to doing pixel level single sweep.

Also adding one comment regarding conformality (I am learning more about complex analysis as I am further working on this program), it looks like you can indeed check conformality by checking contour grids: Conformality breaks where the contour is breaking up. You can read further in below link:

http://www.mai.liu.se/~hanlu09/complex/d...icode.html

Comparing with complex graphs I see from above link, I think now that in terms of graph features this program is meeting many of what one would look for in complex graph.. I think what we could improve further on is as below:

1. Any further speed improvement (if possible)
2. Capability for saving previous calculated plots and using it to redraw if function is not modifed (like Graph3D... so we don't have to keep redrawing when we come back)
3. Tracing feature (based on re and im coordinate print out z value)
4. implement option for edge detection filter for the contour lines so the contour lines are of uniform width (see further info in above link).

Up late grading; thought I'd respond before bed…

1. I wonder if PIXON_P (as opposed to RECT_P) would be any faster for r=1 since we're only drawing a single pixel (fewer flops for sure since some arithmetic is done for computing the dimensions of the colored squares.

2. This can be done; not sure about data set sizes (in terms of storage) but you could perhaps just store the evaluation of the function at x+yi. The color can be calculated (slower but less storage needed -- up to you). You can even predefine an array of size 320x240 and simply save the output values in entry (a,b) -- see the variables in the loop -- as those are also the top left corners of each colored square.

3. Shouldn't be hard once #2 is added on.

4. This can be done using a dynamic list of lists. Each list within the list would correspond to a single contour level. You can expand each contour level list with concat; same goes for the container list. (Graph3D uses some similar for its cross-sections shown during trace mode). The idea I have in mind may be way to slow, though. That is, each new contour point is compared with existing points within its contour-level list. You would need to design an algorithm to decide whether or not a new contour point gets added based on the currently existing list of contour points (perhaps a simple distance calculation to see if the new point would create a new "vertex" for the contour line as opposed to simply making the contour line thicker). (I have not read the link so this may be a very poor idea to actually implement.)

Edit for #4: Or perhaps just compute the image of the lines x+0i and 0+yi under the function f and use LINE_P.

#5. Add a feature for different "color" schemes (I actually find the yellow -> red -> black to be quite pleasing to my eyes) and even allow users to use a 320x240 image for the mapping (as opposed to colors).

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Complex Plotting App - danielmewes - 12-30-2014, 09:17 AM
RE: Complex Plotting App - dwgg - 02-01-2015, 01:06 AM
RE: Complex Plotting App - Han - 02-01-2015, 04:01 AM
RE: Complex Plotting App - dwgg - 02-01-2015, 06:42 AM
RE: Complex Plotting App - Mark Hardman - 02-01-2015, 11:17 PM
RE: Complex Plotting App - dwgg - 02-02-2015, 03:43 PM
RE: Complex Plotting App - rprosperi - 02-02-2015, 04:54 PM
RE: Complex Plotting App - dwgg - 02-03-2015, 06:56 PM
RE: Complex Plotting App - danielmewes - 02-04-2015, 03:39 AM
RE: Complex Plotting App - dwgg - 02-06-2015, 04:21 AM
RE: Complex Plotting App - Han - 02-06-2015, 08:17 PM
RE: Complex Plotting App - Han - 02-07-2015, 06:02 AM
RE: Complex Plotting App - rprosperi - 02-07-2015, 03:38 PM
RE: Complex Plotting App - Han - 02-07-2015, 06:24 PM
RE: Complex Plotting App - rprosperi - 02-08-2015, 04:06 PM
RE: Complex Plotting App - Eddie W. Shore - 02-12-2015, 03:26 AM
RE: Complex Plotting App - rprosperi - 02-12-2015, 04:02 AM
RE: Complex Plotting App - Eddie W. Shore - 04-02-2015, 02:58 AM
RE: Complex Plotting App - Han - 04-02-2015, 12:10 PM
RE: Complex Plotting App - salvomic - 04-02-2015, 02:48 PM
RE: Complex Plotting App - Eddie W. Shore - 04-04-2015, 03:03 PM
RE: Complex Plotting App - dwgg - 02-12-2015, 06:29 AM
RE: Complex Plotting App - Han - 02-12-2015 08:23 AM
RE: Complex Plotting App - dwgg - 02-13-2015, 02:52 AM
RE: Complex Plotting App - Han - 02-13-2015, 10:04 PM
RE: Complex Plotting App - dwgg - 02-14-2015, 12:01 AM
RE: Complex Plotting App - dwgg - 02-14-2015, 11:43 AM
RE: Complex Plotting App - salvomic - 04-02-2015, 05:17 PM
RE: Complex Plotting App - Han - 04-02-2015, 05:40 PM
RE: Complex Plotting App - salvomic - 04-02-2015, 05:50 PM
RE: Complex Plotting App - Han - 02-14-2015, 07:14 PM
RE: Complex Plotting App - dwgg - 02-14-2015, 10:18 PM
RE: Complex Plotting App - Han - 02-17-2015, 01:34 AM
RE: Complex Plotting App - dwgg - 02-18-2015, 06:35 AM
RE: Complex Plotting App - Han - 02-18-2015, 04:41 PM
RE: Complex Plotting App - Han - 02-18-2015, 10:08 PM
RE: Complex Plotting App - dwgg - 02-19-2015, 02:06 AM
RE: Complex Plotting App - Han - 02-19-2015, 02:14 AM
RE: Complex Plotting App - Han - 03-17-2017, 07:28 PM
RE: Complex Plotting App - jtm - 06-30-2017, 03:48 AM
RE: Complex Plotting App - Han - 07-01-2017, 12:17 AM
RE: Complex Plotting App - FrankP - 12-25-2019, 12:26 PM



User(s) browsing this thread: 1 Guest(s)