Το καλύτερο από όλα είναι πως κάποτε ήξερα γιατί έπρεπε να κάνω την παραπάνω μεταγλώτισση (και όχι ‘μετάφραση’ για να ακριβολογούμε...). Είχα ένα σχέδιο, ένα μεγαλφυές πλάνο άμα θέλετε, είχα στο νου μου τι πρέπει να κάνω με τους διάφορους κώδικες, που και πως πρέπει να επέμβω στη διαδικασία βελτιστοποίησης, και πως θα ενσωμάτωνα τον εμπλουτισμό της γεωμετρίας.... όλα αυτά τα έχω ξεχάσει. Τελείως. Και τώρα πρέπει να σκεφτώ αυτό το περίφημο σχέδιο πάλι από την αρχή. Όμορφα. Αχ, ανέμελες οι εποχές που είχα ακαδημαϊκά ενδιαφέροντα!
Οι εν λόγω κώδικες verbatim είναι οι εξής 2:
// Basis Function.
// INPUT:
// i - knot span ( from FindSpan() )
// u - parametric point
// p - spline degree
// U - knot sequence
// OUTPUT:
// N - Basis functions vector[p+1]
// Algorithm A2.2 from 'The NURBS BOOK' pg70.
void basisfun(int i, double u, int p, double *U, double *N)
{
int j,r;
double saved, temp;
// work space
double *left = (double*) mxMalloc((p+1)*sizeof(double));
double *right = (double*) mxMalloc((p+1)*sizeof(double));
N[0] = 1.0;
for (j = 1; j <= p; j++)
{
left[j] = u - U[i+1-j];
right[j] = U[i+j] - u;
saved = 0.0;
for (r = 0; r <>
{
temp = N[r] / (right[r+1] + left[j-r]);
N[r] = saved + right[r+1] * temp;
saved = left[j-r] * temp;
}
N[j] = saved;
}
mxFree(left);
mxFree(right);
}
και
// Find the knot span of the parametric point u.
// INPUT:
// n - number of control points - 1
// p - spline degree
// u - parametric point
// U - knot sequence
// RETURN:
// s - knot span
// Algorithm A2.1 from 'The NURBS BOOK' pg68
int findspan(int n, int p, double u, double *U)
{
int low, high, mid;
// special case
if (u == U[n+1]) return(n);
// do binary search
low = p;
high = n + 1;
mid = (low + high) / 2;
while (u <>= U[mid+1])
{
if (u <>
high = mid;
else
low = mid;
mid = (low + high) / 2;
}
return(mid);
}
Δεν έχω τη παραμικρή ιδέα πόσους κανόνες clopyright (no spelling errors intended) παραβιάζω, αλλά σήμερα νιώθω λίγο ριψοκίνδυνος, κάτι σαν την αμυντική γραμμή της ομαδάρας.
Στα παρελκόμενα των προηγούμενων ημερών, είχαμε την κατά με απογοητευτική Berlinale inAthens με τον πλεόν διαβόητο ‘συγχρονισμένο υποτιτλισμό΄’ (!!!!), με τα ‘A Friend of Mine’ (ζωηρή αλλά και σκηνοθετικά σοβαρή και ευχάριστη, και με happy end) και το ‘Spider Lillies’ (λεσβίες και σχιζοειδλη συμπεριφορά made in Taiwan, γουστάρω!) να είναι τα καλύτερα από τα πολύ λίγα που πρόλαβα να δω, ενώ το Fast Food Nation και το When a Man Falls in theForest να αδικούν τον απο-βιομηχανοποιημένο αμερικάνικο κινηματογράφο. Μπέρtheway, αν και ψήνομαι τρελλά, δεν θα υποκύψω στο πειρασμό να κράξω το Gazarte.
Κατά τα άλλα, δουλειά, δουλειά, και πάλι δουλειά, με μπόλικους εκνευρισμούς, ηλιθιότητες και ηλιθίους (μεταξύ αυτών κι εγώ φυσικά!) εκκρεμότητες (νέο φυλλάδιο, νέο website, wireless δίκτυο, επαναπροσδιορισμός του availability and tares grid στα GDS και άλλα....) και μια δικαιολογημένη αίσθηση πως πλησιάζει κάποια στραβή στη γωνία. Άμα περάσει και η Milan, την κάτσαμε τη βάρκα με τις ακυρώσεις για τις 23 του Μαίου.
Όπως και να έχει, έχω καταφέρει και ακόμα κρατώ τα ράματα στα ούλα μου (δεν έχω τη παραμικρή ιδέα για τις επιπτώσεις), γεγονός το οποίο μάλλον αντιρποσωπεύει την ελαφρότητα με την οποία αντιμετώπιζω το χρόνο. Όπως λόγου χάρη η ξαδέρφη μου, η οποία έχει τα γενέθλιά της σήμερα, και παντρεύεται σε λίγες μέρες. Ούτε δώρα έχω σκεφτεί, ούτε έχω πάει για κοστούμι, το κούρεμα θα γίνει παράδειγμα αναβλητικότητας, ενώ διερωτώμαι γιατί πρέπει να αγοράσω άλλο ένα ζευγάρι παπούτσα. Ξεφτίλα σκέτη, και το χειρότερο είναι πως ούτε καν αγχώνομαι, κουβαλάω πάνω μου φαίνεται μια φαιδρή σιγουρία πως κάπως θα τα βολέψω πάλι. Λες;
Υ.Γ.Έμαθα πως ο Σαρμπέλ αγόρασε κάτι ομόλογα για να ξεπληρώσει τα καμμένα αμάξια των Εξαρχείων που παρασύρθηκαν στον βυθό της Σαντορίνης η οποία πωλείται για να καλύψει τα έξοδα των νέων μεταγραφικών στόχων της Εθνικής ή οποία προβλέπεται να μετακομίσει στην Γουανδελούπη. Αληθεύει;