-
Notifications
You must be signed in to change notification settings - Fork 0
/
blender-country-areas.html
106 lines (93 loc) · 4.76 KB
/
blender-country-areas.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<!DOCTYPE html>
<html lang="en" prefix="og: http://ogp.me/ns#">
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Metadata -->
<meta name="description" content="">
<meta property="og:description" content="">
<meta property="og:title" content="Blender Country Areas" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://darrenwiens.github.io/blender-country-areas.html" />
<meta property="og:image" content="https://darrenwiens.github.io/images/face.png" />
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>Darren Wiens</title>
<!-- CSS -->
<link href="//fonts.googleapis.com/" rel="dns-prefetch">
<link href="//fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic|Abril+Fatface|PT+Sans:400,400italic,700&subset=latin,latin-ext" rel="stylesheet">
<link rel="stylesheet" href="https://darrenwiens.github.io/theme/css/poole.css" />
<link rel="stylesheet" href="https://darrenwiens.github.io/theme/css/hyde.css" />
<link rel="stylesheet" href="https://darrenwiens.github.io/theme/css/syntax.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/fork-awesome.min.css" crossorigin="anonymous">
<!-- Feeds -->
<!-- Analytics -->
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-9664J8VT36"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-9664J8VT36');
</script>
<!-- Ads -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2681534008399266"
crossorigin="anonymous"></script>
</head>
<body class="theme-base-08">
<div class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<h1>
<a href="/">
<img class="profile-picture" src="https://darrenwiens.github.io/images/face.png">
Darren Wiens
</a>
</h1>
<p class="lead"></p>
<p class="lead"> </p>
<p></p>
</div>
<ul class="sidebar-nav">
</ul>
<nav class="sidebar-social">
<a class="sidebar-social-item" href="http://twitter.com/dkwiens" target="_blank">
<i class="fa fa-twitter"></i>
</a>
<a class="sidebar-social-item" href="https://fosstodon.org/@dkwiens" target="_blank">
<i class="fa fa-mastodon"></i>
</a>
<a class="sidebar-social-item" href="http://github.com/darrenwiens" target="_blank">
<i class="fa fa-github"></i>
</a>
<a style="display:none" class="sidebar-social-item" href="https://darrenwiens.github.io/None">
<i class="fa fa-rss"></i>
</a>
<a rel="me" style="display:none" href="https://fosstodon.org/@dkwiens">Mastodon</a>
</nav>
</div>
</div> <div class="content container">
<div class="post">
<h1 class="post-title">Blender Country Areas</h1>
<span class="post-date">Sat 19 March 2022</span>
<p>I don't know why, but I wanted to make a quick animation showing countries ordered by area.</p>
<p>Data source: <a href="https://www.naturalearthdata.com/downloads/10m-cultural-vectors/">Natural Earth, 1:10M Admin 0 - Countries</a></p>
<p>Pre-process script (<a href="https://gist.github.com/darrenwiens/0154b3ce3337448da6dfdfc56214e07d">here</a>): this script joins countries that straddle the antimeridian, calculates area using an <a href="https://proj.org/operations/projections/aea.html">Albera Equal Area projection</a> with standard parallels surrounding each country, sorts the countries according to area, and saves to new geojson file. You could do some of this in Blender if you wanted.</p>
<p>Blender script (<a href="https://gist.github.com/darrenwiens/98ca91bfd8273e43ef2bc0fe81cd3d33">here</a>): run this script within Blender to place country borders/texts, and add keyframes for moving the camera.</p>
<p>All that's left within Blender is to parent a sun light to the camera and create a material and apply it to all country borders/texts.</p>
<p>The final animation looks like this:</p>
<p><img alt="Countries Area animation" src="https://darrenwiens.github.io/images/blender_country_area.gif"></p>
<p>Get in touch with me on <a href="https://twitter.com/dkwiens">Twitter</a> if you want to discuss this project!</p>
<span class="post-tags">
Tags:
<ul>
<li><a href="https://darrenwiens.github.io/tag/python.html">python</a></li>
<li><a href="https://darrenwiens.github.io/tag/blender.html">blender</a></li>
<li><a href="https://darrenwiens.github.io/tag/jupyter.html">jupyter</a></li>
</ul>
</span>
</div>
</div>
</body>
</html>