mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-11 10:53:45 +01:00
27 lines
655 B
Text
27 lines
655 B
Text
pkg load optim;
|
|
|
|
function y = f (x)
|
|
|
|
y = [
|
|
(
|
|
(x(3) - x(1)) * (x(7) - x(5)) +
|
|
(x(4) - x(2)) * (x(8) - x(6))
|
|
) ^ 2,
|
|
(
|
|
(x(11) - x(9)) * (x(7) - x(5)) +
|
|
(x(12) - x(10)) * (x(8) - x(6))
|
|
) ^ 2];
|
|
y(3) = 0;y(4) = 0;y(5) = 0;y(6) = 0;y(7) = 0;y(8) = 0;
|
|
y(9) = 0;y(10) = 0;y(11) = 0;y(12) = 0;
|
|
endfunction
|
|
|
|
x0 = [100, 100, 600, 600, 700, 600, 900, 100, 1100, 100, 1600, 600];
|
|
#x = fminunc(@f, reshape(x0, 12,1));
|
|
x = fsolve(@f, x0); #WORKS!
|
|
|
|
#x = x0;
|
|
l1 = [x(1), x(2); x(3), x(4)];
|
|
l2 = [x(5), x(6); x(7), x(8)];
|
|
l3 = [x(9), x(10); x(11), x(12)];
|
|
|
|
plot(l1(:,1), l1(:,2), l2(:,1), l2(:,2), l3(:,1), l3(:,2),'-');
|