Monday, 28 May 2018

Best tools for Creating animation

I know you had wondered how anime like Naruto,  bleach,  avatar was created and how long it took each individual company to produce them.  Here is almost of software that is unstable for such anime and can also be used by a solo artist.

1. Blender: for 3d and 2d anime blender is your best shot at things you won't regret it
2. Synfig: for cutout animation it's best you use synfig
3. Pencil2d: similar to synfig but poses a Lo OT of quality and options for you to use
4. Maya.
5. Cinema 4d

Share:

Sunday, 27 May 2018

WRITING A COMPUTER SCIENCE CV AND RESUME

A lot is going on the work industry for computer scientist. as most people who neither graduated from this field nor any related field have been able to learn programming outside without  professional touch.  What makes a computer scientist stand out of the crowd is you just didn't learn to code alone but you understand the anatomy of the language system of a computer. Meaning you can relate well with it like a child speaking to his own relative.

So how do you write your CV different from the rest.

1. Make sure to state clearly the basic information about yourself
2. State the department you graduated from.
3. Never be shy to write all you can do to and on a computer.
4. Write something about a computer that you know that others don't
5 do not include what you graduated with, just simply put am a graduate of computer science department.
6. State area of experience and previous work locations and duties
7. For fresh graduates without experience simply put your SIWESS details as your experience.
8. Include your project work in school as your job experience.

Share:

SOFTWARE DEFINED NETWORK

What is software defined network?

Software defined network(SDN) is an alternative routing paradigm, focused on network programmability. Typically,  this flexibility is achieved by the centralization of the control plane,  thus the routing decision are made centralized controller and nodes cannot directly directly contact each other. In recent years SDN has been able to solve most of the traditional networking problem and has been successfully applied to local area networks,  data center,  wireless network,  IOT and even wireless sensor network.

WHY SDN? 
1 makes work fast and reliable. 
2. Easy network management and handling 
3. Introduction of new features to a network is as simple as installation of a software. 
4. Easy to learn
5. Special route discovery and general overview of the network. 

PROBLEM? 
1. application of SDN has been limited because if it's resource constraint 
2. It is often very hard and expensive 
3. Can be teadious at first time installation 

Generally, in networking, network administrator faces a lot of challenges in managing networks due to the tight coupling of the control and data layer in network device. Having a large network may prove vary tedious to manage if the traditional network model is used. to introduce new features in the network one has to physically locate the devices and might need to restructure the whole network. The project topic was motivated by the following questions:
What if we have an intelligent network that is centrally managed and has a general overview of the whole network?
What if introducing new features in a network is as easy as installing a software on a computer system? 
What if a network is able to determine on its own best routing path to follow?
What if a network is able to continue functioning even if some nodes gets damaged by easily discovering the network topology?


SIGNIFICANCE.

By implementing SDN in the network, it will make the network management less complex and provides better flexibility in scalability and mobility support. This is mainly due to the separation of data plane from the control plane and the simplification on the implementation of new applications in the network. Other benefit achieved by SDN implementation is related to the capability of SDN in providing resource management. With SDN implementation, different applications are able to share same network infrastructure. The access of each application to the forwarding elements is managed by the control unit. In fact, this is feasible because the controller has the global view information of the network and it knows the requirements of the application. So the SDN makes applications have precedence over the conventional routing policies. This will make the policy decisions more consistent and effective in the network. It also gives a more flexible way to implement new functionalities in the network. These benefits in summarization will make it simpler to modify the policies in the network. It will keep high-level policies intact by using a control program which react to changes of the network state. Finally, because of the centralized controller having knowledge of the network state, the development of networking applications, functions and services will be simplified. 

Share:

HYBRIDISED SOFTWARE DEFINED NETWORK ROUTING MODEL FOR WIRELESS SENSOR NETWORKS

ABSTRACT
Wireless sensor networks routing protocols are usually oblivious to the existence of unidirectional links and can be very difficult to manage when multiple nodes are needed as in the case of large networks such as smart city, smart farming, and smart health. We proposed to use Software Defined Network routing algorithm to correct this, instead of using the flooding-based or specific purpose protocols found in the literature. To achieve this goal, it would be necessary to devise a Topology Discovery and Neighbour Discovery protocols tailored for unidirectional networks. This work therefore developed a Hybridised Software Defined Routing Model for Wireless Sensor Networks and implemented the model using SDN-WISE. The Hybridized model was compared with Topology Discovery and Neighbour Discovery Routing in homogeneous and heterogeneous networks. The results showed that SDN is a promising alternative for routing in unidirectional networks and it is more energy efficient and transmit packets at a steady rate.
CHAPTER ONE
1.0 INTRODUCTION
1.1 Background of the Study
With more devices becoming smart and in need to be always connected, providing pervasive wireless networking becomes essential (Akyildiz, et al., 2002). Wireless Sensor Network devices need to be able to communicate effectively without losing connection, which makes a good network protocol solution important. This is especially important in Wireless Sensor Networks (WSNs) with limited resources. Solutions for wireless networks is growing, but because of the complexity of these solutions, it is not possible to apply the same technique developed in Cellular and Wi-Fi networks. The rise in the number of smart devices makes it possible to create new applications for monitoring and control of different phenomenon that will help us in our daily lives. Applications that make it easier for health monitoring, industrial automation and smart cities. But when it comes to implementing more devices into the network, a more efficient way for network management and routing is required. Ad hoc and wireless sensor networks routing protocols are usually oblivious to the existence of unidirectional links. We propose to use Software Defined Network to take advantage of these links, instead of using the flooding-based or specific purpose protocols found in the literature.                                        
To achieve this goal, it is necessary to device Topology Discovery and Neighbour Discovery protocols tailored for unidirectional networks The SDN architecture provides a control layer, which is logically centralized, and maintains a global view of the network. The controller provides flexible configuration and network management, it also optimizes the number of network resources via automated and dynamic software programs. SDN and

OpenFlow (the most common standard used by the SDN architecture) have been tested successfully both for wired networks and Wireless Mesh Networks

(WMNs), but have not been fully utilized yet in WSNs. Some efforts have been done to create an efficient routing and communication protocol concepts for access control to WSNs, however, they have not addressed efficiently the problem currently plaguing the current protocols. Software defined network as shown a great possibility of solving this problem with its concept of decoupling.
1.2        Statement of Problems
The existing routing protocol for wireless sensor networks faces the problem below:
Wireless sensors do not have a global central control and have to be self-organized. This is unlike computer networks with IP address and central device for controlling.
There is no Self Organized Route Discovery required to handle topology changes.
Wireless sensor network has a Distributed computing/communication to achieve a single task rather than point-to-point communication. It is centred on event reliability concept rather than data reliability.
1.3      Motivation for The Study
Generally, in networking, network administrator faces a lot of challenges in managing networks due to the tight coupling of the control and data layer in network device. Having a large network may prove vary tedious to manage if the traditional network model is used. to introduce new features in the network one has to physically locate the devices and might need to restructure the whole network. The project topic was motivated by the following questions:
What if we have an intelligent network that is centrally managed and has a general overview of the whole network?
What if introducing new features in a network is as easy as installing a software on a computer system?
What if a network is able to determine on its own best routing path to follow?
What if a network is able to continue functioning even if some nodes gets damaged by easily discovering the network topology?
1.4 Aim and Objectives
The aim of this project work is to develop a hybridised software defined network routing algorithm for wireless sensor networks.
    The objectives are to:
Develop a Framework for Hybridising Neighbour Discovery and Topology Discovery Algorithms of Software Defined Networks.
Implement a Model for Hybridised Software Defined Network Routing Algorithm.
Simulate a Wireless Sensor Network Communication using the Hybridised Software Defined Network Routing Model.
Evaluate the Security and Fault Tolerance Performances of the Wireless Sensor Communication.
1.5 Significance of the Study
By implementing SDN in the network, it will make the network management less complex and provides better flexibility in scalability and mobility support. This is mainly due to the separation of data plane from the control plane and the simplification on the implementation of new applications in the network. Other benefit achieved by SDN implementation is related to the capability of SDN in providing resource management. With SDN implementation, different applications are able to share same network infrastructure. The access of each application to the forwarding elements is managed by the control unit. In fact, this is feasible because the controller has the global view information of the network and it knows the requirements of the application. So the SDN makes applications have precedence over the conventional routing policies. This will

make the policy decisions more consistent and effective in the network. It also gives a more flexible way to implement new functionalities in the network. These benefits in summarization will make it simpler to modify the policies in the network. It will keep high-level policies intact by using a control program which react to changes of the network state. Finally, because of the centralized controller having knowledge of the network state, the development of networking applications, functions and services will be simplified.
1.6 Scope of the Study
This study focuses on the implementation of routing model of software defined network (SDN) in wireless sensor network (WSN) putting into consideration the following algorithms
Topology Discovery Algorithm: an algorithm developed for the SDN controller to discover the nodes present and the corresponding topology of the network.
Neighbour Discovery Algorithm: an algorithm developed for the nodes to discover its neighbour node.

For full project please contact
Abubakar.faith.af@gmail.com.

Share:

Thursday, 14 December 2017

BACK ONLINE

Sorry dear reader for my absence online have been having issues with my network now am back and i promise to serve you guys better with better post and we have added post on how to design in cinema 4d and corel draw. including video tutorial to work you through it. thanks for your patience
Share:

Sunday, 30 July 2017

EARN WELL AND FAST ONLINE

have you ever wanted to make money online here is a simple site that helps you make money real fast and quick just by viewing advert can earn up to 200 dollars all you have to do is sign up now
 
register now
 



Share:

Tuesday, 18 October 2016

CREATE A 3D BOUNCING BALL

below is the sample code for creating an html and css3 3d bouncing ball.




<!DOCTYPE html>
<html lang="en">
    <head>
<meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>Creating an Animated 3D Bouncing Ball with CSS3</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="Tutorial about how to create an animated 3D bouncing ball with CSS3" />

Share:

Wednesday, 5 October 2016

make money online now

 dollarcell.com is a job and online part time working website, where you can create your account and work with us with the provided tasks in your account after creating your account and you will be paid for your work, there is no fix time for job, you can work in any hours of the day and from any country. You will be paid for your tasks on their completion via cheque or many other payments methods like bank transfers etc. To start your job register your account.
We guarantee you that you will earn 1500$ in your first week by simple task of 5 - 10 minute
25$ Signup Bonus !

                                                             sign up now
Share:

Monday, 26 September 2016

HTML COLOR CODES SUPPPORTED BY ALL BROWSER

Color play a lot of role in how our graphics and website design play-out. apart from the normal colors that the human brain can always remember there is a large book and log of color that can be formed just by combining three primary color and light

Colors are displayed combining RED, GREEN, and BLUE light

With CSS, colors can be set by using color names:
red, brown, green and all of that but still due to the advancement of the internet web designer  needs to be vast with colors and color combinations

CSS Color Values

With CSS, colors can be specified in different ways:
  • By color names
  • As RGB values
  • As hexadecimal values
  • As HSL values (CSS3)
  • As HWB values (CSS4)
you dont need to crack your brain for much color name we have combined a lot of color codes and their name for you download color codes.pdf now
Share:

CREATING ANIMATIONS

 http://www.sharecg.com/images/medium/86108.jpg%3C/a%3E%3C/div%3E%3Cdiv%20class=

one of the best way of making money and also enjoying yourself is working with animation and bringing your imaginary character back to life the question is how do we achieve this? the solution is far more than we can imagine considering cartoon network like walt disney we might never be able to achieve this cause of the money need to buy the sophisticated game engine used by disney however several application are now available to download and create a simple animation depending on how vast and competent you are and how fast you can think software ranging from the simple corel draw to macromedia fireworks and macromedia flash

ONLINE ANIMATION MAKING: 

you can even create your animation online with a lot of software now available online for creating an animation

1 powtoon:
 These days all the rage is in online services. So powtoon was created strictly as an online application. That means that you don’t need to download any software to your computer, you don’t need to learn flash, and you don’t need to learn Photoshop.  All you need to do is log in, drag and drop characters or props into the animation maker, and start animating your own cartoon. check now powtoon.com
2Abcya.com
  this online community create a means of creating animation for children and it is very easy to use no software and download is needed just a little network connection and you are about to be popularly known all over the world by kids
visit today

OFFLINE STUDIO:
 there are series of offline studio software for creating an animation i will only give information about one since its the best to me cause it enebles you create a 3d animation freely with drag and drop

DAZ STUDIO : this is free offline 3d animation studio and best for people who are just learning cause of its flexibility daz 3d do not only gives you an easy interface but it matches it by a unique quality of production.
get daz studio here 
 http://www.daz3d.com/media/catalog/product/cache/1/image/960x1248/17f82f742ffe127f42dca9de82fb58b1/c/r/create-fiery-genesis-in-daz-studio-large.jpg
Share:

Thursday, 22 September 2016

ICT (information and communication technology)

              ICT(information and communications technology - or technologies) is an umbrella term that includes any communication device or application, encompassing: radio, television, cellular phones, computer and network hardware and software, satellite systems and so on, as well as the various services and applications 

Ict ToolS

Information and Communication Technology consists of various tools and systems that can be exploited by capable and creative teachers to improve teaching and learning situations. Lim and Tay (2003) classification of ICT tools as :
1) Informative tools - Internet, Network Virtual Drive, Intranet systems, Homepage, etc.
2) resignation devices - CD-ROM, etc.
3) Constructive tools - MS Word, PowerPoint, FrontPage, Adobe Photoshop, Lego Mindstorm, etc.
4) Communicative tools - e-mail, SMS, etc.
5) Collaborative tools - discussion boards, etc. forum
The five categories of ICT tools listed above are discussed in more detail under the following headings.

Informative Tools

Informative tools are applications that provide large amounts of information in various formats such as text, graphics, sound, or video. Informative tools can be regarded as a passive repository of information (Chen & Hsu, 1999). Examples include tools and information resources of the existing multimedia encyclopedia of the Internet. The Internet is a huge electronic database, and researchers consider the Internet as the most significant ICT tools in e-learning environments. Pew Internet & American Life Project did a survey in 2002 showed them three out of five children under the age of 18 and more than 78% of children between the ages of 12 and 17 lines. Key findings from this study are found in Levin & Arafeh (2002) shows that students rely on the internet to help them do their homework. In short, students consider the Internet as a virtual textbook, reference library, virtual tutor, learn to study shortcuts and virtual study groups (McNeely, 2005). Listen
Read phonetically

Situating Tools

Situating tools  is a system that lay the students in the environment where it involve a context and the occurrence of a situation. Examples of such systems include simulation, virtual reality and multi-user domain. Situating tools software tools such as CD-ROM. CD-ROM offers hypermedia application which gives better opportunities for teachers to enhance learning environment. Hypermedia application covers more than one of the following media such as text, audio, graphic images (still images), animation and video clips. Hypermedia applications are well integrated in the learning environment to enhance student autonomy and thinking (Cheung & Lim, 2000). A multimedia presentation topic will help students to conceptualize the ideas of the real world by integrating the theories in the practical application of real-world situations. It is to increase students' ability to use the conceptual tools of the discipline in authentic practice. (Phillips, 2004) Multimedia able to put the amazing array of resources on student and lecturer resources on teaching and student 1control. "Multimedia learning active learning to create a more dynamic, interactive, collaborative, and satisfying" (Supyian, 1996)

Constructive Tools

constructive tool is a general purpose tool that can be used to manipulate information, construct their own knowledge or visualize students understanding. Construction tools such as Microsoft Word or Powerpoint has a strong impact in the educational environment and is widely used in most organizations in the form of memos, reports, letters, presentations, record routine information, giving businesses the most (McMahon, M. 1997.) In learning a second language , Microsoft Word manage to help students to make correct sentences and texts as well as modern word processors include spell checking and dictionaries and grammar checkers. Therefore, teachers can use the software to promote writing in the curriculum. PowerPoint is a presentation graphics program packaged as part of Microsoft Office for Windows or Macintosh. Although generally used for developing business presentations , it is also very advantageous in the context of increase creativity among students. While word processing program is the most common computer applications used, as a spreadsheet like Excel is just as important in teaching and learning of English. Students will be exposed to learning design and statistical data using the Excel program that can be automated through the formula.

Communicative Tools

Communicative tools are systems that allow easy communication between teachers and students or between students outside the physical barrier classroom. (Chen, D., Hsu, JJF, and Hung, D. 2000) It is including e-mail, electronic bulletin boards, chat, teleconference and electronic whiteboard. Synchronous communicative tools such as chat or video conference enable real-time communication while using the tools of communicative asynchronous (eg e-mail and electronic whiteboard) is a system in which exchange of messages between people are not 'live' but somehow delayed. Communicative tool most appropriate for activities requiring more time to think before responding. Utilization of electronic mail is increasing day by day. E-mail is the most commonly used on the Internet. It is easy to use as it is a primarily text-based system and simple communication tool for teachers and students that allows students to dominate class beyond physical barrier. (Chen, D., Hsu, JJF, and Hung, D., 2000.)

Collaborative Tools

Collaboration tools of ICT is currently the focus of much interest and emerging as development of new tools that make online collaborative projects draw a realistic option for a distributed group work. Internet can be used for many collaborative activities such as meetings, discussions are taking place, working in the document, information dissemination, and other tasks. Interactive electronic whiteboard is not just used as tools for meeting and development, but recently became the most popular tool among teachers. whiteboard is an electronic device that interfaces with the computer where the computer image is displayed on the board that can be manipulated interactively (Weiser and Jay, 1996). This tool is increasingly popular with teachers, when used in conjunction with a computer and a video projector that produces interactive learning community. Instead of having to crowd around one or two computers, interactive whiteboard not only display the materials, but also to respond to human interaction with computer commands and orders on a touch screen. In addition, these technologies provide impulsive information sharing, constructing knowledge and stimulate personal growth. (Mona, 2004). Other collaborative tools, such as E-mail messaging, Wireless Application Protocol (WAP) and General Packet Radio Services (GPRS) embedded in micro-browser equipped mobile phones or GPRS enabled handheld computers are other ICT tools that that can link students in different geographic locations exceeding the boundaries of class. In addition, the development of mobile phone and PDA allows learners to exchange information in a short time simultaneously and asynchronously, and provides flexibility for one-one, one-to-many and many-to-many communication, especially for the online discussion forum. (Lim & Lee, 2002). In conclusion, a "learning is no longer seen as a solitary activity, but is described as taking place through social interaction with peers, mentors and experts" (Kings, 1998).

Infrastructure & Facilities

Facilities in IT infrastructure have been steadily increasing in schools, colleges and universities in Malaysia. During the Eight Malaysia Plan (2001-2005), a colossal amount of RM5.2billion were spent on ICT-related Programmes and projects. However, there has not been a corresponding increase in ICT-integrated classroom activities used for the ultimate benefit of pupils. ICT integration pertaining to the teaching and learning of Bahasa Inggeris has been lagging behind compared to the teaching of Science and Mathematics. Research by Azizah ( 2005) undertaken by the faculty members of the National University of Malaysia in a quantitative study involving 188 students in 90 Smart Schools in Malaysia revealed a number of interesting findings . The teachers interviewed confirmed this fact. Further it was observed the English lessons frequently not carried out at the lab. Some of the reason Indicates that was only one functioning computer lab in the school and limits the opportunity to use the computers as the lab have to be shared with other classes as well as frequent server failure which disrupted lessons. Morover, the limited number of computers available for students' use at the schools have forced teachers to opt last resort by delivery hard copy teaching materials such as 'worksheets' or printed materials from the courseware and the Internet. The findings significantly revealed the Lack of sufficient deployment of information technology to these schools have not enabled the Smart School to function properly. (Azizah et al., 2005)
Besides is inherent resistance to the changes, schools are also has a structure that prevents the spread of a wide use of computers. Collins (1996) in a reflective essay about his experience with Apple Class of Tomorrow (ACOT) project to collect a limited class space and size of computers, reluctance of teachers to take students to the laboratory, and lack of access to computers at home as a factor restricting the use of technology schools (Cuban, 1986;. Smerdon et al, 2000) Perhaps another serious problem, however, it lies beyond the technology or the physical structure of the conceptual structure of the school as forty-five minutes learning period makes it difficult to achieve any substantial use of technology. (Collins, 1996.) Thus school structure has been the main obstacles in empowering new technologies for classroom learning (Means, 1994).
In addition, the introduction of computers requires serious paradigm shifted on the basic structure of schools (Collins, 1996; Hawkins & Sheingold, 1986; Means, 1994; Merrow, 1995). As a result, schools and teachers may be less enthusiastic by the promises of the computer delivered than its advocates.







.
Share:

Wednesday, 21 September 2016

WORDPRESS OFFLINE INSTALLATION

           Working with wordpress online has always been a problem for some of us who has lesser data bundle and we will wish we have a platform by wish we can install and work with wodpress offline well it is simple today we will discuss 2 ways of installing wordpress offline

STEP 1:
 ----log on to the wordpress site  and download the latest version of wordpress or the version you like
------to work with wordpress offline you will need a server i will suggest you download wamp or xampp

-------- install your server and open a browser type localhost as the address or 127.0.0.1 as this is most time the ip address of an offline server that works on an host machine
-------if you are using wamp click on php my admin and create a new database for your wordpress and grant it all privilege(create a user first)
-------now unzip your wordpress file into a directory in your wamp server (usually at c:/wamp/www)
-------look for the  wp-config-sample edit it using a simple text editor or notepad an put your database information in the spaces left for you to and save as wp-config-sample
------open your browser and type localhost you should have wordpress under your subdirectory click on it this then begin the famous five minute installation giving you follow the procedure very well

STEP 2


instead of going through the trouble of creating a local host and a server and creating a database for your wordpress i will suggest you try downloading bitnami wordpress a complete offline wordpress it comes with a server and a database and an automatic installation of your wordpress serving you the time of editing and configuring if you want to use the famous five minute installation .




plss feel free to ask any question we will gladly reply you soon


Share:

Monday, 5 September 2016

BENEFITS OF A WEBSITE

Unfortunately, for most small business owners, creating a website can feel like just one more chore. Take Bill Corbett, a parenting coach in Enfield, Conn., and owner of Cooperative Kids. Corbett has a full schedule – writing articles for his syndicated column, working on his book and teaching classes. Updating a website was the last thing he wanted to worry about. But, he soon realized you have to be online to compete in this fast-paced information age. Since going live with his website and seeing how easy it can be, the feeling of hesitation fleeted. Now, Corbett uses his site to communicate directly with clients, sell products and publish articles.

63% of people use the Internet as their first resource when looking for a local service or product.

The bottom line is that every business should at least understand the benefits of creating a website. If, for no other reason, other than there are over 1.7 billion Internet users worldwide. What’s more, 75% of users said they purchased something online, according to Plunkett Research, Ltd. With the amount of people surfing the Internet, it’s important to have an online presence. And a website is an easy way to do it. Just in case you’re looking for further proof, let’s consider a few more of the truths about doing business in today’s world.

Reason 1: People turn to the Internet for information 

Consumers are savvier than ever these days. People put in a lot of time and effort to conduct detailed research before deciding to buy. In fact, 63% of people use the Internet as their first resource when looking for a local service or product, according to a 2009 Webvisible/Nielsen study. Of 3,000 people surveyed, 47% said they are more likely to purchase services or products from a small business with a website, according to a recent Discover Small Business Watch Survey. This indicates that people are more willing to trust businesses that have a website – but we will get to that later. Additionally, putting your business online increases the chance that you will be listed in search sites, like Google®, Yahoo® and Bing™. This will help people find your business online and direct them to your website or store.

Reason 2: A website could bring in more money

Michelle Braun, owner of Final Touch Housekeeping in Aurora, Colo., recently told Vistaprint that she saw an increase in business after creating a website. Braun initially used flyers and other printed materials to promote her business, but customers kept asking for her web address. She soon got a successful website up and running in July 2009. “In the last year, we’ve probably done bids for 500 or 600 people, all contacted through our website,” said Braun. A website will be an inexpensive solution, yielding great returns on your investment. And that’s what it’s all about. With over $3.6 billion dollars spent online in 2009 – it’s time to get in the online game.

Reason 3: A website will save you time

We understand the challenges micro businesses face every day. Fortunately, a website can dramatically lighten your load. Your site can tell customers your hours of operation and information on your products and services. You’ll spend more time running your business and less time on the phone talking about it. Your website acts as your own personal sales team. It’s a place where customers can learn about your company at their convenience. While your store or business isn’t open 24 hours, your website is. This allows customers to find you at anytime


Reason 4: A website will build your credibility


 The truth is, with so many customers shopping and searching for information online, without a website, you could get passed-by. Simply having a website positions your company as more established and “with it.” Plus, it allows you to give customers a visual sample of your products and services 24 hours a day, 7 days a week. There’s a good chance your competitors probably already have a website, and that’s why you should consider creating your own. And, if they don’t, well, that just gives you yet another advantage over them.


Share:

Friday, 2 September 2016

BEST WAY TO DESIGN A WEBSITE

            There are lot of things we might want to put in a webpage and most time programmer dont sit to consider some things before doing somethings. We all sit in front of our computer and we start programming and then we might end up frustrated here are few suggestion on what you should do before creating a web page

1. Draft your layout :

this seems to be going into extinct as some web developer are always too tired and they consider making a drawing of a website is not needed but the truth is if you are ever gonna cone out with a good look you need to have an idea of what your page should look like before you even start to write a single code in making layout  you need to know the following

---- what is your site about ?
-----what functions would you love ?
------who are your targets ?

2. Think of cost of hosting : before you get your customer happy on developing a site for them let them know what it cost to it takes a little money to host a web about 8000 naira for a year and $60 it is nice so you can check some free web hosting service like wordpress and joomla for starters

3.compare your skills with what the client wants : dont get too excited that you will forget to check if you can do what they want on their webpage so you must be very wise in choosing a client and taking up a job

4. consider the amount they are willing to pay: trust me you wont want to work a week for junks so i will suggest you consider the price the client are willing to pay if they are not paying much i will suggest you download a wordpress theme and edit it for them as this will take little time and you will get a nice result.

5.start coding: having consider all this you can now start coding enjoy.................

Share:

CREATE AN HTML ACCORDION(toggles between hide and show element)

An accordion is very useful in a webpage that ha large amount of data so you can hide a section of your page and add a click option to enable it toggle between hiding and showing its content


Accordion

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
now this is a very useful way to run things within your webpage here is the sample code for an accordion
<!DOCTYPE html>
<html>
<head>
<style>
button.accordion {
    background-color: #eee;
    color: #444;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 15px;
    transition: 0.4s;
}

button.accordion.active, button.accordion:hover {
    background-color: #ddd;
}

button.accordion:after {
    content: '\02795';
    font-size: 13px;
    color: #777;
    float: right;
    margin-left: 5px;
}

button.accordion.active:after {
    content: "\2796";
}

div.panel {
    padding: 0 18px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: 0.6s ease-in-out;
    opacity: 0;
}

div.panel.show {
    opacity: 1;
    max-height: 500px;
}
</style>
</head>
<body>

<h2>Accordion with symbols</h2>
<p>In this example we have added a "plus" sign to each button. When the user clicks on the button, the "plus" sign is replaced with a "minus" sign.</p>
<button class="accordion">Section 1</button>
<div class="panel">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>

<button class="accordion">Section 2</button>
<div class="panel">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>

<button class="accordion">Section 3</button>
<div id="foo" class="panel">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>

<script>
var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {
    acc[i].onclick = function(){
        this.classList.toggle("active");
        this.nextElementSibling.classList.toggle("show");
  }
}
</script>

</body>
</html>

Share:

Thursday, 1 September 2016

create a simple 3d book flip effect

today we are gonna teach you how to create a simple 3d book flip using html and css3 this will blow your mind it looks like real like really real below is the code

<html>
<head>
<style>
/* remember to use - transform-style: preserve-3d; */
html,body {
  height:100%;
  overflow: hidden;
}
body {
  background: radial-gradient(#E4CEA6, #9C8763);
  perspective: 900px;
  margin: 0;
}
#flip {
  animation: wrapper 6s ease-in-out infinite;
  height: 350px;
  width: 253px;
  position: absolute;
  left: 50%;
  top: 30%;
  transform: translateZ(-10px) rotateX(60deg) rotateZ(29deg) rotateY(0deg)!important;
  transform-style: preserve-3d;
  transform-origin: 0 0 0;
}
@keyframes wrapper {
  50% {
    transform: translateZ(-10px) rotateX(60deg) rotateZ(29deg) rotateY(-180deg);
  }
}
#flip div {
  height: 350px;
  width: 24px;
  position: absolute;
  left: calc(100% - 1px);
  transform-origin: 0 100%;
  transform-style: preserve-3d;
  background-size: 253px 350px;
}
#flip #front,
#flip #front div {
  background-image: url(http://blogs.slj.com/afuse8production/files/2012/06/Hobbit1.jpg);
  box-shadow: inset rgba(255,255,255,0.3) 0px -1px 0 0,#35582C 0px 1px 0px 0px;
}
#flip #front > div > div > div > div > div > div > div > div > div > div {
  box-shadow: inset rgba(255,255,255,0.3) -1px -1px 0 0, #35582C 1px 1px 0px 0px;
}
#flip #back { transform: rotateY(.4deg); transform-origin: -100% 0; } /* avoid pages overlap */
#flip #back,
#flip #back div {
  background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/164210/map1_.jpg);
}

#flip > div {  left: 0;  background-position-x: 0; }
#flip div > div { background-position-x: -23px; animation: page 6s ease-in-out infinite; }
#flip div > div > div { background-position-x : -46px; }
#flip div > div > div > div { background-position-x : -69px; }
#flip div > div > div > div > div { background-position-x : -92px; }
#flip div > div > div > div > div > div { background-position-x : -115px; }
#flip div > div > div > div > div > div > div { background-position-x : -138px; }
#flip div > div > div > div > div > div > div > div  { background-position-x : -161px; }
#flip div > div > div > div > div > div > div > div > div { background-position-x : -184px; }
#flip div > div > div > div > div > div > div > div > div > div { background-position-x : -207px; }
#flip div > div > div > div > div > div > div > div > div > div > div { background-position-x : -229px; }
/* the more pieces you have, the smoother the bend is */

@keyframes page {
  15% { transform: rotateY(-10deg); }
  50% { transform: rotateY(-2deg); }
  65% { transform: rotateY(10deg); }
  100% { transform: rotateY(0deg); }
}

#book {
  width: 248px;
  height: 350px;
  position: absolute;
  left:50%;
  top: 30%;
  transform: translate3d(0px,0px,-10px) rotateX(60deg) rotateZ(29deg);
  transform-style: preserve-3d;
  -webkit-transform-origin: 0 0 0;
}
@keyframes book {
  25% {
    box-shadow: inset rgba(0,0,0,.2) 0px 0 50px -140px;
  }
  50% {
    box-shadow: inset rgba(0,0,0,.2) 0px 0 50px -140px;
  }
  100% {
    box-shadow: inset rgba(0,0,0,.2) 510px 0 50px -140px;
  }
}
#book #top {
  animation: book 6s ease-in-out infinite;
  background: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/164210/map2.jpg);
  background-size: 100% 100%;
  background-position: 100%;
  box-shadow: inset rgba(0,0,0,0.2) 510px 0 50px -140px;
  height: 350px;
  width: 248px;
  position: absolute;
  left: 0;
  top: 0;
}
#book #bottom {
  background: #E7DED1;
  box-shadow: rgba(83, 53, 13, 0.2) 4px 2px 1px,
              #35582C 1px 1px 0px 0px;
  height: 350px;
  width: 253px;
  position: absolute;
  transform: translateZ(-40px);
  left: 0;
  top: 0;
}
#book #shadow {
  animation: shadow 6s ease-in-out infinite;
  box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px;
  height: 350px;
  width: 248px;
  position: absolute;
  left: -100%;
  top: 0;
  transform: translateZ(-40px);
}
@keyframes shadow {
  20% {
    box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px;
  }
  50% {
    box-shadow: inset rgba(83, 53, 13, 0.3) -350px 0 150px -140px;
  }
  60% {
    box-shadow: inset rgba(83, 53, 13, 0) -200px 0 150px -140px;
  }
}
#book #front {
  background: -webkit-linear-gradient(top,#FCF6EA, #D8D1C3);
  background-size: 100% 2px;
  box-shadow: inset #C2BBA2 3px 0 0px, #35582C -2px 1px 0px 0px;
  height: 40px;
  width: 251px;
    left: -3px;
  position: absolute;
  bottom: -40px;
  transform: rotateX(-90deg);
  transform-origin: 50% 0;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
#book #right {
  background: -webkit-linear-gradient(left,#DDD2BB, #BDB3A0);
  background-size: 2px 100%;
  box-shadow: inset rgba(0,0,0,0) 0 0 0 20px;
  height: 100%;
  width: 40px;
  position: absolute;
  right: -40px;
  top: 0;
  transform: rotateY(90deg);
  transform-origin: 0 50%;
}

h4 {
  position: absolute;
  bottom: 20px;
  left: 20px;
  margin: 0;
  font-weight: 200;
  opacity: 1;
font-family: sans-serif;
  color: rgba(0,0,0,0.3);
}

/* bookmark */

#bookmark {
  position: absolute;
  transform: translate3d(20px,350px,-16px);
  transform-style: preserve-3d;
}
#bookmark div {
  background: rgb(151, 88, 88);
  box-shadow: rgb(133,77,77) 1px 0;
  height: 10px;
  width: 20px;
  position: absolute;
  top: 9px;
  transform: rotateX(-14deg);
  transform-origin: 50% 0;
  transform-style: preserve-3d;
}
#bookmark > div > div {
  background: linear-gradient(top, rgb(151, 88, 88), rgb(189, 123, 123), rgb(151, 88, 88));
}
#bookmark > div > div > div {
  background: linear-gradient(top,rgb(151, 88, 88),rgb(133, 77, 77));
}
#bookmark > div > div > div > div {
  background: none;
  border-top: 0px solid transparent;
  border-right: 10px solid rgb(133, 77, 77);
  border-bottom: 10px solid transparent;
  border-left: 10px solid rgb(133, 77, 77);
  height: 0;
  width: 0;
}
#bookmark-shadow {
  background: linear-gradient(top,rgba(83, 53, 13, 0.25),rgba(83, 53, 13, 0.11));
  height: 15px;
  width: 20px;
  position: absolute;
  transform: translate3d(12px,350px,-25px) rotateX(-90deg) skewX(20deg);
  transform-origin: 0 0;
}
</style>
</head>
<body>
<div id='book'>
  <div id='top'></div>
  <div id='front'></div>
  <div id='right'></div>
  <div id='bottom'></div>
  <div id='shadow'></div>
  <div id='bookmark'>
    <div>
      <div>
        <div>
          <div></div>
        </div>
      </div>
    </div>
  </div>
  <div id='bookmark-shadow'></div>
</div>
<div id='flip'>
  <div id='front'>
    <div>
      <div>
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div>
                      <div></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div id='back'>
    <div>
      <div>
        <div>
          <div>
            <div>
              <div>
                <div>
                  <div>
                    <div>
                      <div></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<h4>CSS 3D Bending Effect - Page Flip</h4>
</body>
</html>

click here for your preview

Share:

Tuesday, 30 August 2016

COMPUTER IN MEDECINE

Computers play a very important role today in medicine without computers in medicine work would have been too tedious and might even lead to loss of life frequently below are three wide area in which computers are used in medicines

Maintaining Patient History & Other Records

    The complete bio-data as well as medical history of a patient is recorded into the computer. The medical history is delivered to the related doctor for the check up of the patient. In this way, much of the doctor's time is saved.

In addition to patient history, other information about doctors, medicines, and medical equipments is also maintained through computers. These information can be retrieved very easily and quickly.

 Diagnosis

    Computer is also used in hospitals for diagnosing diseases. Different medical tests depend upon the computerized devices such as laboratory test of blood.


One common use of computer in hospitals is to scan the body of patient. A special scanner is used for this purpose. For example, the CAT (Computerized Axial Tomography) scanner passes rays over the patient. It displays an image of bone and tissue structure of patient on a computer screen. This image is printed on the printer. It is also store in computer for later use.

Patient Monitoring

    Different electronic scanning devices (medical equipment) are used in hospitals. They are connected with computers. These devices are used to monitor the patient continuously. Thus computers are normally used in the following medical units of hospitals for monitoring patients.
ICU (Intensive Care Unit)
Operation Theater
Recovery Room
Medical Ward
ECG (Electrocardiograph)


Communication


Primarily, the Internet provides the patients, doctors, and nurses with quicker communication. This way, the three can communicate from greater distances at the same speed as if they were together. Online medical forums allow the practitioners to discuss particular portions of a medical scenario and to come up with timely conclusions. Furthermore, Electronic Medical Records are believed by clinicians to have instigated a greater amount of communication with patients is multiple ways. Those who use EMRs' e-mail function agree that it "lowered communication barriers" and "improved the quality of relationship" by increasing communication between office visits and eliminating phone tag. Also, because clinicians do not have to run down the hall for test results, or leave the room to pull up medical records, they are spending more face-to-face time with their clients. The appointment time can go uninterrupted because the doctor/nurse has everything they need operate smoothly at the click of a button.

In addition, online communication between multiple doctors provides a wider amount of information that puts the patient at greater ease. They are better able to trust the diagnosis and the conclusion of the doctor because he has received numerous second opinions. The communication barrier created by the medical language can also be torn down through the ready availability of information for the patient provided by computers. While the clinician can verbally explain to their patients how something works, they can also pull information from educational resources and other records in other to aid them in this process. Computers help to better communication in the medical field in a variety of ways. Without computers, communication would be less frequent, less personable, and more perplexing.

Surgical Procedures


Computer-Assisted Surgical Procedures are also referred to as Robotic Surgical Systems. More complex and involved surgeries not only utilize computers, but also rely on them in order to give faster and more precise products in any given medical procedure. Computers are used for tasks such as viewing internal organs, examining them, and moving surgical utensils around accurately in small incisions. Most surgeons use many different instruments with the robotic surgical system, these include:

scaplels forceps graspers dissectors cautery scissors retractors suction irrigators
The robotic-assisted surgical systems allow the surgeon to use computer technology to control and maneuver these surgical instruments during minimally invasive surgical procedures.

The computer-assisted surgical systems commonly include these three components: A console, the bedside cart, and a separate cart that contains supporting hardware and software. The first of these is the regulation center of the system and allows the surgeon to view his area of surgery and physically control his instruments. The second of these is the portion of the robot that holds the cameras and the instruments that the surgeon is controlling. And the third contains equipment such as the electrical surgical unit (ESU), a light source for the endoscope, and suction/irrigation pumps. As made evident, computers have become an essential piece in all types of surgical procedures and have increased the quality as well.
Share:

A SIMPLE JAVA 3D PROGRAM CODE

Here are code fragments from a simple program, hello.java that creates a cube and a Rotation Interpolator behavior object that rotates the cube at a constant rate of /2 radians per second.

creating the hello class
The Hello class creates the branch graph that includes the cube and the Rotation Interpolator behavior. It then adds this branch graph to the Locale object generated by the Universe Builder utility.

public class hello extends Applet {
    public BranchGroup createSceneGraph() {
        // Create the root of the branch graph
        BranchGroup objRoot = new BranchGroup();

        // Create the TransformGroup node and initialize it to the
        // identity. Enable the TRANSFORM_WRITE capability so that
        // our behavior code can modify it at run time. Add it to
        // the root of the subgraph.
        TransformGroup objTrans = new TransformGroup();
        objTrans.setCapability(
                            TransformGroup.ALLOW_TRANSFORM_WRITE);
        objRoot.addChild(objTrans);
        // Create a simple Shape3D node; add it to the scene graph.
        objTrans.addChild(new ColorCube().getShape());

        // Create a new Behavior object that will perform the
        // desired operation on the specified transform and add
        // it into the scene graph.
        Transform3D yAxis = new Transform3D();
        Alpha rotationAlpha = new Alpha(
                -1, Alpha.INCREASING_ENABLE,
                0, 0,            4000, 0, 0,                        0, 0, 0);
        RotationInterpolator rotator = new RotationInterpolator(
                rotationAlpha, objTrans, yAxis,
                0.0f, (float) Math.PI*2.0f);
        BoundingSphere bounds =
            new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
        rotator.setSchedulingBounds(bounds);
        objTrans.addChild(rotator);

        return objRoot;
    }

    public hello() {
        setLayout(new BorderLayout());
        Canvas3D c = new Canvas3D(graphicsConfig);
        add("Center", c);
        // Create a simple scene and attach it to the virtual
        // universe
        BranchGroup scene = createSceneGraph();
        UniverseBuilder u = new UniverseBuilder(c);
        u.addBranchGraph(scene);
    }
}


UniverseBuilder Class

The UniverseBuilder class establishes and initializes Java 3D's virtual universe, Locale, and viewing objects, and constructs the view platform branch graph. The example code shown below is a simplified version of the UniverseBuilder that will be supplied as part of the Java 3D utility package.

public class UniverseBuilder extends Object {
    // User-specified canvas
    Canvas3D canvas;

    // Scene graph elements to which the user may want access
    VirtualUniverse                        universe;
    Locale                        locale;
    TransformGroup                        vpTrans;
    View                        view;

    public UniverseBuilder(Canvas3D c) {
        this.canvas = c;

        // Establish a virtual universe that has a single
        // hi-res Locale
        universe = new VirtualUniverse();
        locale = new Locale(universe);

        // Create a PhysicalBody and PhysicalEnvironment object
        PhysicalBody body = new PhysicalBody();
        PhysicalEnvironment environment =
                                            new PhysicalEnvironment();

        // Create a View and attach the Canvas3D and the physical
        // body and environment to the view.
        view = new View();
        view.addCanvas3D(c);
        view.setPhysicalBody(body);
        view.setPhysicalEnvironment(environment);

        // Create a BranchGroup node for the view platform
        BranchGroup vpRoot = new BranchGroup();

        // Create a ViewPlatform object, and its associated
        // TransformGroup object, and attach it to the root of the
        // subgraph. Attach the view to the view platform.
        Transform3D t = new Transform3D();
        t.set(new Vector3f(0.0f, 0.0f, 2.0f));
        ViewPlatform vp = new ViewPlatform();
        vpTrans = new TransformGroup(t);

        vpTrans.addChild(vp);
        vpRoot.addChild(vpTrans);

        view.attachViewPlatform(vp);

        // Attach the branch graph to the universe, via the
        // Locale. The scene graph is now live!
        locale.addBranchGraph(vpRoot);
    }

    public void addBranchGraph(BranchGroup bg) {
        locale.addBranchGraph(bg);
    }
}

ColorCube Class

The ColorCube Class creates a Shape3D node that contains the geometry for an unlit, colored cube.

public class ColorCube extends Object {
    private static final float[] verts = {
    // front face
         1.0f, -1.0f,  1.0f,                             1.0f,  1.0f,  1.0f,
        -1.0f,  1.0f,  1.0f,                            -1.0f, -1.0f,  1.0f,
    // back face
        -1.0f, -1.0f, -1.0f,                            -1.0f,  1.0f, -1.0f,
         1.0f,  1.0f, -1.0f,                             1.0f, -1.0f, -1.0f,
    // right face
         1.0f, -1.0f, -1.0f,                             1.0f,  1.0f, -1.0f,
         1.0f,  1.0f,  1.0f,                             1.0f, -1.0f,  1.0f,
    // left face
        -1.0f, -1.0f,  1.0f,                            -1.0f,  1.0f,  1.0f,
        -1.0f,  1.0f, -1.0f,                            -1.0f, -1.0f, -1.0f,
    // top face
         1.0f,  1.0f,  1.0f,                             1.0f,  1.0f, -1.0f,
        -1.0f,  1.0f, -1.0f,                            -1.0f,  1.0f,  1.0f,
    // bottom face
        -1.0f, -1.0f,  1.0f,                            -1.0f, -1.0f, -1.0f,
         1.0f, -1.0f, -1.0f,                             1.0f, -1.0f,  1.0f,
    };
    private static final float[] colors = {
    // front face (red)
        1.0f, 0.0f, 0.0f,                            1.0f, 0.0f, 0.0f,
        1.0f, 0.0f, 0.0f,                            1.0f, 0.0f, 0.0f,
    // back face (green)
        0.0f, 1.0f, 0.0f,                            0.0f, 1.0f, 0.0f,
        0.0f, 1.0f, 0.0f,                            0.0f, 1.0f, 0.0f,
    // right face (blue)
        0.0f, 0.0f, 1.0f,                            0.0f, 0.0f, 1.0f,
        0.0f, 0.0f, 1.0f,                            0.0f, 0.0f, 1.0f,
    // left face (yellow)
        1.0f, 1.0f, 0.0f,                            1.0f, 1.0f, 0.0f,
        1.0f, 1.0f, 0.0f,                            1.0f, 1.0f, 0.0f,
    // top face (magenta)
        1.0f, 0.0f, 1.0f,                            1.0f, 0.0f, 1.0f,
        1.0f, 0.0f, 1.0f,                            1.0f, 0.0f, 1.0f,
    // bottom face (cyan)
        0.0f, 1.0f, 1.0f,                            0.0f, 1.0f, 1.0f,
        0.0f, 1.0f, 1.0f,                            0.0f, 1.0f, 1.0f,
    };

    private Shape3D shape;

    public ColorCube() {
        QuadArray cube = new QuadArray(24,
                        QuadArray.COORDINATES | QuadArray.COLOR_3);

        cube.setCoordinates(0, verts);
        cube.setColors(0, colors);

        shape = new Shape3D(cube, new Appearance());
    }

    public Shape3D getShape() {
        return shape;
    }
}
Share:

INTRODUCTION TO JAVA 3D PROGRAMMING

The Java 3D API is an application programming interface used for writing three-dimensional graphics applications and applets. It gives developers high-level constructs for creating and manipulating 3D geometry and for constructing the structures used in rendering that geometry. Application developers can describe very large virtual worlds using these constructs, which provide Java 3D with enough information to render these worlds efficiently.
Java 3D delivers Java's "write once, run anywhere" benefit to developers of 3D graphics applications. Java 3D is part of the JavaMedia suite of APIs, making it available on a wide range of platforms. It also integrates well with the Internet because applications and applets written using the Java 3D API have access to the entire set of Java classes.
The Java 3D API draws its ideas from existing graphics APIs and from new technologies. Java 3D's low-level graphics constructs synthesize the best ideas found in low-level APIs such as Direct3D, OpenGL, QuickDraw3D, and XGL. Similarly, its higher-level constructs synthesize the best ideas found in several scene graph-based systems. Java 3D introduces some concepts not commonly considered part of the graphics environment, such as 3D spatial sound. Java 3D's sound capabilities help to provide a more immersive experience for the user.


The Scene Graph Programming Model

Java 3D's scene graph-based programming model provides a simple and flexible mechanism for representing and rendering scenes. The scene graph contains a complete description of the entire scene, or virtual universe. This includes the geometric data, the attribute information, and the viewing information needed to render the scene from a particular point of view. 
The Java 3D API improves on previous graphics APIs by eliminating many of the bookkeeping and programming chores that those APIs impose. Java 3D allows the programmer to think about geometric objects rather than about triangles-about the scene and its composition rather than about how to write the rendering code for efficiently displaying the scene.

 Rendering Modes

Java 3D includes three different rendering modes: immediate mode, retained mode, and compiled-retained mode Each successive rendering mode allows Java 3D more freedom in optimizing an application's execution. Most Java 3D applications will want to take advantage of the convenience and performance benefits that the retained and compiled-retained modes provide.

Immediate Mode

Immediate mode leaves little room for global optimization at the scene graph level. Even so, Java 3D has raised the level of abstraction and accelerates immediate mode rendering on a per-object basis. An application must provide a Java 3D draw method with a complete set of points, lines, or triangles, which are then rendered by the high-speed Java 3D renderer. Of course, the application can build these lists of points, lines, or triangles in any manner it chooses.

 Retained Mode

Retained mode requires an application to construct a scene graph and specify which elements of that scene graph may change during rendering. The scene graph describes the objects in the virtual universe, the arrangement of those objects, and how the application animates those objects.

Compiled-Retained Mode

Compiled-retained mode, like retained mode, requires the application to construct a scene graph and specify which elements of the scene graph may change during rendering. Additionally, the application can compile some or all of the subgraphs that make up a complete scene graph. Java 3D compiles these graphs into an internal format. The compiled representation of the scene graph may bear little resemblance to the original tree structure provided by the application, however, it is functionally equivalent. Compiled-retained mode provides the highest performance.

Extensibility

Most Java 3D classes expose only accessor and mutator methods. Those methods operate only on that object's internal state, making it meaningless for an application to override them. Therefore, Java 3D declares most methods as final.
Applications can extend Java 3D's classes and add their own methods. However, they may not override Java 3D's scene graph traversal semantics because the nodes do not contain explicit traversal and draw methods. Java 3D's renderer retains those semantics internally.
Java 3D does provide hooks for mixing Java 3D-controlled scene graph rendering and user-controlled rendering using Java 3D's immediate mode constructs. Alternatively, the application can stop Java 3D's renderer and do all its drawing in immediate mode.
Behaviors require applications to extend the Behavior object and to override its methods with user-written Java code. These extended objects should contain references to those scene graph objects that they will manipulate at run time." describes Java 3D's behavior model.

High Performance

Java 3D's programming model allows the Java 3D API to do the mundane tasks, such as scene graph traversal, managing attribute state changes, and so forth, thereby simplifying the application's job. Java 3D does this without sacrificing performance. At first glance, it might appear that this approach would create more work for the API, however, it actually has the opposite effect. Java 3D's higher level of abstraction not only changes the amount but, more important, also the kind of work the API must perform. Java 3D does not need to impose the same type of constraints as do APIs with a lower level of abstraction, thus allowing Java 3D to introduce optimizations not possible with these lower-level APIs.
Additionally, leaving the details of rendering to Java 3D allows it to tune the rendering to the underlying hardware. For example, relaxing the strict rendering order imposed by other APIs allows parallel traversal as well as parallel rendering. Knowing which portions of the scene graph cannot be modified at run time allows Java 3D to flatten the tree, pretransform geometry, or represent the geometry in a native hardware format without the need to keep the original data.

Layered Implementation

Besides optimizations at the scene graph level, one of the more important factors that determines the performance of Java 3D is the time it takes to render the visible geometry. Java 3D implementations are layered to take advantage of the native, low-level API that is available on a given system. In particular, we anticipate that Java 3D implementations that use Direct3D, OpenGL, and QuickDraw3D will become available. This means that Java 3D rendering will be accelerated across the same wide range of systems that are supported by these lower-level APIs.

Target Hardware Platforms

Java 3D is aimed at a wide range of 3D-capable hardware and software platforms, from low-cost PC game cards and software renderers at the low end, through midrange workstations, all the way up to very high-performance specialized 3D image generators.
Java 3D implementations are expected to provide useful rendering rates on most modern PCs, especially those with 3D graphics accelerator cards. On midrange workstations, Java 3D is expected to provide applications with nearly full-speed hardware performance.
Finally, Java 3D is designed to scale as the underlying hardware platforms increase in speed over time. Tomorrow's 3D PC game accelerators will support more complex virtual worlds than high-priced workstations of a few years ago. Java 3D is prepared to meet this increase in hardware performance.

Support for Building Applications and Applets

Java 3D neither anticipates nor directly supports every possible 3D need. Instead it provides support for adding those features through Java code.
Objects defined using a computer-aided design (CAD) system or an animation system may be included in a Java 3D-based application. Most such modeling packages have an external format (sometimes proprietary). Designers can export geometry designed using an external modeler to a file. Java 3D can use that geometric information, but only if an application provides a means for reading and translating the modeler's file format into Java 3D primitives.
Similarly, VRML loaders will parse and translate VRML files and generate the appropriate Java 3D objects and Java code necessary to support the file's contents.

 Browsers

Today's Internet browsers support 3D content by passing such data to plug-in 3D viewers that render into their own window. It is anticipated that, over time, the display of 3D content will become integrated into the main browser display. In fact, some of today's 3D browsers display 2D content as 2D objects within a 3D world.

 Games

Developers of 3D game software have typically attempted to wring out every last ounce of performance from the hardware. Historically they have been quite willing to use hardware-specific, nonportable optimizations to get the best performance possible. As such, in the past, game developers have tended to program below the level of easy-to-use software such as Java 3D. However, the trend in 3D games today is to leverage general-purpose 3D hardware accelerators and to use fewer "tricks" in rendering.
So, while Java 3D was not explicitly designed to match the game developer's every expectation, Java 3D's sophisticated implementation techniques should provide more than enough performance to support many game applications. One might argue that applications written using a general API like Java 3D may have a slight performance penalty over those employing special, nonportable techniques. However, other factors such as portability, time to market, and development cost must be weighed against absolute peak performance.
Share:

Building Apps for Windows 10 with Visual Studio 2015

Acquiring the tools

If you don’t already have Visual Studio 2015 RTM, you can install the free Community Edition. If you prefer the Professional or Enterprise edition, you can download them from VisualStudio.com, and during setup, choose ‘Custom’ to install the Tools for Universal Windows Apps.
If you already have Visual Studio 2015 RTM, you can now add these tools to your existing Visual Studio installation. You can run the installer, or open Programs and Features from Control Panel, select Visual Studio and click Change. Then in setup, click Modify and select the Tools for Universal Windows Apps.

Creating Projects


In Visual Studio 2015 You can create a Universal Windows apps with the new project templates  in a language of your choice – C#, VB, C++, or JavaScript. With Windows 10, it is now possible to have a single universal app project that when deployed can run on all Windows 10 devices like PC, Phone, Tablet, or XBox.. You can also create Win32 applications that target the Windows 10 SDK to leverage the new APIs exposed by the platform. I will suggest you pick the one you are best familiar with or pick the easy one i will suggest javascript since you can have access to a lot of materials for your fast learning

 

.NET Framework libraries delivered as NuGet packages

The entire set of .NET Framework libraries is included in your Universal Windows app as a set of NuGet packages (built on top of NuGet v3). In addition to providing you a rich .NET surface area that works consistently across all Windows 10 devices, this will also will allow us to bring newer APIs to you at a faster cadence. We will also be able to consistently evolve these APIs across all mobile devices that you can target using set of updated platform targets in Portable Class Libraries (PCLs).

XAML Designer and Editor

The Universal Windows platform allows you to tailor your app for any Windows 10 device using built-in platform capabilities. The XAML Designer has been enhanced to allow you to create and edit view states that can be triggered automatically when running under different form factors. Combined with new Windows 10 controls like the RelativePanel and the ability to specify completely tailored views on different devices, you should have the tool to delight your users with great user experiences. See this video to get an overview of just how easy it is to get started with designing your first XAML app.

.NET Native improvements

Windows 10 Universal apps built with C# and VB are optimized with .NET Native, which provides up to 60% faster start time and 15-20% less memory usage.  We have continued to make our .NET Native compiler throughput and error diagnostics better. We have also enabled cloud compilation of your apps in the Windows Dev Center, allowing us to eventually deliver fixes and improvements to your apps without requiring re-submissions. Learn more about .NET Native here.

Packaging apps for the Store

You can reserve names for your Universal Windows apps with the Store, and create app packages for submissions to the Windows Dev Center. Visual Studio also generates packages that are ready for side-loading in an enterprise scenario using the tools in the SDK. The manifest designer in Visual Studio has been updated to allow you to target the full breadth of capabilities that you can express for your app.
Share: