Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few missing shapes #175

Open
5 tasks
yakir12 opened this issue Nov 5, 2018 · 4 comments
Open
5 tasks

A few missing shapes #175

yakir12 opened this issue Nov 5, 2018 · 4 comments
Labels
obstacle New obstacle or enhancement of obstacles

Comments

@yakir12
Copy link

yakir12 commented Nov 5, 2018

A few useful shapes that are missing:

  • SemiAntidot: Semicircles that can do transmission and transparency
  • SemiEllipses: Semicircles that are ellipse shaped
  • SemiAntiEllipse: SemiEllipses that can do transmission and transparency
  • Segments: so not just semicircular shapes but any segment of an arc.
  • Other: in the future it might be cool to include chebyshev, polynomials, gaussians, etc to the mix.

All names are just placeholders, let me know what you'd prefer. Also, the fact that Semicircle mentions the abstract type, Circular, instead of the concrete type, Disk, is a touch confusing (but just a bit).


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Datseris
Copy link
Member

Datseris commented Nov 6, 2018

SemiAntidot and SemiEllipse are simple, but the function will be costly. You have to look at the code for Antidot/Ellipse and Semicircle. You will see that it is not that hard to combine them, using facedir, but it will result in many if clauses: one if clauses for being in the correct facedir, one clause for being in or out, etc. But it is definitely not hard.

SemiAntiEllipse I don't know what this means and I can't understand why SemiEllipse by itself is not enough...

Segments = #145

Other : I don't know what this means either, you will have to explain it!

Also, the fact that Semicircle mentions the abstract type, Circular, instead of the concrete type, Disk, is a touch confusing (but just a bit).

It subtypes Circular not Disk. It would be wrong to write that it subtypes Disk (which is also impossible since Disk is concrete)

@yakir12
Copy link
Author

yakir12 commented Nov 6, 2018

SemiAntiEllipse is a SemiEllipse that allows for transmission and refraction, which if I understood correctly, Disk, Ellipse, Semicircle, and SemiEllipse do not.

@Datseris
Copy link
Member

Datseris commented Nov 6, 2018

Ellipse allows raysplitting. (I mean the current supported raysplitting)

@Datseris
Copy link
Member

Datseris commented Nov 6, 2018

@Datseris Datseris added the obstacle New obstacle or enhancement of obstacles label Apr 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
obstacle New obstacle or enhancement of obstacles
Projects
None yet
Development

No branches or pull requests

2 participants