Re: Output x/y position of a knuckle line at a given station

DELFTship forum Hull modeling Output x/y position of a knuckle line at a given station Re: Output x/y position of a knuckle line at a given station

#35437
michael f. berg
Participant

Dear Bryan,

are you familiar with MS-EXCEL?

Then you could try this:
Put stations (View->Intersections), click on the left most icon, where you want to know the knuckle points. In “Display” switch on only the stations. Then File->Export->DXF 2D Polylines, MARK Create individual files.
Use edit to read and understand what is written in these files.
The DXF-format is readable for humans even if it is very lengthy…

Write a short Basic, Pascal, Java or whatever you like program to convert the DXF-File into a *.TXT having only the co-ordinate information in x,y,z always in one line.

Import this into an EXCEL-table. So f.i. you will have x-values in Col A, y-values in column B, z-values in column C.
In Column E calculate the successive differences of column A. I.e. in E1 you write
=A2-A1, in E2 you write =A3-A2 and FILL the column E downward as longs as there a numbers in columns A,B,C. Then copy Column E to F and to G.
What you have done then is to calculate the tangent vector to your station.
Knuckle point have a JUMP in the tangent, haven’t they?

Now do a similar procedure in column I: I1 contains =E2-E1, I2 contains =E3-E2;
Simply copy column E to I, J and K.
Now you have sort of the second derivative of A,B,C in columns I,J,K.

In column M write the following: In M1 =sqrt(I1^2+J^+2+K1^2). Fill downwards to the end of all numbers. This is the absolute value of the curvature of your station, and it must be big at knuckles and quite small in between.
So column M gives a MARK every where in A,B,C is a knuckle point.

Actually you can also write a second Basic, Pascal or Java program reading in the *.TXT file line by line and -forgetting nearly collinear points- writing only knuckle points to a new *.txt file: Thats what you would prefer, I guess.

Try it and don’t hesitate to ask for more help if necessary.

Kind regards
michaelf