User talk:Geek3

From Wikimedia Commons, the free media repository
Jump to: navigation, search

English | Español | Magyar | +/−

Lemniscates5.png[edit]

Hi. Thx for uploading new version. Could you describe what changes have you made ( and how ) ? Best regards. --Adam majewski (talk) 20:31, 11 January 2009 (UTC)

Hi, what I did was replacing the plotcurve and adapting some of the ticks, because they had unequal distances. I didn't use maxima to do the plot. Instead I created a small program which calculetes the mandelbrot set. It works the following way:
Each pixel (and subpixel, which is important for quality!) is checked for it's number of iterations before the absolute value exceeds 2. After that it's environment with size of the line-width is also checked. If this yelds a different value, there is an edge, and the pixel is colored according to it. This alltogether gives a precise and beautiful result. So I replaced the old curve, which wasn't nice if one took a closer look. If you are interested in that little program, I might bring it into human-readable form ^^ and give it to you. (This way it is also easy to create many more lines.) Geek3 (talk) 18:42, 12 January 2009 (UTC)
Yes I'm intrested in your program. --Adam majewski (talk) 17:00, 12 May 2011 (UTC)
You can find the c++ program now at http://dl.dropbox.com/u/19801732/mandelbrot_lemniscartes.cpp . I didn't care to make it beautiful, but it should work. After a while I will take it offline again. Geek3 (talk) 18:53, 12 May 2011 (UTC)
Thx for program. Could you put it on image page at commons ? Image is amazing and it is intresting to read so small code that creates it. You can also look at (edit) this page about computer graphic techniques and of course other pages from Fractals. You nknow much more than I so your help is wellcome. Regards. --Adam majewski (talk) 14:59, 13 May 2011 (UTC)

Arctangent_Arccotangent.svg[edit]

Uhh, why I'm getting wholly different graphic with this: http://functions.wolfram.com/webMathematica/FunctionPlotting.jsp?name=ArcCot just try -4 to 4... Also MATLab acot(x) is different. Ciantic (talk) 10:43, 24 April 2009 (UTC)

This is a question of how you define acot. The cotangent function is periodic and hence can't be inverted. So you have to choose which domain you want to invert. Mathematica and MATLab aparently choose [-pi/2 ; pi/2], but the wikipedia article chooses [0:pi] (see first table). You expected something like Arctangent Arccotangent alternate.svg. Geek3 (talk) 20:19, 24 April 2009 (UTC)

Mandelbrot_Mandelbrot set rainbow colors.PNG[edit]

Thank you for posting the source code for the Mandelbrot rainbow PNG that you have posted on the commons. I have one question for you, if you would be kind enough to answer. I'm trying to get zooming to work on the source code that you have. However, though everything is magnified, zooming also shifts the center of the image that is created, at least in the way that I'm doing it.

I'm using the u variable that you set in the constants section, and multiplying the zoom number * u to be able to zoom. So for 2x, I multiply 2*u.

I've also made the modification of changing mx and my based on where a user clicks on the image. (I've made this into a GUI program, too). Here is my code there:

float x = touchLocation.x; float y = touchLocation.y;

x = x - w/2; //This is to change coordinate systems to the cartesian-based plane, with the origin in the middle. On the platform I'm developping in, the // origin is actually in the top right of the view. y = y - h/2;

x = x / w; //Scales x to the number of pixels on the screen y = y / h;

mx = mx - x; //This changes mx to adjust for the area that the user clicked being in the center of the generated image my = my - y; //Same

[self setNeedsDisplay]; //This tells the program to redraw the mandelbrot set.


This code works perfectly, and the new center of the image is set. Then, when the user clicks a button to zoom in or zoom out, I have this code:

-(IBAction) zoomIn { zoom = 3*zoom; [self setNeedsDisplay]; }

-(IBAction) zoomOut { zoom = zoom / 3; [self setNeedsDisplay]; }

Then, at the start of your code being called, I add:

u = u * zoom;


BTW, the language is objective-c, and I'm trying to learn iPhone programming. Objective-c, in case you don't know can run any c code perfectly fine, so I just took out the c++ - specific areas in your code, and it works fine.

So anyway, when the zoom is set to a higher or lower level, I then redraw the set. This, however does not zoom into the right area. It only zooms into somewhere near the original middle. Here is the part of your code, which I think controls which part of the mandelbrot set we see:


double x0 = (-w * (mx + .7) + column + (j + 0.5) / subpix) / u;

double y0 = (h * (1.0- (my + .5)) //1.0 -my - row - (i + 0.5) / subpix) / u;

I think that u is skewing the drawing center, but as it also controls zooming, I don't know how to fix this.

So my question is just this: Were you able to make your program zoom into a specific area of the mandelbrot set? I greatly appreciate any help in advance. Csnplt (talk) 15:05, 6 June 2009 (UTC)


Hi! Nice to see that you got this code to work ^^. It was however not designed to do dynamic zooming, but only to create static images. I'm sorry for having used short variable-names like "u". In your case I think it's better not to try to fix the old coordinate-transformation code, but to create a better one quickly. Here is what I recommend:
global variables:
  • x_center, y_center (point of the coordinate plane, that is shown in the center)
  • pixels_per_unit (number of pixels per mathematical unit (scaling factor))
  • image_width, image_height (pixel dimensions of the image)
Then we create the following conversion-functions:
// tells a pixel it's position in the mathematical coordinate system
// this is especially used for drawing
void pixel_to_coord(int pixel_x, int pixel_y, double &coord_x, double &coord_y)
{
    coord_x = x_center + (0.5 + pixel_x - image_width / 2.0) / pixels_per_unit;
    coord_y = y_center + (0.5 + pixel_y - image_height / 2.0) / pixels_per_unit; // maybe (-1)* that whole thing if the pixel system is flipped
    // the 0.5+ is because the center of pixel 0 is already 0.5 pixels inside the image
}
 
void zoom_in(int clicked_pixel_x, int clicked_pixel_y)
{
    // Move the new center to the clicked position
    pixel_to_coord(clicked_pixel_x, clicked_pixel_y, x_center, y_center);
    // Zoom in
    pixels_per_unit *= 3.0;
}
 
void zoom_out(int clicked_pixel_x, int clicked_pixel_y)
{
    // Move the new center to the clicked position
    pixel_to_coord(clicked_pixel_x, clicked_pixel_y, x_center, y_center);
    // Zoom out
    pixels_per_unit /= 3.0;
}
I hope this helps you. If you'd like to see more sophisticated code for that topic, try to understand the source-code of xaos. Geek3 (talk) 15:55, 6 June 2009 (UTC)


Thank you for your very quick response. I'll try all of this. One more question: What are the subpixels in your code? Are they the individual RGB values for each pixel? That's what I assumed. And what is xaus? I tried googling it, but didn't find anything related to the Mandelbrot fractal.


The subpixels are a technique to enhance the image-quality. For each pixel the function isn't evaluated once, but the pixel is split up into many subpixels and the function is evaluated for each of them. Later those color values are combined to one. This yelds a better result, because at edges we don't get either black or white, but an apropriate mixture. And the mandelbrot set has quite a lot of edges. See Supersampling (my code uses the grid algorithm). Also supersampling makes the evaluation very slow. If you want quick zooming, don't use it, and if, then only with 2x2 subpixels. Also create an image with subpixels=1 and one with a higher subpixel number and take a close look at the result. Then you will see the difference.
xaos is XaoS.
Geek3 (talk) 17:21, 6 June 2009 (UTC)
Sorry to bother you again, but I have one or two more questions. I'm having trouble getting the new method to work Here is what I have:


- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
        //This is called when the user touches the screen at a certain area
 
	UITouch *touch = [touches anyObject];
	self.touchLocation = [touch locationInView:self]; //This returns the (x, y) coordinates of location of touch, in the form of a struct with x and y floats.
	//The coordinates are in the form where the origin is at the top left.
 
 
 
	x_center = (x_center + (0.5 + touchLocation.x - image_width / 2.0) / pixels_per_unit);
        y_center = (y_center + (0.5 + touchLocation.y - image_height / 2.0) / pixels_per_unit); // maybe (-1)* that whole thing if the pixel system is flipped
    // the 0.5+ is because the center of pixel 0 is already 0.5 pixels inside the image
 
 
	[self setNeedsDisplay];  //redraws image
 
}
-(IBAction) zoomIn
{
	//zoom_in(touchLocation.x, touchLocation.y);
 
 
 
	//I have commented out the next lines, because I don't change the center of the image in zooming. The user just touches a certain area, the center is set, and //then they can press a button to zoom in or out of that area
 
	//x_center = x_center + (0.5 + touchLocation.x - image_width / 2.0) / pixels_per_unit;
    //y_center = y_center + (0.5 + touchLocation.y - image_height / 2.0) / pixels_per_unit; // maybe (-1)* that whole thing if the pixel system is flipped
    // the 0.5+ is because the center of pixel 0 is already 0.5 pixels inside the image
 
	pixels_per_unit *= 3.0;
 
 
	[self setNeedsDisplay];
}
 
-(IBAction) zoomOut
{
	//zoom_out(touchLocation.x, touchLocation.y);
 
 
 
	//x_center = x_center + (0.5 + touchLocation.x - image_width / 2.0) / pixels_per_unit;
    //y_center = y_center + (0.5 + touchLocation.y - image_height / 2.0) / pixels_per_unit; // maybe (-1)* that whole thing if the pixel system is flipped
    // the 0.5+ is because the center of pixel 0 is already 0.5 pixels inside the image
 
	pixels_per_unit /= 3.0;
 
 
	[self setNeedsDisplay];
}


And here is your code, but only the part that I think applies to this. I also have the full code at the end.

                        // iterate subpixels
			for (int i = 0; i < subpix; i++) 
			{
				for (int j = 0; j < subpix; j++)
				{
					// pixel -> coordinates
 
 
					/*
					//OLD:
					double x0 = (-w * (mx + .7) + column
								 + (j + 0.5) / subpix) / u / zoom;
 
 
 
 
					double y0 = (h * (1.0- (my + .5)) //1.0 -my
								 - row - (i + 0.5) / subpix) / u / zoom;
 
					*/
 
					//NEW:
					double coordinateX, coordinateY;
					coordinateX = (x_center + (0.5 - column - image_width / 2.0) / pixels_per_unit);
					coordinateY = (y_center + (0.5 - row - image_height / 2.0) / pixels_per_unit); // maybe (-1)* that whole thing if the pixel system is flipped
					// the 0.5+ is because the center of pixel 0 is already 0.5 pixels inside the image
 
 
					double x0 = coordinateX;
					double y0 = coordinateY;
 
					double x = x0, y = y0;
					int n = -1;
 
					// skip values we know that are inside

The problem with all of this is that now, it won't even re-center correctly, without trying to zoom. Also, is x_center the same as mx? I set x_center to .7 at the init method (like a constructor in object-oriented c++), and y_center to .5, like I used to do.

Is this the root of my confusion?

Also, if you don't have time to help me, feel free to say so.

Thanks, and here is the rest of the code, modified to draw to a bitmap file, rather than a PPM:

... deleted because of it's huge size


Ok, forget about mx and my. They are not the same as x_center. mx=0.7 means the center of the mandelbrot set is at 70% of the image width. But this is not good for zooming. Now only use the new variables. Start e.g. with x_center=0, y_center=0, pixels_per_unit=0.25*image_height.
Your main problem is that you changed the wrong + to -. Instead of
coordinateX = (x_center + (0.5 - column - image_width / 2.0) / pixels_per_unit);
coordinateY = (y_center + (0.5 - row - image_height / 2.0) / pixels_per_unit);
use:
coordinateX = x_center + ( (column + (j + 0.5) / subpix) - image_width  / 2.0) / pixels_per_unit;
coordinateY = y_center - (    (row + (i + 0.5) / subpix) - image_height / 2.0) / pixels_per_unit;
If you strip the pixel-supersampling, i and j go to 0, subpix will be 1.
Use exactly the same signs in the zooming function:
x_center = x_center + (0.5 + touchLocation.x - image_width  / 2.0) / pixels_per_unit;
y_center = y_center - (0.5 + touchLocation.y - image_height / 2.0) / pixels_per_unit;
This actually has to work. Geek3 (talk) 23:38, 6 June 2009 (UTC)
Thanks a lot for all your help today. It all works perfectly now. Sorry I didn't quite understand everything at first. Now I have a much better understanding of how the code works. Csnplt (talk) 0:33, 7 June 2009 (UTC)

Your graphs[edit]

Hello

I'm writing to find out what software you're using to produce your graphs? I'd love to be able to make nice graphs, and my current software just doesn't perform. Pakomo (talk) 14:37, 18 September 2009 (UTC)

hi,
there is no professional software that I used for creating those plots. Instead, I used the comfortable properties of svg. One can read the source code, copy it, change it. Thats how most of the plots were generated.
However I wrote some tools that helped me in C++ and python. At present, they are not very user-friendly. The focus is on high-quality, low-size, readablity and reusability of the graphics, not on usability or efficiency of the software. If that is what you are looking for, let me know and I'll email you what I got.
Geek3 (talk) 20:52, 24 September 2009 (UTC)

Invalid SVG: Zeta polar.svg[edit]

Hi, I found the plot File:Zeta polar.svg uploaded by you. It fails to pass SVG validaor. Would you add the following header?

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

That should fix the problem (if, of course, encoding is actually ensured to be utf-8). I would do the change by myself but unfortunately, my editor fails to show symbols like ζ and I don't intend to corrupt the file by using a weak text editor. --Georg-Johann (talk) 20:55, 11 August 2010 (UTC)

Problem fixed. Geek3 (talk) 11:40, 12 August 2010 (UTC)

Hello! I...[edit]

...like your graphics and animations. They are really excellent contributions for Wikimedia. Thanks a lot and I hope you keep contributing! Greetings and happy editing! --High Contrast (talk) 20:29, 2 October 2010 (UTC)

Thanks a lot, I'm very pleased! Geek3 (talk) 20:36, 2 October 2010 (UTC)
Honor to whom honor is due. --High Contrast (talk) 23:42, 2 October 2010 (UTC)

Thank you very much[edit]

I like your graphics.

Probability amplitude[edit]

Hi Geek3, your images are really impressive. I've added one of them to the Wikipedia probability amplitude article. I wondered if you'd be interested in creating some more simple graphics for that article? If I try to do it myself I suspect it will end up looking quite rubbish.

I'm hoping to create a section on Feynman's interpretation of probability amplitudes, where he represents them as little arrows whose length represents the modulus of the probability amplitude and whose direction represents its phase. He joins them head-to-tail to add them, and draws a square (one side of the square being the probability amplitude) to represent the probability. It's a nice intuitive way of showing why probability amplitudes in quantum mechanics can "cancel each other out.

Let me know if you're interested, at http://en.wikipedia.org/wiki/User_talk:Physics_is_all_gnomes

Hi! Thanks for using my images in Wikipedia, that's what it's all about. I know what you mean with that Feynman images, but graphics like that should probably be drawn by hand. However I specialized on computer-generated images from source-code.
Don't be afraid of drawing an image by yourself using inkscape, it's easy! --Geek3 (talk) 17:16, 6 January 2011 (UTC)

Attributions[edit]

The figures in your gallery are among the best I've seen for undergraduate physics. May I have your permission to use some of these figures in some class handouts in an undergraduate physics class? If so, how would you like me to word the reference so you are credited? SimpsonDG (talk) 01:54, 27 January 2011 (UTC)

I'm happy that you like my pictures and totally endorse you to use them in class handouts. As most of my pictures are released under the GNU FDL and Creative Commons license, permission to use them is guaranteed to you (see also Reusing content outside Wikimedia).
I think people should be able to track the images to gain access to high resolution versions, source code and similar images. Therefore I recommend that you attribute my pictures in one of the following ways:
  • A small link under or at the bottom of each individual image (e.g. http://commons.wikimedia.org/wiki/File:VFPt_cylindrical_magnet.svg) where there is enough space and it is not distracting.
  • A small reference to Wikimedia Commons under or at the bottom of each individual image (e.g. ©GNU-FDL, Wikimedia Commons).
  • A link to Wikimedia Commons as a footnote (e.g. The images on this page are taken from http://commons.wikimedia.org).
  • A link to Wikimedia Commons at any appropriate position at the beginning or end of your handout (e.g. Illustrations in this document are taken from http://commons.wikimedia.org). Individual file names may be listed.
Just because of my own interest I'd be happy if you could make the resulting work available to me, so I can see what the images are used for.
If you feel some useful images similar to the existing ones are missing for your handout, let me know! --Geek3 (talk) 17:10, 28 January 2011 (UTC)
Thanks very much. The class handouts are still in progress, and I haven't yet finished the parts on electromagnetism -- but the current set of notes is available at http://pgccphy.net/1020/phy1020.pdf . If you check back from time to time during the spring semester, you'll find more material added. I'm particularly interested in your figures of the electric and magnetic dipoles, the capacitor electric field, and the solenoid magnetic field. Some others might be useful also. SimpsonDG (talk) 15:56, 29 January 2011 (UTC)

Control points in Zeta0.5 100.svg[edit]

Hello, I am interesed in using of Zeta0.5 100.svg to compute some variations of the Riemann zeta function. Can you explain, how you have computed the control points? An algorithm or wiki link would be enough. Thank you.

Hi! I'm excited you took a closer look to the Zeta0.5 100.svg image. The zeta function was evaluated in python using mpmath but the control point algorithm was in fact developed by me and is not publicly available. I had plans to publish it on the web some time ago but found it hard to bring it to a satisfiable shape for that purpose. It runs inadequately slow and the code is still too complicated.
In principle it works as follows:
  • The curve will be approximated by sections of bezier curves, which are parametric bernstein polynomials.
  • Both the function and the parametric polynomial can be evaluated at sample points, hence this distances can be summed up to constitute our objective function to be minimized.
  • The parameters of every bezier segment are selected to asymptotically match the original function at each endpoints.
  • Two free parameters remain; the lengths both controll point lines. They are adjusted with a numerical minimisation procedure together with the sample point parameters along the bezier.
  • The error is estimated and the bezier endpoints are displaced until we achieve the aspired error goal with a minimum number of segments.
You see that this may not be the simpliest way to do it. However I believe I can publish a working version as soon as I have a little bit of time (maybe in a month). If you are interested, leave me your contact and I can send you what I got.--Geek3 (talk) 17:39, 17 March 2011 (UTC)

Gamma abs 3D.png[edit]

Hello Geek3,

Like many others, I think your work is very successful. My question relates to the generation of file called Gamma_abs_3D.png (which is a graphical representation of the absolute value of the Euler Gamma function). You created this image with Mathematica.

Can you tell me what(s) tool(s) do you use for the graph caption (x, y labels and title) with what seems to be generated with the modern computer font family? Jsafra 01:33, 26. Apr. 2012‎ (UTC)

You are right, it is the computer modern font. Unfortunately I couldn't produce the font with Mathematica directly. Therefore I simply copy&pasted all captions from a LaTeX file. One plottong tool that does have the capability to produce cm fonts is python matplotlib. Geek3 (talk) 14:28, 1 May 2012 (UTC)

First of all, thank you for your quick answer. Can you share some details on the procedure you use? What file format do you use to export the graphic with Mathematica? How do you import the resulting file in matplotlib? How do you change all the captions in matplotlib? Can you provide your matplotlib source code if possible?

Matplotlib would be an alternative approach without using Mathematica. For this graphic I didn't use matplotlib at all.
What I did was the following: First I exported the image from Mathematica as a high resoultion png. Then I used Gimp to scale it down to remove some aliasing effects. I created a simple LaTeX document that contains all the captions, exported it as pdf and also opened it in Gimp. Then I pasted the captions into the image and saved it as the final png.
I know this is a bit complicated, but there was no better solution at the time. I hope you can use my explanations. Geek3 (talk) 17:12, 3 May 2012 (UTC)

[edit]

Dear Geek3,

We would like to use a modified copy of your Sphere_wireframe image (https://commons.wikimedia.org/wiki/File:Sphere_wireframe_10deg_6r.svg or https://commons.wikimedia.org/wiki/File:Sphere_wireframe_10deg_6r_black.svg) and incorporate it as part of the logo of our new technology startup.

How can we fullfil CC BY 3.0 "attribution requirement" for this particular image usage? Would it be enough to incorporate a reference/attribution in the "legal notice" section of our website to attribute your work?

We can not find any other practical way to incorporate a reference on every document/item/web page (logo will be present in virtually every printed or electronic material produced by the company).

Would you like to consider this special permission?

Thanks in advance,

According to the license I can specify the way in which the attribution has to be made. In your case it is perfectly sufficient to me if the attribution is stated in the "legal notice" section of your official website (or a logo section if existing) and not at every usage of the graphic. Furthermore as in how to shape the attribution you can simply follow the official Commons advices.
One more hint: If you want to adjust the color to your needs there is the possibility to simply change the svg sourcecode at a few places. Geek3 (talk) 18:47, 25 March 2013 (UTC)

Chi Square pdf[edit]

Hi there, it looks like your chi square pdf plot is showing the cdf, not the pdf, could that be true? Sorry if I missed anything!

Thanks a lot for this hint! I checked and it turns out that user:Niceoboe has replaced the file content. File:Chi-square_pdf.svg used to show the pdf, now it's changed to the cdf. I will fix that again. Geek3 (talk) 08:39, 27 April 2013 (UTC)

Sphere filled blue.svg[edit]

Did you make the model in a 3D program?

I am trying to make one in Sketchup and have not been successful yet.

I didn't use a 3D program, the figure was programmed from scratch in C. I'd recommend you to use a template from my ImageScripting page. The rest is high-school vector geometry. Geek3 (talk) 10:41, 9 September 2013 (UTC)

PythonVectorFieldPlot[edit]

Hi,

thx for the tremendous work. I want to draw my own fieldplots but i got a lots errors.

I appended the source from https://commons.wikimedia.org/wiki/User:Geek3/VectorFieldPlot your given example

doc = FieldplotDocument('VFPt charges plus minus', width=800, height=600, unit=100) field = Field({'monopoles':[ [-1, 0, 1] ]}) field.add_element('monopoles', [1.5, 0, -1]) line = FieldLine(field, [-1, 0], start_v=[0, 1], directions='forward') doc.draw_line(line) doc.draw_charges(field) doc.write()

But i got lots of errors, beginning with line = .... and the last message is ValueError: cannot slice a 0-d array. Can you please provide a full functional example from your tremendous examples on https://commons.wikimedia.org/wiki/Category:Created_with_VectorFieldPlot

Greetings

Hi! Thanks for your interest. You are right, the program exits with an error on the given input, because there was a bug on the wiki page with missing brackets in line field.add_element('monopoles', [1.5, 0, -1]).
The program works flawlessly if you append the commands
doc = FieldplotDocument('VFPt charges plus minus', width=800, height=600, unit=100)
field = Field({'monopoles': [[-1, 0, 1]]})
field.add_element('monopoles', [[1.5, 0, -1]])
line = FieldLine(field, [-1, 0], start_v=[0, 1], directions='forward')
doc.draw_line(line)
doc.draw_charges(field)
doc.write()
You will also find the tested working source code on the wiki page of each individual graphic created with the program, for instance VFPt charges plus minus.svg. Geek3 (talk) 22:15, 27 September 2013 (UTC)

a single question[edit]

Hi, I'm Solo,

I've been seeing carefully your gallery. it's a very fine work, and I think you already know it. this is why, a few time ago, I included one of your images in my web page including a link to your site to quote the source, though if you preffer that I do it in a more concrete form, please tell me. I write you 'cause I'm looking for some way to get a few plots on some special magnetic interactions (very simple cross-sections) that, with your permission, I would like to include in a web page I'm working yet, but I got no knowledge on computer programming and this is why I'm afraid I'd not be able to manage with your program. since I'm an unknown person for you, I'd not be so dare as to ask you for working for fun, though this is precisely what I'm doing for a very long time! but I don't know what could I do for you in return if you could lend me a hand. may be you could tell me. I don't know if you would want to test your VectorFieldPlot with some new magnetic patterns, though I think it could be a good opportunity to do it. I'm not a wiki user and I work for no public or private company. I'm simply an amateur, that's someone who does what he loves. if you have any question you can find my email in this web page https://sites.google.com/site/thezplusproposal/.

very good work yours!

Hi,
I'm always happy to extend my gallery of plots. Maybe I can create the images you need and you can take them from Wikimedia Commons thereafter. Just let me know what the concrete field configuration is, maybe you have some definitions or formulas?! If you have a 3D configuration you will also have to choose a 2D plane in which to draw. VectorFieldPlot may be well suited for your purposes. Let's see what I can do! Geek3 (talk) 14:38, 26 October 2013 (UTC)
Hi, I'm Solo again,
a lot of thanks for your answer ! I appreciate your disposition. shortly, this is the subject:
colors: red wire (at left) with clockwise field lines, blue wire (at right) with counterclockwise field lines. important if possible only. it would be much better with orthogonal cross-section. no matter if it has no rounded edges, though it would be really fine. important: internal separation (1 mm) between both wires in every bifilar unit and the same distance for in between each bifilar wire in the regular pattern of 48 bifilar units. other measures and indications shown in a provisional page I've created for you: https://sites.google.com/site/zpairboard/ as no animation is possible, we would need to know the effects generated at, for example, 10.000volts, 18.000volts and 26.000volts (Direct Current) to be able to visualize the progressive sequence for the field lines interaction for each one of the three possibilities (cross-sections only) suggested at the last section of the Board:
1.- single bifilar wire;
2.- eight bifilar wires with a separation of 20mm in between each one of them;
3.- 48 bifilar wires with complete alignment.
do you think your VectorFieldPlot can bear it? if you cannot do it because of any reason, please tell me. don't worry. there's no hurry. I'll be watching your talk page more or less once a week.
I'm new here and I'm afraid I don't manage very well with your talk page yet. this is why I've written a new message. Solo
Dear Solo,
I looked at your problem and here are some remarks. Essentially the field is determined by Maxwell's equations, from which we learn the following:
  • There will not be any z-component of the B-Field as there are no currents in the x-y-plane (because B is generated orthogonally to the current).
  • The amount of applied voltage or current will not have any effect on the field shape (because the equations are linear).
  • Your configuration is essentially a dipole as in File:VFPt_wires_antiparallel.svg. Putting the wires so close together is rather ineffective and will generate a very weak field.
  • For numeric calculation the wires can be modeled as infinitely thin, this will make hardly any difference outside the configuration. Here is some VectorFildPlot code that will show you the field configuration. Actual finite-size wires with fancy symbols can be programmed as well, but I thinks it is not worth the additional effort.
# paste this code at the end of VectorFieldPlot 1.3
w, h = 800, 600
doc = FieldplotDocument('VFPt_wirearray', width=w, height=h, unit=100, commons=True)
nx, ny = 8, 6
d_wire = 0.26
d_filamentx, d_filamenty = 0.71, 0.26
 
field = Field({})
for iy in range(ny):
    for ix in range(nx):
        x0 = (ix + 0.5 - nx / 2.0) * d_filamentx
        y0 = (iy + 0.5 - ny / 2.0) * d_filamenty
        field.add_element('wires',
            [[x0 - d_wire / 2.0, y0, -1], [x0 + d_wire / 2.0, y0, 1]])
 
doc.draw_currents(field, scale=0.7)
 
n = 30
for i in range(n):
    alpha = 4.1 * ( (i + 0.5) / n - 0.5)
    x0 = 3.1 * sin(alpha)
    y0 = 0.7 + 1.4 * cos(alpha)
    line = FieldLine(field, [x0, y0], directions='both', maxr=20)
    doc.draw_line(line, linewidth=1, arrows_style={'min_arrows':2, 'dist':5., 'scale':1.8})
 
for i in range(1, nx):
    x0 = d_filamentx * (i - nx / 2)
    line = FieldLine(field, [x0 - 0.1*d_filamentx, 0], directions='both')
    doc.draw_line(line, linewidth=1)
    line = FieldLine(field, [x0 + 0.1*d_filamentx, 0], directions='both')
    doc.draw_line(line, linewidth=1)
 
doc.write()
Geek3 (talk) 21:59, 4 November 2013 (UTC)

there's something more[edit]

Hi Geek3,

Solo again. thanks for your answer. you're completely right in your statements. I didn't tell you the whole story. if you want, have another look at the Board https://sites.google.com/site/zpairboard/ and you'll probably understand why I proposed those simple magnetic interactions. I only wanted to conceal something I've never shared before. no need for calculation.

Dear Solo,
I took a look at your proposed coil configuration. The produced field can be understood without calculation: Since opposite currents are close together their fields will again cancel to first order and the remaining field will be weak. The configuration can be thought of as two ordinary coils in opposite direction overlapping each other almost completely. The result qualitatively resembles the field of an anti-helmholtz coil (see e.g. google images). There is no field in the center (from symmetry), the field points axially inwards on the symmetry axis from both directions and radially outwards around the center.
If your goal is to trap particles I can tell you there is no static field configuration to do that (physicists would love it and examined it in great detail). For charged particles time-varying fields can be used (Paul trap) and Stellerators are being developed with near perfect trapping properties. For uncharged particles the trick is done for instance by Magneto-optical traps which use a field configuration very much like yours but need additional lasers.
I hope I could help you. If you want to make up for it, contribute to Wikimedia Commons! Geek3 (talk) 23:06, 7 November 2013 (UTC)

Solo again[edit]

Dear Geek3,

I appreciate your attention with my proposals. you will have probably realized they are somehow bizarre. this is because mine is a brainstorming attitude, not always caring with standard thinking, rather than purely rational as the conventional scientific approach, 'cause I think if there's some solution to the nuclear fusion problem it will be an idea before and a fact afterwards with the corresponding scientific formulation, given that from my point of view new ideas don't seem to come from the simply mechanical application of the already known ones. creativity seems to me to be the intermittent flow of a third psychological factor not concerned with already known natural phenomenons only, but something that firstly see possible interrelations between them and then it looks for the way for their materialization in the form of a new phenomenon. from this point of view, it seems something that arranges known things in a different way to create a new thing. I have some ideas in mind, may be just so foolish as those I've shown to you till now, that I'd would like to study carefully to learn from them till the smallest detail rather than disregarding them at first sight as a worthless matter, but I feel totally unable to share and discuss them with you here in your talk page. I understand and respect your personal compromise with Wikimedia Commons to make all knowledges available to everybody. in fact, though I'm not a wiki user (at least by now), all my works are registered under Cretive Commons and GNU licenses, but I'd like to have something really consistent to share in this domain rather than experimental speculations only, though I totally agree in sharing online any interesting or provisional conclusion if possible someday. I'd like you to know how much I'd need to be able to manage with a software like yours. I've sought it on the net but I've found nothing so clear like your VectorFieldPlot and your Gallery of images. no matter it's 2D only, 'cause I think it's pretty enough for basic investigative purposes, since it's a very accurate program totally fit to visualize many possible speculations. please, excuse me for being so dare as to tell you I think you're using this software to simply reproduce already known magnetic interactions, 'cause I cannot but see a high potential in both your software and your personal knowledges on electromagnetism. I thank you sincerely again for the brief conversations we have had these days, but my mind is full of questions that I think I cannot resolve here. if you'd like to contact me by email, you'll find my address on the website at the end of my first message to you. it is not my personal mail, but a special account I created for this subject only. otherwise, thanks a lot for your kindness. I think you're one of those great guys who make the internet project something worth to work for.

best wishes

Solo

P.D. I've not undestood yet how to answer your messages here in your talk page without creating a new message!!! it's clear there's always something to learn.

thanks![edit]

Hi -- Thanks for writing VectorFieldPlot and making it open-soure! I used it in this book http://www.lightandmatter.com/sr/ , section 10.6. The diagrams came out looking really nice. The book is CC-licensed and open-source, and your code is distributed along with the LaTeX source, with the licensing info maintained at the top of the code. --Ben --75.83.65.81 05:34, 24 January 2014 (UTC)

Hi! That's great to hear. I hope VectorFieldPlot was reasonable to understand and use. Good luck with the book! Geek3 (talk) 21:18, 28 January 2014 (UTC)

Copyright status: File:Matplotlib logo symbol.svg[edit]

български | català | čeština | dansk | Deutsch | Deutsch (Sie-Form)‎ | English | فارسی | suomi | français | magyar | italiano | македонски | മലയാളം | Bahasa Melayu | 日本語 | norsk bokmål | polski | português | română | slovenščina | svenska | 中文(繁體)‎ | +/−

Warning sign
This media may be deleted.
Thanks for uploading File:Matplotlib logo symbol.svg. I notice that the file page either doesn't contain enough information about the license or it contains contradictory information about the license, so the copyright status is unclear.

If you created this file yourself, then you must provide a valid copyright tag. For example, you can tag it with {{self|GFDL|cc-by-sa-all}} to release it under the multi-license GFDL plus Creative Commons Attribution-ShareAlike All-version license or you can tag it with {{PD-self}} to release it into the public domain. (See Commons:Copyright tags for the full list of license tags that you can use.)

If you did not create the file yourself or if it is a derivative of another work that is possibly subject to copyright protection, then you must specify where you found it (e.g. usually a link to the web page where you got it), you must provide proof that it has a license that is acceptable for Commons (e.g. usually a link to the terms of use for content from that page), and you must add an appropriate license tag. If you did not create the file yourself and the specific source and license information is not available on the web, you must obtain permission through the OTRS system and follow the procedure described there.

Note that any unsourced or improperly licensed files will be deleted one week after they have been marked as lacking proper information, as described in criteria for speedy deletion. If you have uploaded other files, please confirm that you have provided the proper information for those files, too. Thank you.

Magog the Ogre (talk) (contribs) 16:39, 14 September 2014 (UTC)

Copyright status: File:Matplotlib logo.svg[edit]

български | català | čeština | dansk | Deutsch | Deutsch (Sie-Form)‎ | English | فارسی | suomi | français | magyar | italiano | македонски | മലയാളം | Bahasa Melayu | 日本語 | norsk bokmål | polski | português | română | slovenščina | svenska | 中文(繁體)‎ | +/−

Warning sign
This media may be deleted.
Thanks for uploading File:Matplotlib logo.svg. I notice that the file page either doesn't contain enough information about the license or it contains contradictory information about the license, so the copyright status is unclear.

If you created this file yourself, then you must provide a valid copyright tag. For example, you can tag it with {{self|GFDL|cc-by-sa-all}} to release it under the multi-license GFDL plus Creative Commons Attribution-ShareAlike All-version license or you can tag it with {{PD-self}} to release it into the public domain. (See Commons:Copyright tags for the full list of license tags that you can use.)

If you did not create the file yourself or if it is a derivative of another work that is possibly subject to copyright protection, then you must specify where you found it (e.g. usually a link to the web page where you got it), you must provide proof that it has a license that is acceptable for Commons (e.g. usually a link to the terms of use for content from that page), and you must add an appropriate license tag. If you did not create the file yourself and the specific source and license information is not available on the web, you must obtain permission through the OTRS system and follow the procedure described there.

Note that any unsourced or improperly licensed files will be deleted one week after they have been marked as lacking proper information, as described in criteria for speedy deletion. If you have uploaded other files, please confirm that you have provided the proper information for those files, too. Thank you.

Magog the Ogre (talk) (contribs) 16:44, 14 September 2014 (UTC)

Request of a .tex file[edit]

Hi Geek3,

First of all, let me congratulate you on your graphic designs. The image located here: http://commons.wikimedia.org/wiki/File:Sine_one_period.svg was created with a plain tex editor. Is it possible that you give the .tex file which allows to obain this image?

Kindest regards,

Jacob Safra

Dear Jacob,
The plot was generated with a text editor, not tex. Therefore the svg plot IS its own source code. If you like to create similar plots with Computer Modern labels but without too much coding I would recommend Matplotlib. Geek3 (talk) 15:11, 16 October 2014 (UTC)

mplwp[edit]

Hi, you are creating fine high-quality mathematical and scientific graphics. To let you mark and categorize them easier and in a better way, I changed for you the template {{Created with mplwp}}. You may see how it is used and works in two images, Mplwp zero.svg and a bit different at Mplwp 0 8 15.svg. The template is reduced to SVG and defaulted to "ValidSVG", but when you want to create W3C-invalid code you can set it SMirC-chuckle.svg. The categories Created with Matplotlib (never set it directly as a category!!!) and Images with Python source code are now set more upward in the category tree and not in each file, and {{ValidSVG}} is included for a better category diffusion.
The source code is currently not collapsable, but this can be done if required, for all the SVG created with ... templates.
If you have any question, better do it on my talk page. It is your template, if you want things changed just tell it, as long it fits somehow in the system of the other templates. All your other 310 files can be changed with a VFC task to the new template; currently they categorize into a meta category. Good luck! sarang사랑 11:42, 4 March 2015 (UTC)

fractal physics[edit]

I have used your artwork in my book fractal physics published by Matador, we emailed in 2012 but my hard drive was encrypted and I have lost your contact details. Your hydrogen eigenstate n4 l3 m1.png is on the cover and credited on the first page, page 15 and finally you are acknowledged on page 42. I would like to send you a copy of the book if you could resend your contact details. Arlington row 17:14, 11 March 2015 (UTC)

Electric dipole[edit]

Dear Geek3, I just admired your electric dipole of varying distance between the two charges.

I am working on improving the Wikipedia article "Internal Conversion". Could you please make an electic dipole of fixed distance between the charges, but oscillating values, so that the field oscillates, reversing its sign?

This would make a classical analogue of a nuclear electric dipole transition. Best regards,HPaul (talk) 08:59, 27 April 2015 (UTC)