Community RSS Feed
http://community.wolfram.com
RSS Feed for Wolfram Community showing any discussions in tag Graphics and Visualization sorted by activeIrregular shapes design and evolution
http://community.wolfram.com/groups/-/m/t/1127494
Is there in Mathematica a way to design regions and make them to evolve towards irregular shapes? In particular, I am interested in the evolution from a circular region to an irregular shape as is illustrated in the picture attached. Some hints will be much appreciated ...![enter image description here][1]
[1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=IMG_0430.JPG&userId=123826David Quesada2017-06-24T17:47:29Z[GIF] Moving bars illusion
http://community.wolfram.com/groups/-/m/t/1127522
![enter image description here][1]
These bars are moving at a constant speed together, but it looks as if they move to the right in an alternating fashion…
Code:
size={sizex,sizey}={600,400};
n=16;
bars=sizex Subdivide[-1/2,1/2,2n-1];
width=N[bars[[2]]-bars[[1]]];
bars=Rectangle[{#1,-sizey/2},{#2,sizey/2}]&@@@Partition[bars,2];
cols={Lighter[Yellow,1/5],Darker[Blue,1/5]};
heights=N[sizey Subdivide[-1/2,1/2,Length[cols]+1][[2;;-2]]];
ClearAll[CreateScene]
CreateScene[\[Alpha]_]:=Module[{recs},
recs=MapThread[{#1,Rectangle[{\[Alpha] sizex-2 width,#2-width/2},{\[Alpha] sizex+2 width,#2+width/2}]}&,{cols,heights}];
Rasterize[Graphics[{bars,recs},PlotRange->({{-1,1},{-1,1}}size/2),PlotRangePadding->0],"Image",RasterSize->size,ImageSize->size]
]
Manipulate[CreateScene[a], {a, -0.6, 0.6}]
enjoy!
[1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=movingbars.gif&userId=73716Sander Huisman2017-06-24T15:45:59ZHow to Postprocess a ContourPlot to find minimum and maximum values?
http://community.wolfram.com/groups/-/m/t/1126384
I have a complicated function that is time consuming to evaluate, and has lots of local minima and maxima
cp = ContourPlot[x y Sin[30 x] Sin[20 y], {x, 0, 1}, {y, 0, 1}]
Is there a simple way to find the coordinates and function value of the maximum and minimum of the function, as found by Mathematica in the process of generating the contour plot?
I looked at the FullForm of cp, but it is a long and cryptic GraphicsComplex.James D Hanson2017-06-23T17:53:53ZBreast Cancer Diagnosis
http://community.wolfram.com/groups/-/m/t/1120757
During the Wolfram Summer School Armenia 2016, I worked on the project [Facial Emotion Recognition][1], to determine the emotions on faces dynamically. The successful outcome of the project made me think about whether it is possible to do the same procedure on a medical problem. After studying different problems, I ended up with breast cancer diagnosis in mammograms. Before getting into the technical side of the problem, it's better to know more of breast cancer:
![breast cancer statistics][2]
Breast cancer is the most common cancer among american women, after skin cancers. About 1 in 8 (12%) of U.S. women will develop invasive breast cancer during their lifetime. But advances in breast cancer treatment mean many women can expect to beat the disease and maintain their physical appearance. 5-Year survival rate for women with breast cancer was 89% in 2015, up from the 63% in 1960s. ([Read more][3])
![Digital Database for Screening Mammography][4]
Breast cancer is sometimes found after symptoms appear, but many women with breast cancer have no symptoms. Different tests can be used to look for and diagnose breast cancer. If your doctor finds an area of concern on a screening test (a mammogram), or if you have symptoms that could mean breast cancer, you will need more tests to know for sure if it’s cancer. After all, a biopsy is the only way to know FOR SURE if it’s cancer. ([Read more][5]) However, knowing that we are facing a complex problem, we can continue to the technical part of it:
Thanks to University of Southern California, we are using [DDSM][6] (Digital Database for Screening Mammography) for this projects. Data is divided to 3 groups of Normal, Benign and Cancer which represents the case condition. The Normal group contained 1624 samples, Benign and Cancer did 181 and 283 respectively. (Unfortunately, not great amount of data in Machine Learning scales.) At last all images needed to be converted to PNG format before starting to code.
Tolerance problem
-----------------
Reviewing the images, we noticed that there is no strict discipline in positioning in the mammography. many of them were unadjusted and some reflected right to left. To gain a more reliable system, all images were rotated by 5, 10 and 15 in both clockwise and counterclockwise directions (appropriate cut-offs were performed on newly generated artifacts) and even been reflected from left to right. The manual generation increased overall number of the images by 14 times.
rotateDatas[x_] := List[
x
,
ImageRotate[x, -5 Degree, Background -> Black]
,
ImageRotate[x, +5 Degree, Background -> Black]
,
ImageRotate[x, -10 Degree, Background -> Black]
,
ImageRotate[x, +10 Degree, Background -> Black]
,
ImageRotate[x, -15 Degree, Background -> Black]
,
ImageRotate[x, +15 Degree, Background -> Black]
];
reflectData := List[Map[(ImageReflect[#, Right -> Left]) &, #], #] &;
Neural network
--------------
Like the Facial Emotion Recognition project, LeNet5 network was used for this project. The encoder layer has 3 classes: Normal, Benign, Cancer.
![Using LeNet5 to diagnose breast cancer][7]
Training
--------
80% of the data is randomly selected as training set. Half of the remaining images (10%) is used as test data and the rest (10%) as validation data. It would have taken 24 hours to train the network on "Intel Core i5 4210U CPU, Windows 10 x64" for 20 rounds. But using my GPU (NVIDIA GeForce 840M), this time reduced to about an hour. (Thanks to Wolfram team!) However, training stopped sooner due to over-fitting. Applying the test set to the network, resulted this confusion matrix:
![Breast cancer diagnosis][8]
Issues and Further Improvement
-------
The systems does well in Normal data, But not in Cancer and Benign cases. I see two major problems in it:
1. Assume an extreme case, the network estimates 51% of being Normal and 49% of Cancer. The encoding layer assumes it as Normal. A radiologist usually asks for further tests if there is the slightest chance of being non-normal.
2. Assume another extreme case, that the networks estimates 34% of being Normal and 33% for each Benign and Cancer. Again it will be perceived as Normal.
It's better to have a network to estimate the chance of being non-normal and warn the patient if the chances were higher than a threshold (20%, 30% or whatever). If yes, the case should be given to a specific network which decides whether it is Cancer or Benign.
After all, more data is always a mercy.
You can find data sets, network file and the notebook, [here][9]. You have to put the MX files in $HomeDirectory (usually Documents folder for Windows users) to evaluate it.
[1]: http://community.wolfram.com/groups/-/m/t/908615
[2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Breast-Cancer-Statistics-Infographic1-520x245.png&userId=900427
[3]: http://www.cancercenter.com/community/infographics/
[4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=A_0578_1.RIGHT_MLO.LJPEG.1_highpass.gif&userId=900427
[5]: https://www.cancer.org/cancer/breast-cancer/screening-tests-and-early-detection.html
[6]: http://marathon.csee.usf.edu/Mammography/Database.html
[7]: http://community.wolfram.com//c/portal/getImageAttachment?filename=3493Lenet-Breast.PNG&userId=900427
[8]: http://community.wolfram.com//c/portal/getImageAttachment?filename=ConfusionMatrix.PNG&userId=900427
[9]: https://www.dropbox.com/sh/0ysjmu7tnlaflxz/AAALbrPEgnTCDbpGN_4drxOka?dl=0Iman Nazari2017-06-15T12:37:33ZImage Correlation in Particle Image Velocimetry is behaving strangely
http://community.wolfram.com/groups/-/m/t/1124830
Note: i have posted the same question on MSE: https://mathematica.stackexchange.com/questions/148739/image-correlation-in-particle-image-velocimetry-is-behaving-strangely
I have been trying to implement a code for determining flow-field using Particle Image Velocimetry.
In this technique a user can take two images. Using small windows from the first image (which act as kernels) and search windows from the second image one can determine the cross-correlation which simply tells where the small window moves within a given search window. This process can be repeated between the second and the third image and so on.
A clear detail can be found in the second paragraph:
http://www.physics.emory.edu/faculty/weeks//idl/piv.html
I have two images here (posting as a gif, you can save this and import it in mathematica as a list of two images):
![enter image description here][1]
I use the following code to generate the flow-field.
windowsize = 32; (* select window size *)
imgDim = ImageDimensions[images[[1]]]; (* dimensions for the images *)
imgone = ImageCrop[images[[1]], imgDim - (2*windowsize)]; (* removing
border from first image: we dont want to create windows at the borders *)
firstimgsplits = ImagePartition[imgone, windowsize];
(* breaking the first image into small windows *)
searchwindows = ImagePartition[images[[2]], windowsize*3, {windowsize, windowsize}];
(* breaking the second image into search windows *)
{dim1, dim2} = Dimensions@searchwindows;
H = Last@ImageDimensions[imgone];
(* get midpoints of the windows of the first frame *)
midptsFirst = Flatten[Table[{i windowsize + windowsize/2,
j (windowsize) + windowsize/2}, {i, 1, dim1}, {j, 1, dim2}], 1];
(* pts in the second image where correlation is max *)
correlationPts = Table[MorphologicalComponents[ImagePad[
ImageAdjust@ImageCorrelate[searchwindows[[i + 1, j + 1]],
firstimgsplits[[i + 1, j + 1]], NormalizedSquaredEuclideanDistance,
PerformanceGoal -> "Quality"], {{j*windowsize, H - windowsize (j + 1)},
{H - windowsize (i + 1), windowsize i}}, White]]~Position~0,
{i, 0, dim1 - 1}, {j, 0, dim2 - 1}]~Flatten~2;
now when i create a flow-field from the displacement of points (red pts in the first image and cyan pts in second image) I can see that something is not right. My eyes tell me that the particles have move in a direction different from the ones found using ImageCorrelate
This should be rather straightforward for Mathematica. I do not know what is wrong in this simple piece of code. I will appreciate if someone can help me with this question.
ListAnimate@{Show[images[[1]], Graphics[{Red, Point@midptsFirst}]],
Show[images[[2]], Graphics[{Cyan, PointSize[Medium], Point@correlationPts,
{Pink, Arrowheads[Small], MapThread[Arrow[{#1, #2}] &, {midptsFirst, correlationPts}]}}]]}
![enter image description here][2]
[1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=Testpiv3.gif&userId=942204
[2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=1195Picture1.png&userId=942204Ali Hashmi2017-06-20T12:15:21Z[Mathematica-vs-R] Text analysis of Trump tweets
http://community.wolfram.com/groups/-/m/t/967299
## Introduction
This post is to proclaim the [MathematicaVsR at GitHub](https://github.com/antononcube/MathematicaVsR) project ["Text analysis of Trump tweets"](https://github.com/antononcube/MathematicaVsR/tree/master/Projects/TextAnalysisOfTrumpTweets) in which we compare Mathematica and R over text analyses of Twitter messages made by Donald Trump (and his staff) before the USA president elections in 2016.
This project follows and extends the exposition and analysis of the R-based blog post ["Text analysis of Trump's tweets confirms he writes only the (angrier) Android half"](http://varianceexplained.org/r/trump-tweets/) by David Robinson at [VarianceExplained.org](http://varianceexplained.org); see [1].
The blog post \[[1](http://varianceexplained.org/r/trump-tweets/)\] links to several sources that claim that during the election campaign Donald Trump tweeted from his Android phone and his campaign staff tweeted from an iPhone. The blog post [1] examines this hypothesis in a quantitative way (using various R packages.)
The hypothesis in question is well summarized with the tweet:
> Every non-hyperbolic tweet is from iPhone (his staff).
> Every hyperbolic tweet is from Android (from him). [pic.twitter.com/GWr6D8h5ed](pic.twitter.com/GWr6D8h5ed)
> -- Todd Vaziri (@tvaziri) August 6, 2016
This conjecture is fairly well supported by the following [mosaic plots](https://mathematicaforprediction.wordpress.com/2014/03/17/mosaic-plots-for-data-visualization/), \[[2](https://mathematicaforprediction.wordpress.com/2014/03/17/mosaic-plots-for-data-visualization/)\]:
[![TextAnalysisOfTrumpTweets-iPhone-MosaicPlot-Sentiment-Device](http://i.imgur.com/eKjxlTvm.png)](http://i.imgur.com/eKjxlTv.png) [![TextAnalysisOfTrumpTweets-iPhone-MosaicPlot-Device-Weekday-Sentiment](http://i.imgur.com/RMfuNNtm.png)](http://i.imgur.com/RMfuNNt.png)
We can see the that Twitter messages from iPhone are much more likely to be neutral, and the ones from Android are much more polarized. As
Christian Rudder (one of the founders of [OkCupid](https://www.okcupid.com), a dating website) explains in the chapter "Death by a Thousand Mehs" of the book ["Dataclysm"](http://dataclysm.org), \[[3](http://dataclysm.org)\], having a polarizing image (online persona) is as a very good strategy to engage online audience:
> [...] And the effect isn't small-being highly polarizing will in fact get you about 70 percent more messages. That means variance allows you to effectively jump several "leagues" up in the dating pecking order - [...]
(The mosaic plots above were made for the Mathematica-part of this project. Mosaic plots and weekday tags are not used in [1].)
### Links
- The Mathematica part: [PDF file](https://github.com/antononcube/MathematicaVsR/blob/master/Projects/TextAnalysisOfTrumpTweets/Mathematica/Text-analysis-of-Trump-tweets.pdf), [Markdown file](https://github.com/antononcube/MathematicaVsR/blob/master/Projects/TextAnalysisOfTrumpTweets/Mathematica/Text-analysis-of-Trump-tweets.md).
- The R part consists of :
- the blog post \[[1](http://varianceexplained.org/r/trump-tweets/)\], and
- the R-notebook given as [Markdown](https://github.com/antononcube/MathematicaVsR/blob/master/Projects/TextAnalysisOfTrumpTweets/R/TextAnalysisOfTrumpTweets.Rmd) and [HTML](https://cdn.rawgit.com/antononcube/MathematicaVsR/master/Projects/TextAnalysisOfTrumpTweets/R/TextAnalysisOfTrumpTweets.nb.html).
## Concrete steps
The Mathematica-part of this project does not follow closely the blog post [1]. After the ingestion of the data provided in [1], the Mathematica-part applies alternative algorithms to support and extend the analysis in [1].
The sections in the [R-part notebook](https://github.com/antononcube/MathematicaVsR/blob/master/Projects/TextAnalysisOfTrumpTweets/R/TextAnalysisOfTrumpTweets.Rmd) correspond to some -- not all -- of the sections in the Mathematica-part.
The following list of steps is for the Mathematica-part.
1. **Data ingestion**
- The blog post [1] shows how to do in R the ingestion of Twitter data of Donald Trump messages.
- That can be done in Mathematica too using the built-in function `ServiceConnect`,
but that is not necessary since [1] provides a link to the ingested data used [1]:
load(url("http://varianceexplained.org/files/trump_tweets_df.rda"))
- Which leads to the ingesting of an R data frame in the Mathematica-part using RLink.
2. **Adding tags**
- We have to extract device tags for the messages -- each message is associated with one of the tags "Android", "iPad", or "iPhone".
- Using the message time-stamps each message is associated with time tags corresponding to the creation time month, hour, weekday, etc.
- Here is summary of the data at this stage:
![enter image description here][1]
3. **Time series and time related distributions**
- We can make several types of time series plots for general insight and to support the main conjecture.
- Here is a Mathematica made plot for the same statistic computed in [1] that shows differences in tweet posting behavior:
![enter image description here][2]
- Here are distributions plots of tweets per weekday:
![enter image description here][3]
4. **Classification into sentiments and Facebook topics**
- Using the built-in classifiers of Mathematica each tweet message is associated with a sentiment tag and a Facebook topic tag.
- In [1] the results of this step are derived in several stages.
- Here is a mosaic plot for conditional probabilities of devices, topics, and sentiments:
![enter image description here][4]
5. **Device-word association rules**
- Using [Association rule learning](https://en.wikipedia.org/wiki/Association_rule_learning) device tags are associated with words in the tweets.
- In the Mathematica-part these associations rules are not needed for the sentiment analysis (because of the built-in classifiers.)
- The association rule mining is done mostly to support and extend the text analysis in [1] and, of course, for comparison purposes.
- Here is an example of derived association rules together with their most important measures:
![enter image description here][5]
In [1] the sentiments are derived from computed device-word associations, so in [1] the order of steps is 1-2-3-5-4. In Mathematica we do not need the steps 3 and 5 in order to get the sentiments in the 4th step.
## Comparison
Using Mathematica for sentiment analysis is much more direct because of the built-in classifiers.
The R-based blog post [1] uses heavily the "pipeline" operator `%>%` which is kind of a recent addition to R (and it is both fashionable and convenient to use it.) In Mathematica the related operators are `Postfix` (`//`), `Prefix` (`@`), `Infix` (`~~`), `Composition` (`@*`), and `RightComposition` (`/*`).
Making the time series plots with the R package "ggplot2" requires making special data frames. I am inclined to think that the Mathematica plotting of time series is more direct, but for this task the data wrangling codes in Mathematica and R are fairly comparable.
Generally speaking, the R package ["arules"](https://cran.r-project.org/web/packages/arules/index.html) -- used in this project for Associations rule learning -- is somewhat awkward to use:
- it is data frame centric, does not work directly with lists of lists, and
- requires the use of factors.
The Apriori implementation in ["arules"](https://cran.r-project.org/web/packages/arules/index.html) is much faster than the one in ["AprioriAlgorithm.m"](https://github.com/antononcube/MathematicaForPrediction/blob/master/AprioriAlgorithm.m) -- "arules" uses a more efficient algorithm [implemented in C](http://www.borgelt.net/fpm.html).
## References
\[1\] David Robinson, ["Text analysis of Trump's tweets confirms he writes only the (angrier) Android half"](http://varianceexplained.org/r/trump-tweets/), (2016), [VarianceExplained.org](http://varianceexplained.org).
\[2\] Anton Antonov, ["Mosaic plots for data visualization"](https://mathematicaforprediction.wordpress.com/2014/03/17/mosaic-plots-for-data-visualization/), (2014), [MathematicaForPrediction at WordPress](https://mathematicaforprediction.wordpress.com).
\[3\] Christian Rudder, [Dataclysm](http://dataclysm.org), Crown, 2014. ASIN: B00J1IQUX8 .
[1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=yMtdphT.png&userId=143837
[2]: http://community.wolfram.com//c/portal/getImageAttachment?filename=oDv5Cm0.png&userId=143837
[3]: http://community.wolfram.com//c/portal/getImageAttachment?filename=UGMy4EW.png&userId=143837
[4]: http://community.wolfram.com//c/portal/getImageAttachment?filename=dMxSpHa.png&userId=143837
[5]: http://community.wolfram.com//c/portal/getImageAttachment?filename=dSSb4KD.png&userId=143837Anton Antonov2016-11-21T10:51:46ZPlot a function of x with different terms on R- and on R+?
http://community.wolfram.com/groups/-/m/t/1122535
Hello,
I want to Plot a function of x with different terms on R-, 0 and on R+ as one function rather than as a set of functions.
How can I achieve that, there is no such example in the doc for Plot[]?
Thank you.LV LV2017-06-19T03:09:55ZSolve a problem involving logical programming using "For" function?
http://community.wolfram.com/groups/-/m/t/1123048
I have a small programming problem to solve using Mathematica. Being new to the problem involving some sort of logical programming, looking for some initial help. I tried to write a script using the function “For”, which does not work at all. Would appreciate if someone can suggest an edit to the script or any other function more appropriate for solving such problems. Following is the simplified version of the problem I want to solve.
There are four pockets (say a, b, c and d) each having 1 dollar in the beginning of the experiment. Each of these pockets has a potential associated with it, which is a function of an independent variable V (say Fa = 3*V, Fb = 4*V etc). On varying the independent variable V, the potentials for each pocket take distinguished trajectories.
Now the condition is that as the difference between two potentials exceeds a fixed constant, all the money which lower potential pocket has, is transferred to the one with higher potential pocket. For example, if this constant for pocket a & b is 5, the 1 dollar of a will be transferred to pocket b, as soon as Fa-Fb >= 5. Similarly, now 2 dollars of b will be transferred to another pocket c when Fc - Fb touches a fixed threshold difference. This redistribution of 4 dollars will continue with the variation of parameter V.
I want to solve this problem using Mathematica, so that I can have the distribution of the total $ 4 among four pockets as a function of parameter V. Thanks in advance
The small script which I tried is as follows. Attached is the *.nb file for this script.
Fa = 3*V;
Fb = 4*V;
Fc = 5*V;
Fd = 6*V;
For[a = 1; b = 1; c = 1;
d = 1, {Fb - Fa > 5, b == b + a; a = 0}; {Fc - Fb > 7, c == c + b;
b == 0}; {Fd - Fc > 8, d == c + d; c == 0}, {Do[V, {V, 1, 20, 1}],
Plot[{a, b, c, d}, {V, 1, 20}]}]S G2017-06-19T15:26:46Z[GIF] Rise Up ((29, 5)-torus knot)
http://community.wolfram.com/groups/-/m/t/1122344
![(29,5)-torus knot][1]
**Rise Up**
Continuing the torus knot theme ([1][2], [2][3], [3][4]). This is just a simple rotation of a $(29,5)$-torus knot. It's entirely three-dimensional, but because it's much simpler to parametrize torus knots on the Clifford torus in 4D, I am as usual parametrizing there and then stereographically projecting to 3D.
Here's the code:
Stereo3D[{x1_, y1_, x2_, y2_}] := {x1/(1 - y2), y1/(1 - y2), x2/(1 - y2)};
pqtorus[t_, θ_, p_, q_] := 1/Sqrt[2] {E^(p I (t + θ/p)), E^(q I t)};
With[{viewpoint = {0, 3, 0}, n = 450*29, p = 29, q = 5,
cols = RGBColor /@ {"#F21368", "#22C7A9", "#474655"}},
Manipulate[
Graphics3D[
{Tube[Table[Stereo3D[Flatten[ReIm /@ pqtorus[t, -θ, p, -q]]], {t, 0., 2 π, 2 π/n}], .07]},
PlotRange -> 2.7, ViewPoint -> viewpoint, ViewAngle -> π/9,
ViewVertical -> {0, 0, -1}, Boxed -> False,
Background -> cols[[-1]], ImageSize -> 540,
Lighting -> {{"Point", cols[[1]], {3/4, 0, 0}}, {"Point", cols[[2]], {-3/4, 0, 0}},
{"Ambient", cols[[-1]], viewpoint}, {"Point", Darker[cols[[-1]], .87], viewpoint}}],
{θ, 0, 2 π/q}]
]
[1]: http://community.wolfram.com//c/portal/getImageAttachment?filename=knots49Lr.gif&userId=610054
[2]: http://community.wolfram.com/groups/-/m/t/1099081
[3]: http://community.wolfram.com/groups/-/m/t/1100242
[4]: http://community.wolfram.com/groups/-/m/t/1115846Clayton Shonkwiler2017-06-18T14:41:30Z[✓] Put 2 different plots inside a manipulation?
http://community.wolfram.com/groups/-/m/t/1121642
I would like to have a notebook with 2 different kinds of plots inside a manipulation, in which the control for the manipulation uses locators linked to one of the plots. A simple example of something close to what I desire that will work is shown in the code below, but only one of the plots is inside the manipulate. The example plots a pair of sinusoids where the amplitudes and phases are controlled with the mouse by moving a variable around the complex plane.
Dynamic[Plot[{Sqrt[w[[1, 1]]^2 + w[[1, 2]]^2] Sin[
2 \[Pi] t + ArcTan[w[[1, 2]]/w[[1, 1]]]],
Sqrt[w[[2, 1]]^2 + w[[2, 2]]^2] Sin[
2 \[Pi] t + ArcTan[w[[2, 2]]/w[[2, 1]]]]}, {t, 0, 1},
PlotRange -> {{0, 1}, {-3, 3}}]]
Manipulate[w = p;
ListPlot[p,
PlotRange -> {{-2, 2}, {-2, 2}}], {{p, {{-1, -1}, {1, 1}}},
Locator}]
But what I would really prefer is to do the same calculations with something like the following, which does not work. Is there anything similar to this second approach that does work?
Manipulate[w = p;
GraphicsRow[{Plot[{Sqrt[w[[1, 1]]^2 + w[[1, 2]]^2] Sin[
2 \[Pi] t + ArcTan[w[[1, 2]]/w[[1, 1]]]],
Sqrt[w[[2, 1]]^2 + w[[2, 2]]^2] Sin[
2 \[Pi] t + ArcTan[w[[2, 2]]/w[[2, 1]]]]}, {t, 0, 1},
PlotRange -> {{0, 1}, {-3, 3}}],
ListPlot[p,
PlotRange -> {{-2, 2}, {-2, 2}}]}], {{p, {{-1, -1}, {1, 1}}},
Locator}]Mike Luntz2017-06-16T17:56:27Z