I have a laser that has sensitivity to two electrical inputs (that can be input simultaneously). Of course, I can easily add an electrical signal with an input of a "linear sweep", and observe the output intensity of my light (retrieved from the voltage outputted by a photodetector). [this photodetector does not have any spatial resolution, and simply gives me a simple DC voltage value representing the intensity of my light field]

By looking at the output as I "linearly sweep" through one of my two inputs, I can see how my output behaves with respect to that degree of freedom.

But this just gives me a 2D slice of the entire 3D picture if I were to consider all possible values of both of the two inputs.

I would think that this is something many people would have already been intersted in having, just for practical reasons. (If I want to find the optimal value right now, I have to move one of the two inputs manually, as I look as I sweep the other degree of freedom)

I'm interested in if there is already a pre-built protocol that I could use to set up a "3D imagining system" where one dimension is the output voltage, and the other two dimensions are the two input voltages.

I have a digitizer card I could send into my output (converting my signal from analog to digital ). Does anyone know of any pre-built programs that might be able to perform such a "3D oscilloscope" feature?

I'm looking for something to save time, so ideally I don't have to write things from scratch or have to set up some entire programming enviornment to implement this.


If there is some confusion over the fact that a laser is involved, please ignore that completely. The fact that there's a laser in the setup has no relevance to answering the question (I guess I shouldn't have even mentioned it). Additionally, although I'm asking for a three-dimensional representation of my data, it has nothing to do with "spatial" dimensions or some sort of representation of something you could see with your eyes.

Putting it strictly mathematically: I have a system that returns a voltage output as a function of two (electrical, DC) inputs. $$V_{out} = unknownfunction(V_{input1}, V_{input2})$$

I could look at the output as I "scan" through one of the two inputs (while holding the other input constant). So for clarity, let's say I hold V_input2 = 0. Then I could plug a linear voltage into V_input1, and plug my V_out into an oscilloscope. This would produce a "2D graph" that I could see on my oscilloscope. If I collect each of these 2D images for EACH fixed value of V_input2, I can line them up such that it forms a 3D graph (where each 2D graph is a "slice" or "cross-section" of the bigger 3D graph).

To me this is a very simple "algorithm" that I can make on my own, but I would prefer if I could just load a prebuilt program that can perform this type of reconstruction for me. I was interested in what types of implementations of this protocol already exist so that I can not waste time reinventing the wheel.

  • \$\begingroup\$ I'm pretty sure you are mistaken. If you can control 2 axes independly, you get a 2D picture. If you put a sweep on one axis, you get a 2D picture with time as one variable. \$\endgroup\$
    – Janka
    May 30, 2019 at 21:21
  • \$\begingroup\$ I used a stepper XY gantry with Laser to burn 2D images with intensity control in either raster scan or vector scan modes with S/W to convert any image. \$\endgroup\$ May 30, 2019 at 21:34
  • 1
    \$\begingroup\$ Excuse me, but this sounds nonsense - it still can be something real, but to see it most of us need some data what physical quantities you can control with your two input signals and what control you want more? We don't have a slightest idea what measurable and observable your 2 signals cause. \$\endgroup\$
    – user136077
    May 30, 2019 at 21:40
  • \$\begingroup\$ You claim to have a laser that responds to 2 axis control, OK ….but you have given no idea what you third axis measurement is. Is it a laser dot you are moving? How do you then measure where the dot is? If you consider current Lidar you have two axis vertical and rotation vectors, but you measure the distance the light travels to create a 3D image ….what is it you want to do? \$\endgroup\$ May 30, 2019 at 21:47
  • \$\begingroup\$ @Janka, you're thinking of a 2D intensity plot, which is equivalent to a 3D surface plot. You can find details about it here \$\endgroup\$ May 30, 2019 at 21:49

2 Answers 2


As far as I know, this already exists.

Many analog oscilloscopes have what is called a "Z" input. This modulates the brightness of the spot. You use the X and Y inputs for your two axis, and the laser intensity goes to the Z input.

Then there's this:

enter image description here

That's an image made by aiming an antenna (X and Y coordinates) and recording the intensity of the radio waves received. The bright blob is the moon.

You can do the same with your two laser control voltages. Scan them both, and record the intensity for each XY combination.

So, kind of like 2.5 dimensions.

Alternatively, go full on 3D. Columns in a cube. X and Y are your inputs, height of the columns are intensity and go in the Z direction.

  • Use three channels on your digitizer.
  • Record laser input 1 and laser input 2, as well as laser intensity 3.
  • Use whatever method you like to control the digitizer and record the values. Some have a simple program that records to CSV files - you could use that.
  • Use something like Veusz to read the CSV file and make images.

I used Veusz to make images like that several times. The moon image above was produced in a similar way.

  • \$\begingroup\$ What exactly could you achieve by modulating the intensity of the laser beam? What would this measure that could be interpreted as 3D? \$\endgroup\$ May 30, 2019 at 21:50
  • \$\begingroup\$ Scanning the two inputs together with the (your "2.5D" case) is a bit trivial since it doesn't give me the entire parameter space I'm interested in. Maybe I'll try to think of a sort of "2.5D" cheat that I can use with a normal scope that would let me go through the whole space. I'm interested in a particular implementation. LIke a program or software that does the heavy-lifting for me. Judging by how unbelievably confused most of the commenters are by my question, I'm guessing that this is a relatively unfamiliar technique to most people who work with electronics. \$\endgroup\$ May 30, 2019 at 21:58
  • \$\begingroup\$ @JackCreasey: You have two variables. It doesn't matter if they are control signals or measured positions. For each pair of variables, you have a third that is the result of the control signals or is a measured value for the position. Plot the two variables as X and Y, the result as intensity or depth. This is also what a digital camera does. X and Y pixel positions with a measured intensity. \$\endgroup\$
    – JRE
    May 30, 2019 at 21:58
  • 1
    \$\begingroup\$ @StevenSagona: More likely, a very familiar thing phrased in a non-standard way. \$\endgroup\$
    – JRE
    May 30, 2019 at 22:00
  • \$\begingroup\$ @JRE Seems like there's a lot of controversy or confusion about my question. Is my language not clear (or maybe particularly confusing to engineers?), or maybe a lot of people in this field don't have a formal math background? \$\endgroup\$ May 30, 2019 at 22:01

I guess you can send a laser beam to the wanted direction. Maybe you have rotatable deflection mirrors or prisms for that purpose. You also can switch the beam on and off when you want, maybe also modulate its intensity to some degree. But you have no way to make a visible dot at the wanted distance in free space in front of the laser transmitter.

Unfortunately we have no other method to make a laser to generate a dot in the wanted place than to have in that place some material which scatters the visible beam or converts UV or IP to visible range. You have the following options:

  • forget it
  • find a transparent material which becomes light scattering or visibly fluorescent only at strong enough excitation.(see NOTE1) Then you have two separate transmitters which both aim to the point where you want a visible dot. The beams are off until both beams have right directions

  • generate a 2D projection of the needed image, do it in stereo like in 3D movies, have shutters or polarization filters in front of the eyes.

NOTE1: Strongness in this case must mean power density

ADD after the question was edited: Seemingly you are not going to draw anything to 3D space with laser beams, but want a way to visualize a time invariant function of 2 variables. You can sample that function from a circuit by stepping one variable and for each step you sweep the other variable linearly through its range. I guess you still must sample each sweep as discrete points, because you probably must rely on digital computers to store the data.

I guess MatLab and Wolfram Mathematica both have the visualization you need. No money for them? Then you can use Microsoft Excel, it has had the ability to plot surface graphs at least 20 years.

Capable programmes can have free and paid plotting libraries. Check this discussion at first: https://www.researchgate.net/post/Please_suggest_some_good_3D_plot_tool_Software_for_surface_plot

  • \$\begingroup\$ I edited the question to be more clear. I guess because I mentioned that this setup involves a laser is what added to the confusion. The fact that a laser is involved is not necessary to answer my question, and these voltage inputs do not do anything to the spatial orientation of the laser. I am just interested in finding a way to visualize what happens to the output of some electrical voltage as I change two inputs (I could simply use an oscilloscope if I wanted to see one of the two inputs). I've added an edit to the question to make this more clear. \$\endgroup\$ May 30, 2019 at 23:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.