# Cone surface definition in relation to other geometries, and intersection of cone surface and plane

I am new to Blender and would like to create a 3D graphic for a technical paper.

The three-view drawing of what I need is shown below. There is a line (purple in the figure) that intersects with the x-axis at a point "a". It has the angle mu with the x-axis and the angle theta from the z-axis when looked at from the -x direction. There is a cone surface (green in the figure) with its axis parallel to the x-axis. The axis of the cone surface has a distance r from the x-axis. The purple line is on the cone surface. I want to show how the intersection (red in the figure) of the cone surface and the xy-plane changes when r is changed, and intersection a is unchanged. How can this be achieved? If Blender is not suitable for this kind of graphic, please provide recommendations for other software.

I have read some manuals, seen some tutorials, and tried multiple times. Here is an example of what I have tried.

I set the origin of the cone surface to its apex and added "Clamp To" constraint with the line (purple in the figure above) as a target. I added an armature to the base of the cone surface and added a hook modifier to the base of the cone surface so that it follows the armature. I added "Clamp To" constraint to the armature with the line (purple in the figure above) as a target. I hoped that when I scale the cone surface, it is always on the line. However, for some reason, it cannot be scaled when I scale the cone surface. I was planning to add more constraints to achieve what I need but this model does not work at this point already.

I don't know if Blender is a best tool to do it or if this proposal is the best approach.

Using geometry nodes you can define a cone, put a horizontal line above it and project this line vertically to the cone (we could calculate a hyperbola also, but I think this approach is more simple).

The cone is created with a given depth and with a radius calculated using mu angle and shifted down (per choice) so that its summit is at 0.

Then the cone is shifted so that it corresponds to the theta/R constraint.

The line is created above the cone, so that it correspond to the cone diameter, using the cone bounding box (we don't want to guess the exact length here, the next step will do it for us).

Then the line is projected on the cone using a raycast. Either it hits the cone and the line point is placed at this hit position or it does not and the point is eliminated.

At the end, you can rotate the figure so that it fits to your question (but it is harder to navigate in Blender when axis are presented like this).

(Blender 4.0)