Commit f895d92a authored by Taddeüs Kroes's avatar Taddeüs Kroes

Added portfolio assignment Revision Control, committed some old modifications.

parent ab3f48c5
No preview for this file type
/*
* Turing machine adding two numbers in base 2.
*
* Authors: Richard Torenvliet, Taddeus Kroes, Sander van Veen, Jayke meijer
* Author: Taddeus Kroes
* Usage: ./sum <num1>#<num2>
* Example: gcc -o sum turingsum.c -std=c99 -O3 && ./sum 10001001011#101010101001110
* should output 101100110011001
*/
#include<stdio.h>
......@@ -68,11 +71,18 @@ int char_to_index(char c)
int main(int argc, char **args)
{
int position = 1, q = 0, i;
int position, q = 0, i;
char *c, strip[STRIP_LENGTH + 1];
if( argc < 2 )
{
puts("No input given");
return 1;
}
strip[STRIP_LENGTH] = EOS;
// Fill strip with input and blanks
for( position = 0; position < STRIP_LENGTH/2; position++ )
strip[position] = 'B';
......@@ -103,15 +113,12 @@ int main(int argc, char **args)
q = state[q][i];
}
// Print more readable answer
printf("\nAnswer: ", strip, HALT_STATE);
for( i = 0; i < STRIP_LENGTH; i++ )
{
c = strip + i;
if( *c != 'B' )
if( *(c = strip + i) != 'B' )
printf("%c", *c);
}
puts("\n");
......
......@@ -16,7 +16,7 @@
#include <assert.h>
#include "bsp.h"
#define DOTPROD_TRESHOLD 1e-3
#define DOTPROD_TRESHOLD 1.0e-3
/* Given a list of polygons builds a BSP tree by recursively choosing
* one polygon that defines a split plane and dividing the other polygons
......
......@@ -31,6 +31,8 @@
#include "geometry.h"
#include "bsp.h"
#define DOTPROD_TRESHOLD 1.0e-3
struct texture_data
{
const char *filename;
......@@ -409,26 +411,29 @@ DrawBSPTree(BSPNode *node, vec3 eye_position)
if( !node )
return;
BSPNode *first, *last;
poly p = node->polygon;
float dot = v3_dotprod(v3_subtract(eye_position, p.pts[0]), p.normal[0]);
// Check if the eye position is on the left or right side of the polygon
if( v3_dotprod(v3_subtract(eye_position, p.pts[0]), p.normal[0]) > 0 )
// Draw the tree on the other side of the polygon from the eye point, then
// the polygon itself and finally the tree on the same side of the polygon.
if( dot > DOTPROD_TRESHOLD )
{
first = node->right_child;
last = node->left_child;
DrawBSPTree(node->right_child, eye_position);
DrawPolygon(p);
DrawBSPTree(node->left_child, eye_position);
}
else
{
first = node->left_child;
last = node->right_child;
}
DrawBSPTree(node->left_child, eye_position);
// Draw the tree on the other side of the polygon from the eye point, then
// the polygon itself and finally the tree on the same side of the polygon
DrawBSPTree(first, eye_position);
// If the eye position is on the plane, the plane is invisible and
// should not be drawn. This is determined using a treshold (the
// same as in bsp.c)
if( dot < -DOTPROD_TRESHOLD )
DrawPolygon(p);
DrawBSPTree(last, eye_position);
DrawBSPTree(node->right_child, eye_position);
}
}
void
......
\documentclass{article}
\usepackage{url}
\usepackage[dutch]{babel}
\usepackage{listings}
\title{Portfolio Informatica \\
Opdracht Revision Control - Git \\
Tadde\"us Kroes (6054129)}
\begin{document}
\maketitle
\section{Mijn RCS van keuze}
Ik heb gekozen voor het DRCS Git. Ik kies hiervoor omdat ik het zelf gebruik
voor het werken aan groepsopdrachten voor de studie en ik het prettig vind
werken. Ik heb in het verleden ook SVN gebruikt en ik heb gemerkt dat Git toch
en aantal voordelen waarvan enkele zijn:
\begin{itemize}
\item Git is sneller, het werkt namelijk met een lokale repository. Je werkt dus
allereerst vanuit je eigen harde schijf en pas na een definitieve wijziging
'commit' je je werk naar de server. Bij een CRCS als bijvoorbeeld SVN is er
altijd internetverbinding nodig voor een commit waar dit bij git dus alleen
nodig is om de commit op de server te plaatsen (te 'pushen'). Dit werkt erg
prettig voor mij persoonlijk als ik op mijn laptop werk en geen beschikking over
een internetverbinding heb. Ook bij de communicatie met de server is Git zeer
snel, dit komt doordat het aanvankelijk is ontwikkeld voor het werken aan de
Linux-kernel waarbij snelheid en effici\"entie een must zijn.
\item Door het gedecentraliseerde karakter laat Git toe dat ik met een bepaalde
persoon een totaal andere versie kan delen dan met een andere persoon wat erg
handig is als je met verschillende personen in meerdere werkgroepen zit.
\end{itemize}
Ik ga nu niet verdere in op alle voor- en nadelen van verschillende revision
control systemen, want dat zou een paper op zich worden. Ik wil met bovenstaande
slexhcts duidelijk maken waarom ik kies voor Git in deze opdracht.
\section{Vragenlijst}
In de opdracht staat een lijst met een aantal vragen en opdrachten. Deze zal ik
hier met bijbehorende nummers proberen te beantwoorden.
\begin{enumerate}
\item Ik gebruik als working repository mijn eigen 'uva'-repository van waaruit
\end{enumerate}
\end{document}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment