**0**

###
#1
Members - Reputation: **146**

Posted 09 October 2012 - 01:38 PM

Thanks!

###
#2
Members - Reputation: **971**

Posted 09 October 2012 - 06:05 PM

For the magnetic field of a dipole in 3d, check out the Wikipedia article here. I've linked to a particular section; see the equation for B(x) there. This gives you your magnetic field.

There are a few ways to draw magnetic fields; we can help you with them. Some options are,

**Draw a vector field (2d/3d)**: For every point in a grid, draw an arrow with the right direction and magnitude)

It will look something like this:

**Draw field lines (2d/3d):**

Method 1 (using the vector field itself): From a collection of starting points (usually also in a grid), walk forwards and backwards along the vector field, drawing a curve.

Method 2 (in 2d, using the vector potential): Use marching squares/triangles to draw level sets of the vector potential.

It will look something like this:

**Plot the magnetic potential (2d):**

In 2d, the magnetic potential is a scalar field. You can either map these values to grayscale, or to a color scale, and then just draw this image.

It will look something like this:

###
#3
Members - Reputation: **386**

Posted 10 October 2012 - 10:42 AM

I have thought about possibly using a fog effect that would scale the color to show the field intensity but I am afraid that would just look like a mess and obscure the object. I would be interested to see what other people have thought of doing to represent a magnetic field in 3D.

###
#4
Members - Reputation: **146**

Posted 12 October 2012 - 11:36 AM

Edit: OK yea I have more questions. First and foremost I assume x in the B(x) is position of the measurement? Secondly if I go along a grid and use this equation to create a vector field, how exactly do I traverse that? In my experience with vector fields the traversal tends to be somewhat ambiguous as long as the line you draw is tangent to the arrows you're passing by, so how would I decide in a program what path to use? Would it just be the points with the same (or close to the same) potential?

**Edited by yanksfan2344, 12 October 2012 - 12:31 PM.**

###
#5
Members - Reputation: **971**

Posted 12 October 2012 - 11:22 PM

First and foremost I assume x in the B(x) is position of the measurement?

Yep.

Secondly if I go along a grid and use this equation to create a vector field, how exactly do I traverse that? In my experience with vector fields the traversal tends to be somewhat ambiguous as long as the line you draw is tangent to the arrows you're passing by, so how would I decide in a program what path to use?

The idea is that, in the limit that you make your steps very small, you will be following the vector field correctly. The way to look at it is that you are simulating the ordinary differential equation,

dx/dt = B(x)

and you can use whatever method you want to do that. When we talk about "lots of little line segments," the implication (I assume) is that we're talking about Euler integration. There are also a great many other schemes that may be better, but Euler is usually a good starting point.

This works in 2d (since the magnetic potential is a scalar), but not in 3d (where it is a vector).Would it just be the points with the same (or close to the same) potential?