Difference between revisions of "Team:Erlangen Nuremberg"

Line 1: Line 1:
<html>
+
<style>
 +
.navbar-default, .navbar-brand {
 +
transition: all 0.5s;
 +
}
  
<head>
+
nav.navbar.navbar-default.navbar-fixed-top.transparent {
    <meta charset="utf-8">
+
background-color: rgba(0, 0, 0, 0);
    <title>iGEM Erlangen Würzburg</title>
+
}
  
 +
.transparent .navbar-brand {
 +
background-image: url('../images/T--Erlangen_Nuremberg--Logo_inverted.png')
 +
}
  
        <!--CSS-->
+
@media (max-width: 1024px) {
        <link rel="stylesheet" type="text/css" href="https://2017.igem.org/Template:Erlangen_Nuremberg/CSS?action=raw&ctype=text/css">
+
div#navbar {
 +
background-color: rgba(255, 255, 255, 0.95);
 +
}
 +
}
  
        <!-- Latest compiled and minified CSS -->
+
.parallax {
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
+
height: 90vh;
 +
/*background: url("images/T--Erlangen_Nuremberg--DNA_String.png.jpeg") no-repeat fixed center;*/
 +
background-color: #000;
 +
background-size: cover;
 +
position: relative;
 +
margin-top: -100px;
 +
}
  
        <!-- Optional theme -->
+
.parallax-heading {
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
+
top: 40%;
 +
position: absolute;
 +
}
  
 +
.parallax h1 {
 +
margin: 0 8.5%;
 +
color: white;
 +
font-weight: 100 !important;
 +
font-size: 2.5em;
 +
background: none;
 +
padding: 10px;
  
        <!-- Latest compiled and minified JavaScript -->
+
}
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+
  
        <!-- scrolling animation -->
+
p:first-child {
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
+
margin: 0;
        <script>
+
}
  
        $(document).ready(function(){
+
/* Turn off parallax scrolling for tablets and phones. Increase/decrease the pixels if needed */
          // Add smooth scrolling to all links
+
@media (max-width: 768px) {
          $("a").on('click', function(event) {
+
.parallax {
 +
background-attachment: scroll;
 +
}
  
            // Make sure this.hash has a value before overriding default behavior
+
.parallax h1 {
            if (this.hash !== "") {
+
font-size: 180%;
 +
font-weight: 100;
 +
}
 +
}
  
              // Store hash
+
    .light{
              var hash = this.hash;
+
        text-align: center;
 +
    }
  
              // Using jQuery's animate() method to add smooth page scroll
+
.light p {
              // The optional number (800) specifies the number of milliseconds it takes to scroll to the specified area
+
margin-left: 20%;
              $('html, body').animate({
+
margin-right: 20%;
                scrollTop: $(hash).offset().top
+
color: #333230;
              }, 800, function(){
+
letter-spacing: 0.5px;
 +
}
  
                // Add hash (#) to URL when done scrolling (default click behavior)
+
.light h2 {
                window.location.hash = hash;
+
font-weight: 100;
              });
+
         letter-spacing: 2px;
            } // End if
+
          });
+
         });
+
        </script>
+
  
</head>
+
}
    <body>
+
        <nav class="navbar navbar navbar-fixed-top">
+
  
            <div class="container-fluid">
+
</style>
                <div class="navbar-header">
+
                    <a class="navbar-brand pull-left" href="#">
+
                        <div class="logo">
+
                            <img src= "https://static.igem.org/mediawiki/2017/c/c8/T--Erlangen_Nuremberg--logotransparentweiß.png" alt="iGEM Logo"/>
+
                        </div>
+
                    </a>
+
                </div>
+
  
                <ul class="nav navbar-nav navbar-right collapse navbar-collapse" data-hover="dropdown" data-animations="zoomIn">
 
                    <li class="home"><a href="#"S>Home</a></li>
 
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" href="#">Notebook</a>
 
                        <ul class="dropdown-menu">
 
                            <li><a href="#">Erlangen</a></li>
 
                            <li><a href="#">Würzburg</a></li>
 
                        </ul>
 
                    </li>
 
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" href="#">Project</a>
 
  
                        <ul class="dropdown-menu">
+
<div class="parallax">
                            <li><a href="#">Project 1</a></li>
+
<canvas style="width: 100%; height: 100%; z-index: -1;"></canvas>
                            <li><a href="#">Project 2</a></li>
+
<div class="parallax-heading"><h1> Development of Novel Biocompatible Tissue for the Application as Artificial
                        </ul>
+
Muscles in
                    </li>
+
Robotics and
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Parts</a>
+
Medicine </h1>
                        <ul class="dropdown-menu">
+
</div>
                            <li><a href="#">Parts 1</a></li>
+
</div>
                            <li><a href="#">Parts 2</a></li>
+
                        </ul>
+
                    </li>
+
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Human Practices</a>
+
                        <ul class="dropdown-menu">
+
                            <li><a href="#">Practices 1</a></li>
+
                            <li><a href="#">Practices 2</a></li>
+
                        </ul>
+
                    </li>
+
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Safety</a>
+
                        <ul class="dropdown-menu">
+
                            <li><a href="#">Safety 1</a></li>
+
                            <li><a href="#">Safety 2</a></li>
+
                        </ul>
+
                    </li>
+
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="team.html">Team</a>
+
                        <ul class="dropdown-menu">
+
                            <li><a href="#">Team 1</a></li>
+
                            <li><a href="#">Team 2</a></li>
+
                        </ul>
+
                    </li>
+
  
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Awards</a>
+
<div class="light">
 +
<h2>Abstract</h2>
 +
<p>
 +
The development of artificial muscles attracts wide interest for industrial and medical
 +
applications. Regarding manufacturing, robotic devices with synthetic muscles are able to
 +
handle softer materials more precisely. Moreover, artificial musculatures in medical
 +
prostheses can improve the wearing comfort while conveying a rather natural feeling.
 +
Currently, muscle-like contractions can be obtained by capacitor systems or by molecular
 +
machines incorporating tissue. This project aims to replace the common materials in both
 +
branches by biological tissue. While increasing ecological friendliness and the compatibility
 +
with human tissue, those fabricated compositions can compete with human biological
 +
material. <br> <br>
 +
Like a capacitor, the dielectric elastomer actuator (DEA) comprises two lightweight and
 +
flexible electrodes separated by an insulating elastomeric layer. In a first set of experiments,
 +
the elastomer layers in the capacitor-based muscle need to be replaced by appropriate protein
 +
structures. P-Pili with their excellent elastic properties and proteins with high amounts of
 +
helical secondary architecture are to be tested for this approach. In a next step, the currently
 +
used light weighted graphene or carbon nanotube layers need to be replaced by the Pili to
 +
provide conductivity and flexibility comparable to the carbon nanotubes. Both fibril types can
 +
be easily expressed in Geobacter sulflurreducens and Escherichia coli in a large scale, which
 +
makes the overall system extremely feasible since one organism can provide the whole
 +
material. <br> <br>
 +
Another tissue with muscle-like contractions will be fabricated through polymers with
 +
integrated molecular machines. Herein, the latter are based on azo dyes capable of having
 +
their entire network contracted by light irradiation. The biopolymer matrix is fabricated by
 +
Escherichia coli and consists of catcher-tag systems modified with a biotin-accepting anchor.
 +
The molecular machines attach to the biopolymer tissue via biotin and biotin acceptor
 +
interactions. Due to the crosslinking of the single protein strains the stiffness of the resulting
 +
tissue can be adjusted accurately. <br> <br>
 +
In both cases, the achieved tissues are cell-free and can immediately be adapted to the system.
 +
Within the scope of the project, the construction of a DEA-prototype is planned, since the
 +
realization of electrical stimuli is more feasible than through photo-induced signals.
 +
</p>
 +
</div>
  
                        <ul class="dropdown-menu">
+
<script>
                            <li><a href="#">Awards 1</a></li>
+
/* CANVAS */
                            <li><a href="#">Awards 2</a></li>
+
/*
                        </ul>
+
* requestAnimationFrame pollyfill
                    </li>
+
*/
                </ul>
+
if (!window.requestAnimationFrame) {
            </div>
+
window.requestAnimationFrame = (window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || function(callback) {
        </nav>
+
return window.setTimeout(callback, 1000 / 60);
 +
});
 +
}
  
          <div class="backgroundimage" >
+
/*!
        <div class ="projectname">
+
* Mantis.js / jQuery / Zepto.js plugin for Constellation
            <h2>iGEM Project 2017</h2>
+
* @version 1.2.2
        </div>
+
* @author Acauã Montiel <contato@acauamontiel.com.br>
 +
* @license http://acaua.mit-license.org/
 +
*/
 +
(function($, window) {
 +
/**
 +
* Makes a nice constellation on canvas
 +
* @constructor Constellation
 +
*/
 +
function Constellation(canvas, options) {
 +
var $canvas = $(canvas),
 +
context = canvas.getContext('2d'),
 +
defaults = {
 +
star : {
 +
color : 'rgba(255, 255, 255, .5)',
 +
width : 1,
 +
randomWidth : true
 +
},
 +
line : {
 +
color : 'rgba(255, 255, 255, .5)',
 +
width : 0.2
 +
},
 +
position : {
 +
x : 0, // This value will be overwritten at startup
 +
y : 0 // This value will be overwritten at startup
 +
},
 +
width : window.innerWidth,
 +
height : window.innerHeight,
 +
velocity : 0.1,
 +
length : 100,
 +
distance : 120,
 +
radius : 150,
 +
stars : []
 +
},
 +
config = $.extend(true, {}, defaults, options);
  
    <div class= "project">
+
function Star() {
        <div class = "content">
+
this.x = Math.random() * canvas.width;
            <h2> Development of Novel Biocompatible Tissue for the Application as Artificial Muscles in Robotics and Medicine </h2>
+
this.y = Math.random() * canvas.height;
            <p> The development of artificial muscles attracts wide interest for industrial and medical
+
  
applications. Regarding manufacturing, robotic devices with synthetic muscles are able to
+
this.vx = (config.velocity - (Math.random() * 0.5));
 +
this.vy = (config.velocity - (Math.random() * 0.5));
  
handle softer materials more precisely. Moreover, artificial musculatures in medical
+
this.radius = config.star.randomWidth ? (Math.random() * config.star.width) : config.star.width;
 +
}
  
prostheses can improve the wearing comfort while conveying a rather natural feeling.
+
Star.prototype = {
 +
create : function() {
 +
context.beginPath();
 +
context.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false);
 +
context.fill();
 +
},
  
Currently, muscle-like contractions can be obtained by capacitor systems or by molecular
+
animate : function() {
 +
var i;
 +
for (i = 0; i < config.length; i++) {
  
machines incorporating tissue. This project aims to replace the common materials in both
+
var star = config.stars[i];
  
branches by biological tissue. While increasing ecological friendliness and the compatibility
+
if (star.y < 0 || star.y > canvas.height) {
 +
star.vx = star.vx;
 +
star.vy = -star.vy;
 +
} else if (star.x < 0 || star.x > canvas.width) {
 +
star.vx = -star.vx;
 +
star.vy = star.vy;
 +
}
  
with human tissue, those fabricated compositions can compete with human biological
+
star.x += star.vx;
 +
star.y += star.vy;
 +
}
 +
},
  
material. <br /> <br />
+
line : function() {
 +
var length = config.length,
 +
iStar,
 +
jStar,
 +
i,
 +
j;
  
Like a capacitor, the dielectric elastomer actuator (DEA) comprises two lightweight and
+
for (i = 0; i < length; i++) {
 +
for (j = 0; j < length; j++) {
 +
iStar = config.stars[i];
 +
jStar = config.stars[j];
  
flexible electrodes separated by an insulating elastomeric layer. In a first set of experiments,
+
if (
 +
(iStar.x - jStar.x) < config.distance &&
 +
(iStar.y - jStar.y) < config.distance &&
 +
(iStar.x - jStar.x) > -config.distance &&
 +
(iStar.y - jStar.y) > -config.distance
 +
) {
 +
if (
 +
(iStar.x - config.position.x) < config.radius &&
 +
(iStar.y - config.position.y) < config.radius &&
 +
(iStar.x - config.position.x) > -config.radius &&
 +
(iStar.y - config.position.y) > -config.radius
 +
) {
 +
context.beginPath();
 +
context.moveTo(iStar.x, iStar.y);
 +
context.lineTo(jStar.x, jStar.y);
 +
context.stroke();
 +
context.closePath();
 +
}
 +
}
 +
}
 +
}
 +
}
 +
};
  
the elastomer layers in the capacitor-based muscle need to be replaced by appropriate protein
+
this.createStars = function() {
 +
var length = config.length,
 +
star,
 +
i;
  
structures. P-Pili with their excellent elastic properties and proteins with high amounts of
+
context.clearRect(0, 0, canvas.width, canvas.height);
  
helical secondary architecture are to be tested for this approach. In a next step, the currently
+
for (i = 0; i < length; i++) {
 +
config.stars.push(new Star());
 +
star = config.stars[i];
  
used light weighted graphene or carbon nanotube layers need to be replaced by the Pili to
+
star.create();
 +
}
  
provide conductivity and flexibility comparable to the carbon nanotubes. Both fibril types can
+
star.line();
 +
star.animate();
 +
};
  
be easily expressed in Geobacter sulflurreducens and Escherichia coli in a large scale, which
+
this.setCanvas = function() {
 +
canvas.width = config.width;
 +
canvas.height = config.height;
 +
};
  
makes the overall system extremely feasible since one organism can provide the whole
+
this.setContext = function() {
 +
context.fillStyle = config.star.color;
 +
context.strokeStyle = config.line.color;
 +
context.lineWidth = config.line.width;
 +
};
  
material. <br /> <br />
+
this.setInitialPosition = function() {
 +
if (!options || !options.hasOwnProperty('position')) {
 +
config.position = {
 +
x : canvas.width * 0.5,
 +
y : canvas.height * 0.5
 +
};
 +
}
 +
};
  
Another tissue with muscle-like contractions will be fabricated through polymers with
+
this.loop = function(callback) {
 +
callback();
  
integrated molecular machines. Herein, the latter are based on azo dyes capable of having
+
window.requestAnimationFrame(function() {
 +
this.loop(callback);
 +
}.bind(this));
 +
};
  
their entire network contracted by light irradiation. The biopolymer matrix is fabricated by
+
this.bind = function() {
 +
$canvas.on('mousemove', function(e) {
 +
config.position.x = e.pageX - $canvas.offset().left;
 +
config.position.y = e.pageY - $canvas.offset().top;
 +
});
 +
};
  
Escherichia coli and consists of catcher-tag systems modified with a biotin-accepting anchor.
+
this.init = function() {
 +
this.setCanvas();
 +
this.setContext();
 +
this.setInitialPosition();
 +
this.loop(this.createStars);
 +
this.bind();
 +
};
 +
}
  
The molecular machines attach to the biopolymer tissue via biotin and biotin acceptor
+
$.fn.constellation = function(options) {
 +
return this.each(function() {
 +
var c = new Constellation(this, options);
 +
c.init();
 +
});
 +
};
 +
})($, window);
  
interactions. Due to the crosslinking of the single protein strains the stiffness of the resulting
+
// Init plugin
 
+
$('canvas').constellation({
tissue can be adjusted accurately. <br /> <br />
+
star : {
 
+
width : 3
In both cases, the achieved tissues are cell-free and can immediately be adapted to the system.
+
},
 
+
line : {
Within the scope of the project, the construction of a DEA-prototype is planned, since the
+
color : 'rgba(68, 157, 209, .8)'
 
+
},
realization of electrical stimuli is more feasible than through photo-induced signals.</p>
+
radius : 250
           
+
});
        </div>
+
    </div>
+
+
 
+
 
+
    <div class = "bottom" >
+
 
+
    <div class = "sponsors">
+
        <p>SPONSORS</p>
+
        <img href ="http://www.armon.de/fileadmin/_migrated/pics/igzlogo.gif">
+
    </div>
+
    <div class="contactus">
+
        <div class = "Logo">
+
        <a target = _blank/.self href = "https://de-de.facebook.com/igemErlangen/">
+
        <img src = "http://www.platformers-days.de/assets/default/images/facebook_icon.png" alt = "facebookLogo" width = "17px" height = "17px"> </a>
+
 
+
        <a target = _blank/.self href = https://twitter.com/igem_v?langen>
+
        <img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTeThjb-3xDVDkqpeSclNCpSEAy8vce1GCj5OeswZvk8Q1_RQ9b" alt = "TwitterLogo" width = "17px" height = "17px"> </a>
+
        <span id="copyright">Copyright © Würzburg University Team Website 2017</span>
+
        </div>
+
 
+
    </div>
+
 
+
          </div>
+
</div>
+
  
    </body>
+
/* NAVIGATION STYLING */
</html>
+
$(document).ready(function() {
 +
var navbar = $($(".navbar")[0]);
 +
navbar.addClass("transparent");
 +
$(window).scroll(function() {
 +
var parallax = $($(".parallax")[0]);
 +
var parallaxBottom = parallax.offset().top + parallax.height();
 +
var navbarBottom = $(window).scrollTop() + navbar.height();
 +
if (navbarBottom < parallaxBottom) {
 +
navbar.addClass("transparent");
 +
} else {
 +
navbar.removeClass("transparent");
 +
}
 +
})
 +
})
 +
</script>
 +
{{Erlangen_Nuremberg/Footer}}

Revision as of 08:30, 10 July 2017

<style> .navbar-default, .navbar-brand { transition: all 0.5s; }

nav.navbar.navbar-default.navbar-fixed-top.transparent { background-color: rgba(0, 0, 0, 0); }

.transparent .navbar-brand { background-image: url('../images/T--Erlangen_Nuremberg--Logo_inverted.png') }

@media (max-width: 1024px) { div#navbar { background-color: rgba(255, 255, 255, 0.95); } }

.parallax { height: 90vh; /*background: url("images/T--Erlangen_Nuremberg--DNA_String.png.jpeg") no-repeat fixed center;*/ background-color: #000; background-size: cover; position: relative; margin-top: -100px; }

.parallax-heading { top: 40%; position: absolute; }

.parallax h1 { margin: 0 8.5%; color: white; font-weight: 100 !important; font-size: 2.5em; background: none; padding: 10px;

}

p:first-child { margin: 0; }

/* Turn off parallax scrolling for tablets and phones. Increase/decrease the pixels if needed */ @media (max-width: 768px) { .parallax { background-attachment: scroll; }

.parallax h1 { font-size: 180%; font-weight: 100; } }

   .light{
       text-align: center;
   }

.light p { margin-left: 20%; margin-right: 20%; color: #333230; letter-spacing: 0.5px; }

.light h2 { font-weight: 100;

       letter-spacing: 2px;

}

</style>


<canvas style="width: 100%; height: 100%; z-index: -1;"></canvas>

Development of Novel Biocompatible Tissue for the Application as Artificial

Muscles in Robotics and

Medicine

Abstract

The development of artificial muscles attracts wide interest for industrial and medical applications. Regarding manufacturing, robotic devices with synthetic muscles are able to handle softer materials more precisely. Moreover, artificial musculatures in medical prostheses can improve the wearing comfort while conveying a rather natural feeling. Currently, muscle-like contractions can be obtained by capacitor systems or by molecular machines incorporating tissue. This project aims to replace the common materials in both branches by biological tissue. While increasing ecological friendliness and the compatibility with human tissue, those fabricated compositions can compete with human biological material.

Like a capacitor, the dielectric elastomer actuator (DEA) comprises two lightweight and flexible electrodes separated by an insulating elastomeric layer. In a first set of experiments, the elastomer layers in the capacitor-based muscle need to be replaced by appropriate protein structures. P-Pili with their excellent elastic properties and proteins with high amounts of helical secondary architecture are to be tested for this approach. In a next step, the currently used light weighted graphene or carbon nanotube layers need to be replaced by the Pili to provide conductivity and flexibility comparable to the carbon nanotubes. Both fibril types can be easily expressed in Geobacter sulflurreducens and Escherichia coli in a large scale, which makes the overall system extremely feasible since one organism can provide the whole material.

Another tissue with muscle-like contractions will be fabricated through polymers with integrated molecular machines. Herein, the latter are based on azo dyes capable of having their entire network contracted by light irradiation. The biopolymer matrix is fabricated by Escherichia coli and consists of catcher-tag systems modified with a biotin-accepting anchor. The molecular machines attach to the biopolymer tissue via biotin and biotin acceptor interactions. Due to the crosslinking of the single protein strains the stiffness of the resulting tissue can be adjusted accurately.

In both cases, the achieved tissues are cell-free and can immediately be adapted to the system. Within the scope of the project, the construction of a DEA-prototype is planned, since the realization of electrical stimuli is more feasible than through photo-induced signals.

<script> /* CANVAS */ /* * requestAnimationFrame pollyfill */ if (!window.requestAnimationFrame) { window.requestAnimationFrame = (window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame || function(callback) { return window.setTimeout(callback, 1000 / 60); }); }

/*! * Mantis.js / jQuery / Zepto.js plugin for Constellation * @version 1.2.2 * @author Acauã Montiel <contato@acauamontiel.com.br> * @license http://acaua.mit-license.org/ */ (function($, window) { /** * Makes a nice constellation on canvas * @constructor Constellation */ function Constellation(canvas, options) { var $canvas = $(canvas), context = canvas.getContext('2d'), defaults = { star : { color : 'rgba(255, 255, 255, .5)', width : 1, randomWidth : true }, line : { color : 'rgba(255, 255, 255, .5)', width : 0.2 }, position : { x : 0, // This value will be overwritten at startup y : 0 // This value will be overwritten at startup }, width : window.innerWidth, height : window.innerHeight, velocity : 0.1, length : 100, distance : 120, radius : 150, stars : [] }, config = $.extend(true, {}, defaults, options);

function Star() { this.x = Math.random() * canvas.width; this.y = Math.random() * canvas.height;

this.vx = (config.velocity - (Math.random() * 0.5)); this.vy = (config.velocity - (Math.random() * 0.5));

this.radius = config.star.randomWidth ? (Math.random() * config.star.width) : config.star.width; }

Star.prototype = { create : function() { context.beginPath(); context.arc(this.x, this.y, this.radius, 0, Math.PI * 2, false); context.fill(); },

animate : function() { var i; for (i = 0; i < config.length; i++) {

var star = config.stars[i];

if (star.y < 0 || star.y > canvas.height) { star.vx = star.vx; star.vy = -star.vy; } else if (star.x < 0 || star.x > canvas.width) { star.vx = -star.vx; star.vy = star.vy; }

star.x += star.vx; star.y += star.vy; } },

line : function() { var length = config.length, iStar, jStar, i, j;

for (i = 0; i < length; i++) { for (j = 0; j < length; j++) { iStar = config.stars[i]; jStar = config.stars[j];

if ( (iStar.x - jStar.x) < config.distance && (iStar.y - jStar.y) < config.distance && (iStar.x - jStar.x) > -config.distance && (iStar.y - jStar.y) > -config.distance ) { if ( (iStar.x - config.position.x) < config.radius && (iStar.y - config.position.y) < config.radius && (iStar.x - config.position.x) > -config.radius && (iStar.y - config.position.y) > -config.radius ) { context.beginPath(); context.moveTo(iStar.x, iStar.y); context.lineTo(jStar.x, jStar.y); context.stroke(); context.closePath(); } } } } } };

this.createStars = function() { var length = config.length, star, i;

context.clearRect(0, 0, canvas.width, canvas.height);

for (i = 0; i < length; i++) { config.stars.push(new Star()); star = config.stars[i];

star.create(); }

star.line(); star.animate(); };

this.setCanvas = function() { canvas.width = config.width; canvas.height = config.height; };

this.setContext = function() { context.fillStyle = config.star.color; context.strokeStyle = config.line.color; context.lineWidth = config.line.width; };

this.setInitialPosition = function() { if (!options || !options.hasOwnProperty('position')) { config.position = { x : canvas.width * 0.5, y : canvas.height * 0.5 }; } };

this.loop = function(callback) { callback();

window.requestAnimationFrame(function() { this.loop(callback); }.bind(this)); };

this.bind = function() { $canvas.on('mousemove', function(e) { config.position.x = e.pageX - $canvas.offset().left; config.position.y = e.pageY - $canvas.offset().top; }); };

this.init = function() { this.setCanvas(); this.setContext(); this.setInitialPosition(); this.loop(this.createStars); this.bind(); }; }

$.fn.constellation = function(options) { return this.each(function() { var c = new Constellation(this, options); c.init(); }); }; })($, window);

// Init plugin $('canvas').constellation({ star : { width : 3 }, line : { color : 'rgba(68, 157, 209, .8)' }, radius : 250 });

/* NAVIGATION STYLING */ $(document).ready(function() { var navbar = $($(".navbar")[0]); navbar.addClass("transparent"); $(window).scroll(function() { var parallax = $($(".parallax")[0]); var parallaxBottom = parallax.offset().top + parallax.height(); var navbarBottom = $(window).scrollTop() + navbar.height(); if (navbarBottom < parallaxBottom) { navbar.addClass("transparent"); } else { navbar.removeClass("transparent"); } }) }) </script>

Sponsors

Foundations