Complex functions plotter is an application to represent complex functions in the plane \(\mathbb{C}\).
With it we can make basic calculations with complex variable functions, in particular, it is useful to see how complex functions transform the plane.
The unit circumference and its image is represented by the white stroke as well as the points on it 1, i, -1, -i in following way:
1 : Point of blue color.
i: Point of green color
-1: Point of red color
-i: Purple or violet point.
As always, to enter the function, use z as the independent variable. Also use valid functions written in ASCI. For example, to represent
\( f(z) = 2z\)
Use
\( f(z) = 2 * z\)
Abuse of parenthesis is wellcome, for example it is not the same to writer (1+z)/(1-z) than 1+z/1-z.
Any questions or comments I am at your disposal to read it.
Complex functions plotter is an application based on a code proposed by David Bau to which we have made some alterations and adaptations to produce it on the web www.mathstools.com whose copyright and notice we reproduce here complying with the MIT license:
Copyright 2014 David Bau.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
'
}
},
{
xtype: 'box',
id: 'helpContainer',
autoEl: {
tag: 'div',
style: 'top: 100px; border: 2px solid #000000; border-radius: 15px 15px 15px 15px; position: relative !important; text-align: left; font-weight: bold; padding-right: 10px;',
styleCls: 'definitionDiv',
styleClass: 'definitionDiv',
html: ttt
}
}
]
, listeners: {
'render': function(panel) {
var url =uuu;
$('#helpContainer').load(url, null ,
function (responseText, textStatus, XMLHttpRequest)
{
/*alert('statuys' + textStatus);*/
});
}
}
});
pp.show();
}
function addFeedbackPanel(panel, app)
{
var pp = Ext.create('Ext.panel.Panel',
{
width: 485,
title: 'Send us your Feedback',
id: 'panelFeedback',
bodyStyle: 'padding: 8px;',
x: 200,
y: 0,
items: [
{
xtype: 'box',
autoEl: {
tag: 'div',
style: 'text-align: center; color: darkRed; font-weight: bold;',
html: 'Yours feedbacks are wellcome'
}
},
{
xtype: 'box',
autoEl: {
tag: 'div',
style: 'text-align: left; padding: 5px; padding-top: 10px; padding-bottom: 10px; line-height: 17px',
html: "Did you like our applications?Have any suggestions?Got some text that you would like post it on www.mathstools.com? "
}
},
{
xtype: 'box',
autoEl: {
tag: 'div',
style: 'text-align: left; padding: 5px; padding-top: 10px; padding-bottom: 10px; line-height: 17px',
//html: 'Still not registered? Register here'
html: 'Hate messages or messages that do not contribute anything will not be published and nor answered. Check our Policy here'
}
},
{
xtype: 'textfield',
width: 570,
heigth: 190,
fieldLabel: 'Name',
labelWidth: 100,
value: '',
x: 5,
y: 10,
inputId: 'name'
},
{
xtype: 'splitter' // A splitter between the two child items
},
{
xtype: 'textfield',
width: 570,
heigth: 190,
fieldLabel: 'Email',
labelWidth: 100,
value: '',
x: 5,
y: -2,
inputId: 'email'
},
{
xtype: 'splitter' // A splitter between the two child items
},
{
xtype: 'textarea',
heigth: 150,
fieldLabel: 'Your Text here',
labelWidth: 100,
width: 570,
rows: 7,
value: '',
x: 5,
y: -2,
inputId: 'text'
},
{
xtype: 'button',
text: 'Clear Form',
style: {'float': 'left', 'margin-left': '20px;'},
handler: function(){
cleanForm();
}
},
{
xtype: 'button',
styleHtmlCls: 'button',
text: 'Send',
style: {'float': 'right', 'margin-right': '20px;'},
handler: function(){
sendFeedBack(app);
}
}
/*
,
{
xtype: 'button',
styleHtmlCls: 'button',
text: 'Register here',
style: {'float': 'right', 'margin-right': '20px;'},
handler: function(){
goTo('/section/forum/L2ZvcnVtL3VjcC5waHAXXXbW9kZT1yZWdpc3Rlcg%3D%3D');
}
}
*/
]
});
panel.add(pp);
}
function generateSolutionImg(result, title)
{
$('#panelWidget').remove();
var pp = Ext.create('Ext.Window',
{
layout : 'absolute',
width : 505,
height : 300,
title: title,
id: 'panelWidget',
animCollapse : true,
collapsible : true,
closable : true,
hidden: false,
renderTo: Ext.getBody(),
bodyStyle: 'padding: 8px; overflow: auto;',
items: [
{
xtype: 'box',
style: 'text-align: center;',
autoEl: {
tag: 'div',
style: 'display: block; float: none; text-align: center ! important; width: 100%; clear: both;',
html: ''
}
},
{
xtype: 'box',
id: 'widgetHelpContainer',
autoEl: {
tag: 'div',
style: 'text-align: left; width: 100%; float: none; clear: both; margin-top: 30px;',
html: result
}
}
]
});
pp.show();
}
//-->
if (!function_exists("utf8_encode")){
function utf8_encode($var){
return is_null($var) ? false : $var;
}
}
?>
'
}
}
]
});
pp.show();
}
function createAboutWindow()
{
var pp = Ext.create('Ext.Window',
{
layout : 'absolute',
width : 505,
height : 300,
title: 'Mathstools',
id: 'panelHelp',
animCollapse : true,
collapsible : true,
closable : true,
hidden: false,
renderTo: Ext.getBody(),
bodyStyle: 'padding: 8px; overflow: auto; width: 480px; ',
items: [
{
xtype: 'box',
id: 'helpContainer',
autoEl: {
tag: 'div',
style: 'text-align: center; color: darkRed; font-weight: bold;',
html: 'Mathstools About us'
}
}
]
, listeners: {
'render': function(panel) {
var url = '/index.php/section/crud?crudid=67';
$('#helpContainer').load(url, null ,
function (responseText, textStatus, XMLHttpRequest)
{
});
}
}
});
pp.show();
}
function createHelpWindow(idParent, ttt, uuu, isHelp)
{
var pp = Ext.create('Ext.Window',
{
layout : 'absolute',
width : 890,
height : 550,
title: ttt,
id: 'panelHelp',
animCollapse : true,
collapsible : true,
closable : true,
hidden: false,
renderTo: Ext.getBody(),
bodyStyle: 'padding: 8px; overflow: auto;',
items: [
{
xtype: 'box',
id: 'helpContainer1',
autoEl: {
tag: 'div',
style: 'text-align: center; color: darkRed; font-weight: bold;',
html: '