﻿ Complex number drawing board Complex number drawing board
Cauchy-Riemann Equations drawing board
Draw complex sine in five clicks. update 2016-06-14
XYGraph v2.3 - web page graph   ☜☞   donate
Brief introduction Sample click sequence ; your help
selection ; drawing board 01, 02, CR, Laplace, rotate/move data
complex draw image list
Program environment Acer computer Aspire 5750Z-4830. MSIE 9.0 Version:9.0.8112.16421
xy graph works. Another Acer2 go online MSIE 11, xy graph not work.
TestFunction ; 3D broken line locus; 3D line parametric equation.
2016 world guestbook sign record zip file a, b, c, d; 2016glst.htm
2014 sign record a, b, c, d, e, f, g, h, i, j, s1, s2, s3; 2014glst.htm
```<a name=cplxdraw_index>
2016-02-24-14-23 cplxdraw Image List
■■　First Step: create input data x+i*y
■■　Unit circle,Broken line,Parametric function
■■　input x+i*y Box21
■■　RUN1⇒,RUN2⇒,RUN3⇒,RUN4⇒
■■　RUN5⇒[Draw box61] get graph
■■　select complexFunction(x+i*y)
■■　output complexFunction() u+i*v to Box33
■■　drawing board H/W,x/y max/min,line color
<a name=cplxdraw_index02>
■■　big drawing board top
■■　big drawing board bottom
■■　box61 store x+i*y ; run5⇒[draw box61]
■■　rotate/move box61 data;run⇒[rotate/move]
■■　save/input xygraph code ; [Draw Box62]
■■　3D broken line locus;
■■　3D line parametric equation
■■　test function science2xy() and toCplx()
<a name=cplxdraw_index03>
■■　Cauchy-Riemann Equations drawing board
■■　CR drawing board H/W,x/y max/min
■■　CR FOUR drawing board top two board
■■　CR FOUR drawing board bottom two board
■■　CR drawing board example, CRRUN⇒[CRdraw]
■■　save FOUR CR drawing VML code
■■　freeman2.com saved complex draw jpg/gif list
■■　VML code drawing board draw01
<a name=cplxdraw_index04>
■■　VML code drawing board input Box91
■■　differentiation program
■■　document for run⇒[draw box61]
■■　2016-01-31-13-23 LiuHH document
■■　3D straight line parametric eq. derive
■■　3D straight line parametric eq. Summary
■■　update 2016-02-02 notes
■■　derive rotation matrix in two dim. space
<a name=cplxdraw_index05>
■■　update 2016-02-06 added Parametric section
■■　Update 2016-02-20 added Limit section.
This is for Cauchy-Riemann Equations
■■　How Cauchy-Riemann show, Lower Right board
■■　CR Lower Right board how to change 1,2,3,4
■■　How Cauchy-Riemann show, Upper Right board
■■　CR Lower Left board draw f(x,y)=u+i*v
■■　CR Upper Left board draw No good reason for this choice.
■■　[Do1] button document
<a name=cplxdraw_index06>
■■　◯ ☑ unit circle and unit square
■■　composite function document
■■　cplxdraw.htm calculation may have error
2016-02-24-15-28 stop
■■　circular mesh , square mesh
■■　mesh document
■■　mesh one pen draw , many pen draw
■■　toPrecision(4) cut number short
<a name=cplxdraw_index07>
■■　annular mesh around singular point
■■　given target point, in output curve find
near point and match input curve point
■■　Laplace Equation drawing board

2016-01-30-09-17 start
2014-02-05-09-53 Liu,Hsinhan created complex
curve graph sin(z)*sin(z)+cos(z)*cos(z)=1
where z is a complex number example '1+2i'
Graph URL http://freeman2.com/sin2cos2.gif
Two years ago, 2014-02-05, LiuHH is the author.
Today, 2016-01-30, LiuHH is a reader. Review earlier
work recorded in http://freeman2.com/bioge009.htm
It is complicated.　LiuHH decide write a program
http://freeman2.com/cplxdraw.htm do an easier job.
2016-01-30-09-28 stop

<a name=a501302036>
2016-01-30-20-36 start
2016-01-30 work all day, get simple steps as below.
Goto setFunction click the following buttons
1. click  generate input data save to Box21,
goto inp01 click Unit circle, for more choice
2. click  generate output data save to Box33,
function name1 to function name5 boxes has basic
complex function names. These boxes value can be
changed. Program defined function names click
output list to Box53.
3. click  copy Box33 value to box61,
only data in box61 can be drawn.
4. click goto Box61 goto next draw button.
5. click  now output curve is one pace above.
If satisfy, use computer key board "copy screen"
function, paste image to MSPaint (for example)
and save to file.
Second one pace above drawing board is control
center to specify drawing board size, axis range
and line color.
Above buttons are all dummy.
2016-01-30-21-05 stop
```
<a name=inp01>
First Step: create input data,
array of complex numbers.

How to build input complex numbers?
Composite function. used function name.
click Exampl\$ (Example to yellow box) buttons.
Unit circle Broken line Parametric function
Limit (Cauchy-Riemann Eq.) Mesh
`cplxlink()`
<a name=Sample_click_sequence> Following click buttons are dummy.
2016-03-07-18-22 document start
doRUN⇒ convert Box06 data to Box07 input (x,y) mesh.
Purple choice, click copy Box07 input mesh (x,y) to box61.
click goto box61 , click see input mesh without output mesh.

OR
red choice, click copy Box07 input mesh (x,y) to Box21.
User can copy/paste your own input (x,y) to Box21
Red choice build output mesh. goto used function name﹕ box. Copy function name
to long box, for example copy 'ccosh' to replace 'ctanf' and check small square box.
default cexpf checked . If follow sample click sequence, use cexpf as is.
<a name=a503071822>
Important step click RUN2⇒ from Box21 input
mesh (x,y) change to Box33 input(x,y)+output(x,y). This step get cplxFunc(z).
Next click RUN3⇒ copy Box33 in/out mesh (x,y) to Box61.
click RUN4⇒ goto box61 , click see input mesh and output mesh.

<a name=a503071823>
check points= draw lines show
cexpf(constant z value) get constant z lines. Next two type both OK.
INTEGER check points=[22,66,123] or (x,y) check points=[z=-1-0.2i;0.25,+1.4]
INTEGER and (x,y) cannot mix use. Above click buttons are dummy.
<a name=a503071824>
if output one function curve, check points=[ number ] draw equal z lines.
Line one end on input curve, other end on output curve.
draw triangles if output two function curves.
draw polygons if output three or more function curves.
If assign (x,y), equal z lines NOT on input/output curves exactly.
2016-03-07-19-22 document stop
Get (x,y) from Box21 for better equal z lines. a504141605

RUN⇒

cplxFunc(z) read z from Box21. You can fill in your own data to Box21.
Box21∮ ; Box21 data 0,0 to

Box21 has input curve (x,y) data. Box33 has input/output (x,y). a504141654
move ; deg ; center ;
Box22, debug

QSboxd21.value=''

`cplxlink()`
<a name=setFunction>
Following are active click buttons.
Keep input value near one. If circle radius=5
complex value near 80. cplxFunc(10) explode.

RUN1 create input data. Output to Box21 above.
Modify RUN1, goto inp01 build user circle/line.
RUN1⇒
SKIP RUN1 , paste user data to Box21 above, click RUN2 to continue.
RUN2⇒ Box33 data=complexFunction(Box21 data)
Before RUN2 , see below, in "used function name" column check right box.
RUN3⇒ Box33 has input and output curve.
RUN3⇒ Box21 has input curve.
RUN4⇒goto box61 box61 data can be drawn. Click "RUN5⇒" there.
Following function read input x+i*y from Box21
copy function name, paste to box, check square box. drawing board
 used function name﹕ active function name additional function csinf , ccosf , ctanf conjf , csqrt , clogf cexpf , csinh , ccosh cnegf , cexpi , cexpf ctanh , conjf , cnegf casin , cacos , catan gamma , czeta asinh , acosh , atanh "(z)" ok,　not use "()" squar , cubic , zbarz
unchecked function will be skipped. checked function will be drawn.
Exampl\$
Box33 left input (x,y); other output (x,y) , goto Box61
Box33, composite function help

Box34, calculator input

view ; click example, then click
Box34 (input) and Box35 (output) is a complex number calculator. Try examples.
Box35, debug ; example

These two buttons test gamma function
test RUN⇒
[test Box34 command] copied from complex4.htm a502261510
zeta one point max iter.
zeta All points max iter. ; ; QSboxd35.value=''

`cplxlink()`
<a name=draw02>
2016-01-29-17-53
Graph area size, W: H:
x min: , x max: ; y min: , y max: ;
1st line color= , width= , SoliDot=
2nd line color= , width= , SoliDot=
3rd line color= , width= , SoliDot=
4th line color= , width= , SoliDot=
5th line color= , width= , SoliDot=
6th line color= , width= , SoliDot=
7th line color= , width= , SoliDot=
8th line color= , width= , SoliDot=
SoliDot has three choices, solid, dash, dot.
del Use x,y axis
Axes cross at x= , y= ,
graph label, x,y value must be within x min, x max; y min, y max
label 1x 1y text
label 2x 2y text
label 3x 3y text
label 4x 4y text
click [dText] delete all text, output graph no text.
Build or input data to Box61 or click [e0],[e1], click [Draw box61] get graph.
Output may contain error ; image
x,y range:
; ; ; ;

If see strange curve, first thing to try is to change x/y min/max above. more
Three triangles come from next [16 28 42]. Delete number, delete triangle.
check points= 　Build data
Box61 input ex. run5⇒ ;

goto RUN2 ; ;
run⇒ p.move x,y: ; ？N
rotation angle degree﹕ ; rotation center x,y= ; rotDoc
above () below ？(4)
Box62 output xygraph code 　 ;

Box61 x,y to Box62 ; (multiple column x,y
click [Draw Box61] ). If box62 has "MyGraph.Plot(", click [Draw Box62].
[Draw Box61] build Box62 data. [wipe] curve. [Draw Box62] draw Box62 data.
 Box63 output x,y data Box64 polygon x,y
 Box65 How to get 3D broken line locus? How to get 3D line parametric equation? Please click [help65] and read Box68. Box66 QTboxd66.value='string'
3D broken line locus; 3D line parametric equation.
; parametricLine(arg1,arg2) output to Box67
[many 3D pts] and [Three 3D eqn] call parametricLine()
; parametricLine(a1,a2,a3) output to Box67
[3D(A)] and [3D(B)] call parametric3DLine(), a better version.
 Box67 Box68 Box66 has one number, Box67 output locus (many) points Box66 has two numbers,Box67 output 3D straight line parametric equation. Box66 has NO number, Box67 output 3D straight parametric equation. NO number, use default T1,T2 values; one number is step size. Two numbers,user assigned T1, T2 values. 2016-02-02-14-55
Split box61 data to or or
Box69 ; , ;sep3=

QTboxd69.value='string'; Next buttons use Box69 as input, Box67,68 as output.
fill example to Box69 2016-02-02-10-08
buttons added to test function science2xy() and function toCplx().
test function (output Box67) and (output Box68)
[E63] then [science2xy()] output error. [E63] then [toCplx()] output OK.

`cplxlink()`
<a name=draw03>
2016-02-15-07-18
Graph area size, W: H:
x min: , x max: ; y min: , y max: ;
x,y range: a502161735
Cauchy-Riemann Equations drawing board
All real functions are NOT CR compatible, run sin(x)
Lower Right board draw (ux,step)...(vy,step) choose two //？A a502250841
Upper Left draw [(ux,uy) and (vx,vy) ] or [ (ux,vx) and (uy,vy)] ？B a502251929
Click [a0]...[b4],[i0]...[i3] or fill data to Box71, click CRRUN⇒ get graph.
 ？1 ？2 CRshow ？3 ？4 CRshow
Curve may be ERROR! Cauchy-Riemann Equations drawing board. Click [a2], [CRdraw]
Example:
Box71, :CRRUN⇒ ;

numerical dx= :CRRUN☞
Box71 back up to Box72. rotate/move circle/square only, ╋ not change.
rotate/move parallel move x,y: run⇒ in/out both Box71
rotation angle degree﹕ ; rotation center x,y﹕ ; rot Doc
Build or skip in/output curves (x,y) data? SKIP (x,y), faster.
Box72, ？D ∂u/∂x=∂v/∂y , ∂u/∂y=-∂v/∂x

Why ◯ ☑ no four color? After Rotate/Move, click , get four color. a504191436
 Box73 save Upper Left graph Box74 save Upper Right graph
Save four boxes VML code for future reproduce. Click [save curve], read Box62.
Paste VML code to Box91, then click [Draw Box91 VML code]

 Box75 save Lower Left graph cexpf(cnegf(cpowf(z,-4))) 1.1,0.6 0.0000001 Box76 save Lower Right graph Box75 has function definition, z=x+i*y definition and step size click [NUdudx()] output to Box76 Let f(x+i*y) = u(x,y)+i*v(x,y) Box76 has u(x,y), v(x,y), ∂u/∂x, ∂u/∂y, ∂v/∂x , ∂v/∂y six numerical numbers. a505191130
First VML code erased right after second draw. ;
QGdata76.value=''

`cplxlink()`
<a name=draw04>
2016-05-27-21-50
Laplace equation and Harmonic Functions
Graph area size, W: H:
x min: , x max: ; y min: , y max:
Above small drawing board. Below big drawing board. a505281617
Graph area size, W: H:
x min: , x max: ; y min: , y max: ;
Laplace Equation drawing board Output may contain error ; image
LaplaceRUN☞ ; ;
Upper Left draw [(ux,uy) and (vx,vy) ] or [ (ux,vx) and (uy,vy)] ？B a505282150
 ？5 ？6 Laplace ？7 ？8 x=step
Curve may be ERROR! Laplace Equation drawing board. Click [a7], [LaplaceDraw]
LChoice: ; How? Numerical calc.
ex.\$ ; NUdx= ;
ex.# ; LaplaceRUN: ;
 Laplace x=step
x:min/max ; y:min/max ; two arms ; ？9
drawing board document.

x,y range:
Box81 input LaplaceRUN☞ ; ;

any size / ;RUN: , ; ; ？回
move deg center ;
Box82 output xygraph code why no color? click ☰ add color.

 Box83 save Upper Left graph Box84 save Upper Right graph
Save four boxes VML code for future reproduce. Click [save curve], read Box62.
Paste VML code to Box91, then click [Draw Box91 VML code]

 Box85 save Lower Left graph Box86 save Lower Right graph
First VML code erased right after second draw.
Box87 debug , , , , ,

Ex& ;RUN: , ; ; ; ？回
Box88 debug

QLboxd88.value='' ; ∂∂u/∂x/∂x+∂∂u/∂y/∂y=0 ; ∂∂v/∂x/∂x+∂∂v/∂y/∂y=0 ;
∂∂u/∂x/∂y , ∂∂v/∂x/∂y , ∂∂u/∂y/∂x , ∂∂v/∂y/∂x ;

`cplxlink()`
<a name=cplxdrawImageList>
Complex number curve image files
http://freeman2.com/complex2.gif ; complex2.jpg
sin(complex), cos(complex), input unit circle.
http://freeman2.com/complex4.gif ; complex4.jpg
exp(complex), tan(complex), input unit circle.
http://freeman2.com/complex6.gif
sin(complex), cos(complex), input unit SQUARE.
http://freeman2.com/cplxdraw.jpg
sin(complex), cos(complex), input unit circle.
http://freeman2.com/cplxdra1.jpg
Epitrochoid, Hypotrochoid. ISBN 0-486-60288-5 J. Dennis Lawrence
http://freeman2.com/cplxdra2.jpg
Involute of a circle ; Huygens, 1693
http://freeman2.com/cplxdra3.jpg
sin(z*z)+cos(z*z) where z=x+i*y input is a ╋ path.
http://freeman2.com/cplxdra4.jpg
sin(z*z)+cos(z*z) where z=x+i*y input is unit circle.
2016-02-20-14-27 record
http://freeman2.com/cplxdra5.jpg
cos(sin(z)) and sin(z)*sin(z)+cos(z)*cos(z)≡1 . a502241937
http://freeman2.com/cplxdra6.jpg gear example.
Input unit circle with sine. Output f(z)=sin(z)^cos(z) . a502261653
http://freeman2.com/cplxdra7.jpg
Circular mesh complex function mapping graphs. a503010923
http://freeman2.com/cplxdra8.jpg
Square mesh complex function mapping graphs. a503010925
http://freeman2.com/cplxdra9.jpg
Square mesh cexpf(z) equal z blue lines. a503152213
<a name=cplxdr10>
Next is mesh open a hole around singular point.
cplxdraw.htm capability on/after update 2016-04-11

http://freeman2.com/cplxdr10.jpg
Square mesh 1/z confirmed from other source. a504101702
http://i.stack.imgur.com/kPZVZ.png
http://freeman2.com/cplxdr11.jpg
Move on critical line x=0.5,y=t (input) zeta function czeta(z) graph
Online has many other graph confirm cplxdr11.jpg
http://freeman2.com/cplxdr12.jpg
zeta function czeta(z) root 1 to root 10 output mesh sit on (0,0)
Online may not have other graph confirm cplxdr12.jpg
http://freeman2.com/cplxdr13.jpg
zeta function czeta(z) input path from z=0.5-15i to z=0.5+15i
Parameter t, tstep=0.01; tbgn0=-15; tend0=15. root 1 = 0.5+i*14.134725
w=czeta(0.5+t*i) . cplxdr13.jpg draw [t,real(w)] and [t,imag(w)]
https://www.wolframalpha.com/ plot zeta confirm cplxdr13.jpg
http://freeman2.com/cplxdr14.jpg 　text
f(z)=exp(-1/z/z/z/z) approach to zero and approach to infinity at same time