In order to find the apparent dip of bedding, strikes must be projected into a cross section line. The azimuth of that segment of cross section line must be found.
I did this in my GIS apparent dip script by creating a geospatial straight-edge and using it as a protractor.
Using a point on the cross section line at which a projected strike line intersects as the origin, I offset to the west a known distance (in this case, 0.5 map units, or as is often the case, 0.5 meters). From that offset, I have OGR create a line feature that goes due north for 20 or so map units. The line also extends 20 map units due south from the offset point (we want to make sure we can intersect the cross section line no matters its trend). The idea is the straight-edge/protractor will intersect the cross section line providing it isn't trending due north.
Once the straight-edge intersects, we have a distance from our known offset point. It is then a simple matter of using inverse tangent to find the angle that the cross section line makes from the north.
But what happens if the due north straight-edge NEVER intersects the cross section line? Given how small of a distance it is offset from the line to the west, we can easily assume that the two lines are essentially parallel. Thus we call the azimuth of that segment of cross section line 000° azimuth.
All of this, of course, is automated in a Python script and it is a measure made every time a projected strike line intersects the cross section line. It does this because cross section lines can change direction.
By the way, if you have a geologic problem that would benefit from scripting, leave a comment. If it is something that would be useful to me, I just might write a script. Keep in mind I am an undergraduate student, so there will be a limited number of useful ideas :-)