A toolkit for visual computing with a focus on geometry processing.
Author: Siddhartha Chaudhuri. Released under the BSD license (see Thea/Code/Documentation/LICENSE.txt
).
If you find a bug, please let me know promptly. Thank you!
What is Thea?
Thea is a library of C++ classes for computer graphics, primarily for 3D geometry processing. It is the core library I use for nearly all my research projects, and it is also the core library for Adobe Fuse, which I originally authored. As such, it is developed for personal use and its features reflect this: please do not write to me to asking for specific features to be included. However, over time, it has become quite general-purpose. Among its features are:
- Polygon mesh classes with arbitrary per-element attributes, including heavyweight ones that store full mesh topology and a lightweight one designed only for rendering.
- General linear algebra via Eigen, geometric transformations (e.g. rigid transforms), shared-library-safe pure virtual wrappers for matrices, and easy-to-use interfaces to various solver packages (NNLS, CSPARSE, ARPACK).
- 2, 3 and N-dimensional geometric primitives, including lines, line segments, rays, (hyper)planes, triangles (+ ray-triangle and triangle-triangle intersections), balls, axis-aligned boxes, oriented boxes, polygons and spline curves (+ fast spline-fitting to points).
- An eclectic collection of algorithms, including a fast N-dimensional KD-tree (on points or mesh triangles), shortest paths in graphs, best-fit boxes and ellipsoids, singular value decomposition and PCA, iterative closest point (ICP), symmetry detection, convex hulls, connected components, discrete exponential maps, discrete Laplace-Beltrami operators on meshes, sampling points from meshes, mesh features (curvature, distance histogram, shape diameter, spin image), and some machine learning models.
- Basic image processing (wrapper for FreeImage).
- A plugin architecture and included plugins providing easy interfaces to OpenGL, ARPACK and CSPARSE. The OpenGL plugin optionally (and easily) compiles with an OSMesa driver to automatically create a headless CPU-only context.
- A variety of utility classes for filesystem navigation, serialization, timing, synchronization, hashing, logging, string manipulation/searching, memory allocation, bounded/sorted arrays, pseudo-random numbers, mathematics (including algebraic roots of polynomials upto degree 4) etc.
- Several bundled tools for 3D file viewing and annotation (Browse3D); offline rendering (RenderShape); mesh sampling (MeshSample), repair (MeshFix), features (MeshLocalFeatures, MeshGlobalFeatures) and format conversion (MeshConv); rigid (ShapeAlign) and non-rigid (Register) shape registration; k-NN graphs of surface samples (SampleGraph) etc.
Thea is constantly under development and many parts are incomplete. Use at your own risk! I do not provide any support (unless you have bugs to report), and I make no correctness or robustness guarantees for any part of the code. Parts of the library are reasonably battle-tested (e.g. in Fuse), and parts are one-off inclusions rarely used in anger or tested thoroughly.
Thea is heavily influenced by, and borrows code from, Morgan McGuire's G3D library. It started out as an extension of G3D.
The Thea library is not related to the independently and contemporaneously developed Thea Render photorealistic rendering engine.
Installation
Thea is written in standards-compliant C++11, and should compile with any recent compiler on Mac, Linux and Windows. It uses CMake as a cross-platform buildsystem. However, I do not normally work on Windows, and do not currently provide build instructions for this platform. I have successfully done Windows builds in the past and there is no reason why it should not work with a bit of effort getting the dependencies installed. I will try to add full Windows instructions in the future, time permitting.
Installing the dependencies
Thea relies on Boost, Eigen, lib3ds, FreeImage and ARPACK. A convenient script installs all of these on Unix-like systems (Mac and Linux), as follows. Both local (no root) and system-wide (needs root) installs are supported.
Rendering Material Library
Assume $basedir
is some directory where you're going to check out the source code, and $prefix
is some directory where you'll install stuff (e.g. $basedir/Installations
or /usr/local
).
For a local install (no root perms needed to write to $prefix
):
For a system-wide install:
--use-root
will try to use apt-get
on Ubuntu/Debian, omit it if you want to build everything from scratch regardless. --with-wxwidgets
is needed to build Browse3D, a bundled GUI application for viewing 3D files: it can be omitted if so desired. Add --with-osmesa
to install OSMesa for headless CPU-only rendering (good for remote servers). Replace 4 with the actual number of hardware threads on your system, typically 2, 4, or 8.
The above step will install the necessary libraries by compiling them from source (if not apt-get
able) and placing the result in $prefix
. Carefully check for errors (warnings are generally ok). If there are errors, you probably need to explicitly install some third-party libraries/tools -- see the error messages -- and rerun the command. Make sure there are no errors in the output before proceeding further.
Installing the Thea library, plugins and bundled tools
Assuming there were no errors while installing the dependencies, execute the following commands:
By default, CMake looks for the dependencies in the CMAKE_INSTALL_PREFIX
directory. If for some reason the dependencies are located somewhere else, e.g. in $deps
, you can point CMake to it by adding -DTHEA_DEPS_ROOT='$deps'
. The bundled tools are installed to $prefix/bin/Thea
: add this to your executable search path (e.g. the system PATH
variable) as needed. A quick way to check if everything has installed correctly is to run
and see if a window pops up displaying a 3D teapot, or
to render the teapot to an image file.
To build with OSMesa instead of the system OpenGL driver, add -DWITH_OSMESA=true
to the CMake line above. The RenderShape tool will then use OSMesa. To run some test scripts (several probably out of date), run make test
after building. To omit building the tests altogether, pass -DWITH_TESTS=false
to CMake. To change the build type (by default Release
), set -DCMAKE_BUILD_TYPE=Debug|Release|RelWithDebInfo
.
Documentation
To generate HTML documentation for the API, run Doxygen in the Thea/Code/Documentation
folder. Then, open html/index.html
in a browser.
This is probably the best place to start looking at the toolkit.
Note that many convenience types, such as Vector3
and Matrix4
, are typedefs (for VectorN<3, Real>
and MatrixMN<3, 3, Real>
respectively) and don't show up in the Class Index. To see them, go to Namespaces --> Namespace Members --> Typedefs.
Using the library
GCC/Clang-specific: You MUST compile with strict aliasing turned OFF. This is achieved with -fno-strict-aliasing
. I also recommend -Wall -g2 -O2
(all Warnings, debuGgable binaries, Optimize for speed). -O2
messes up the debugging a bit so turn it off temporarily if you can't track down your bug.
The usual command line to link your program with the library is:
If you're using CMake for your own code, a convenient FindThea.cmake
module in Thea/Code/Build/Common/CMake/Modules
(or directly from https://github.com/sidch/CMake) allows you to do FIND_PACKAGE(Thea)
, including locating all the necessary dependencies.
Sample code
Here is a simple 'Hello World' example:
For real-world samples, see the applications in the Thea/Code/Source/Tools
folder.
Thea | |
---|---|
Genre | Sitcom |
Created by | Bernie Kukoff |
Written by | Bill Bryan Lenore G. Bunt Dan Cohen Elias Davis Tom Devanney Michelle Jones Bernie Kukoff David Kukoff David Pollack F.J. Pratt Donald Seigel Terri Schaffer Hicks Chris Sheridan Latrice Williams |
Directed by | John Bowab Linda Day Paul Kreppel Jay Sandrich Tony Singletary Chuck Vinson |
Starring | Thea Vidale Adam Jeffries Brandy Norwood Jason Weaver Brenden Jefferson Cleavant Derricks Yvette Wilson |
Theme music composer | Freddie Washington Benjamin Wright |
Composer(s) | Kurt Farquhar |
Country of origin | United States |
Original language(s) | English |
No. of seasons | 1 |
No. of episodes | 19 |
Production | |
Executive producer(s) | Bernie Kukoff Andrew Susskind |
Producer(s) | Tom Devanney Mary Ellen Jones |
Running time | 22–24 minutes |
Production company(s) | Castle Rock Entertainment Columbia Pictures Television |
Distributor | Sony Pictures Television |
Release | |
Original network | ABC |
Original release | September 8, 1993 – February 16, 1994 |
Thea is an American sitcom that premiered September 8, 1993 on ABC, and last aired on February 16, 1994, for a total of 19 episodes. Starring comedian Thea Vidale, the series marked the first time an African American female comedian was the star of a series named after her.[1]
- 2Cast
Synopsis[edit]
Thea Vidale starred as the sassy Thea Turrell (known for her trademark one-liner of 'See ya!'), a widowed mother of four who worked in a Houston, Texas supermarket by day and ran a 1-chair beauty salon on the corner of her porch in the evenings.
The show was the first to feature Brandy Norwood, who went on to become a Grammy-winning singer and the star of her own sitcom, Moesha, (with Yvette Wilson as a member of the supporting cast).
Although the show initially attracted high ratings, viewership declined steadily over the course of the season, and the series was canceled after 19 episodes, having ended the season in 43rd place.
Cast[edit]
Main[edit]
- Thea Vidale — Thea Armstrong-Turrell, the show's title role; the no-nonsense widow and matriarch of four children
- Adam Jeffries — Jarvis Turrell, Jr.
- Brandy Norwood — Danesha Turrell
- Jason Weaver — Jerome Turrell
- Brenden Jefferson — James Turrell
- Yvette Wilson — Lynette Armstrong-Russell
- Cleavant Derricks — Charles Russell
Recurring[edit]
- Kenny Ford, Jr. — Leonard, Danesha's boyfriend
- Miguel A. Nunez Jr. — Rickey, Thea's supervisor
- Arvie Lowe, Jr. — Otis
- Venus DeMilo Thomas — Desiree
- Blake Clark — Roy Bennett, Thea's boss at Mickey's Barbecue
- Dennis Burkley — Walt Henderson, regular customer at Mickey's
- Scotch Byerley — Claude Cooper, regular at Mickey's
- Marcus T. Paulk — Cedric
- Countess Vaughn — Charlene
- Wendy Raquel Robinson — Patrice Armstrong-Washington, Thea and Lynette's 'baby sister'; an attorney
Episodes[edit]
No. | Title | Directed by | Written by | Original air date | |
---|---|---|---|---|---|
1 | 'Pilot' | Jay Sandrich | Bernie Kukoff | September 8, 1993 | |
Thea has a hectic routine: working at the supermarket checkout by day, dressing hair by night, and supervising her four demanding children. Jarvis gives his mother $25 which he earned delivering sandwiches during his school lunch hour, but she insists that he keep the money and eat his own lunch in the cafeteria. Danesha returns from taking James clothes-shopping, and James blabs that he had to keep trying on ill-fitting clothes while she talked on the phone to her new boyfriend Leonard, whom she's meeting at the library later. Thea insists that Leonard pick Danesha up at home so she can inspect him. Meanwhile, Jerome is supposedly at a friend's house doing a geography assignment, but Thea finds his geography book and knows that he has been at the video arcade instead, and grounds him before she leaves to attend a memorial service. It's the night of a big video-game competition, and Jerome sneaks out despite Jarvis' attempts to keep him at home, then must face Thea's wrath. | |||||
2 | 'Jerome Makes the Grade' | Jay Sandrich | Tom Devanney | September 10, 1993 | |
Jerome is failing English because of his desperate attempts to make the school basketball team. When Thea forces him to finish his book report on 'To Kill a Mockingbird', he doesn't make the team but gets a B on his report. Meanwhile, Danesha attempts to submit a video to America's Funniest Home Videos. | |||||
3 | 'Dirty Laundry' | TBA | TBA | September 15, 1993 | |
The washing machine breaks down, which means endless trips to the laundromat. Meanwhile, Danesha's boyfriend is in hot water after he kisses another girl, and Thea puts him through the wringer before he can come clean with Danesha. | |||||
4 | 'How I Got Over' | Jay Sandrich | Michelle Jones | September 29, 1993 | |
Thea gets a chance to train for manager, but Jerome plans a boxing-match party while Thea is at her night-school class. | |||||
5 | 'To Tell the Truth' | Jay Sandrich | Don Siegel | October 6, 1993 | |
Jarvis lets his younger brother drive and they get into an accident, but the boys don't tell their mother who was behind the wheel. To punish them, Thea cooks up a scheme with Lynette, who pretends to have lost her wedding ring in her trash, now at the bottom of a very fragrant dumpster. | |||||
6 | 'Artie's Party' | Chuck Vinson | Bill Bryan & Tom Devanney | October 13, 1993 | |
Conflict brews when Arthur invites Jerome to his bachelor party but Thea thinks he's too young to attend. | |||||
7 | 'Here Comes Mr. Gordon' | TBA | TBA | October 15, 1993 | |
Thea acquires an unwanted admirer. | |||||
8 | 'Birthday Girl' | TBA | TBA | November 3, 1993 | |
On her birthday, Thea's treasured gift of tickets to a Motown reunion concert go unused when her boss calls her in to work a replacement shift. | |||||
9 | 'Danesha Loooves Leonard' | TBA | TBA | November 17, 1993 | |
When Danesha's romance with Leonard disrupts the household, Jarvis and Jerome hatch a plan to split them up. | |||||
10 | 'Mama, I'm Full' | TBA | TBA | November 24, 1993 | |
Thea must work at the market on Thanksgiving, so she entrusts Danesha with the cooking of the family feast. | |||||
11 | 'Good Stock' | TBA | TBA | December 1, 1993 | |
Jerome finds he has a knack with stocks, which leads Thea to lend him a real-investment stake. | |||||
12 | 'A Christmas Story' | TBA | TBA | December 15, 1993 | |
Jarvis procrastinates putting up the Christmas lights because he's afraid of heights. | |||||
13 | 'Danesha Project' | TBA | TBA | December 22, 1993 | |
Danesha teams up with Cliff Croverd, the most popular guy in school, for a social-studies project on single parents. | |||||
14 | 'Hair Today, Gone Tomorrow' | TBA | TBA | January 5, 1994 | |
Thea finds herself in a hairy situation when she can't afford mandated improvements to her in-home salon and an inspector wants to close it down. | |||||
15 | 'Who's Zoomin' Who' | TBA | TBA | January 12, 1994 | |
Marcella uses Jerome to make her boyfriend Dwayne jealous, while Jerome uses the relationship to meet his own needs. Meanwhile, Thea decides to fix her own plumbing after Charles can't make time to do it for her. | |||||
16 | 'Of Fish and Men' | TBA | TBA | January 19, 1994 | |
Danesha is paired with a basketball star for a school project, but he tries to pass all the work off on her. | |||||
17 | 'Call Me Thea' | TBA | TBA | February 2, 1994 | |
Thea takes a day off, leaving the kids to do the household chores. She visits her favorite barbecue joint, Mickey's, but Mickey has died and new owner Roy's cooking doesn't come close, so Thea joins the restaurant as the head chef. | |||||
18 | 'T.C.B.' | TBA | TBA | February 9, 1994 | |
Barbecue-sauce chef Thea is offered a restaurant partnership. | |||||
19 | 'The Pie Queen and the Loan Duck' | TBA | TBA | February 16, 1994 | |
Jarvis needs space and privacy to study for his college SATs. Meanwhile, Thea is outraged when she learns that Mitch Mallard, the banker who holds the mortgage on the diner, eats there for free. |
Ratings [2][3][4][edit]
- Episode 1: 13.6/22, 20.7 million, #11
- Episode 2: 10.4/20, 15.9 million, #29
- Episode 3: 15.0/24, 23.4 million, #10
- Episode 4: 10.1/17, 14.9 million, #52
- Episode 5: 10.5/17, 15.4 million, #52
- Episode 6: 10.3/16, 15.4 million, #53
- Episode 7: 11.2/18, 17.0 million, #40
- Episode 8: 10.0/16, 14.6 million, #57
- Episode 9: 9.7/15, 15.1 million, #55
- Episode 10: 9.3/16, 14.8 million, #56
- Episode 11: 13.6/21, 22.2 million, #23
- Episode 12: 9.6/16, 14.9 million, #54
- Episode 13: 8.5/14, 14.2 million, #61
- Episode 14: 11.4/17, 17.6 million, #45
- Episode 15: 10.2/16, 15.0 million, #58
- Episode 16: 11.5/17, 17.3 million, #47
- Episode 17: 10.1/16, 15.6 million, #59
- Episode 18: 10.7/16, 16.8 million, #48
- Episode 19: 9.2/14, #46 [5]
Syndication[edit]
Reruns of the show aired on BET from 1994-1998 and returned to the same channel on Mother's Day in 2008 but stopped airing a few months later.
Award nominations[edit]
Year | Award | Category | Recipient | Result |
---|---|---|---|---|
1994 | Young Artist Awards | Outstanding Youth Ensemble in a Television Series | Brandy Norwood, Jason Weaver, Brenden Jefferson and Adam Jeffries | Nominated |
References[edit]
- ^Littleton, Darryl (2006). Black Comedians on Black Comedy: How African-Americans Taught Us to Laugh. Hal Leonard Corporation. p. 252. ISBN1-55783-680-9.
- ^http://anythingkiss.com/pi_feedback_challenge/Ratings/19930531-19930919_TVRatings.pdf
- ^http://anythingkiss.com/pi_feedback_challenge/Ratings/19930920-19931128_TVRatings.pdf
- ^http://anythingkiss.com/pi_feedback_challenge/Ratings/19931129-19940227_TVRatings.pdf
- ^http://americanradiohistory.com/Archive-BC/BC-1994/BC-1994-02-28.pdf
External links[edit]
- Thea on IMDb
- Thea at TV.com
- Thea at epguides.com
The Library Of Congress
What makes Thea Run?
An open letter to the Claverack Community
Dear Library Supporters,
I love to run!Running is exhilarating! Running takes me to new places. Through running I meet new and interesting people. It expands my world. To me, running is like reading a good book. Each stride is like a turn of the page, opening me to new ideas and new places. As much as I love to run, I love our library!
On November 19th I’ve entered a 50 Kilometer Ultra Marathon and I’m asking for supporters to sponsor my run to benefit our new library. Sponsor me for as little as $0.25 a kilometer or sponsor me for $1.00, $5.00, $10.00 or even more per kilometer! Supporters who sponsor $1 or more per kilometer will receive a Claverack Library magnet. Each stride I take, each kilometer I run gets us closer to our new library. It will take our whole community to build our new library, your sponsorship will help get us across the finish line.
Thank you for your support, encouragement and love of our library.
Thea Schoep,
Library Director
Sponsor/Donations
In person: There is a donation box and sign up list at the front desk in the library.
By Mail: Checks can be made out to the Claverack Library with a notation “Thea’s 50K”
On Line: Follow the link to our Just Give site and contribute by credit card
Matching Employer Contributions: The Claverack Library is a 501(c)(3) organization and matching employer contributions are accepted.
Brick Walls Library
A set of 9 high-quality materials to dress your architectural brick walls, with high resolution professional texture maps, in 2 variations (bump and displacement). During installation, a new sub folder called 'Brick Walls' is created under Materials data folder. A material name that starts with 2x2 means that the textures used have 2048 x 2048 resolution, 4x4 means 4096x4096 and so on. The textures have been setup with Cubic mapping for easy assignment (drag & drop ready) - the only exception are the materials with displacement (UV mapping is required for them). You can visit the related forum page with detailed instructions or check our short tutorial on cubic mapping. |