﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FModeling%2FCurves%2FCurveNotes</id>
	<title>Dev:Source/Modeling/Curves/CurveNotes - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FModeling%2FCurves%2FCurveNotes"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modeling/Curves/CurveNotes&amp;action=history"/>
	<updated>2026-09-22T00:10:49Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Modeling/Curves/CurveNotes&amp;diff=42362&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modeling/Curves/CurveNotes&amp;diff=42362&amp;oldid=prev"/>
		<updated>2018-06-28T17:45:30Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 17:45時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Modeling/Curves/CurveNotes&amp;diff=42361&amp;oldid=prev</id>
		<title>2010年4月3日 (土) 12:25にwiki&gt;Terrywallworkによる</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Modeling/Curves/CurveNotes&amp;diff=42361&amp;oldid=prev"/>
		<updated>2010-04-03T12:25:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;As part of work on the modifier system I need to rework how curves/surfaces were&lt;br /&gt;
handled. The code for Curves is pretty ancient and nasty, probably one of the&lt;br /&gt;
worst parts of Blender. I thought it would be worthwhile to jot down some notes&lt;br /&gt;
for future reference as I figured stuff out.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;curve_to_displist(ListBase *nubase, ListBase *dispbase)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This one is pretty simple, just tesselates each struct Nurb in the given list&lt;br /&gt;
into a displist (either a DL_POLY or DL_SEGM). DL_POLY is a line loop, &lt;br /&gt;
DL_SEGM is a line strip.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;makeBevelList(Object *ob)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function tesselates the curve itself into a list of BevList objects, storing&lt;br /&gt;
them in cu-&amp;gt;bev. Each item in the list is actually a BevList object followed (in memory) &lt;br /&gt;
by an array of BevPoint objects. Hence the code &amp;quot;bevp = (BevPoint) (&amp;amp;bl + 1)&amp;quot;. The array &lt;br /&gt;
has length &amp;quot;BevList.nr&amp;quot;. BevPoints have a position (&amp;quot;x,y,z&amp;quot;), a flag (&amp;quot;f1&amp;quot;) for if the &lt;br /&gt;
BevPoint should be split (every point in a poly curve, or points in a bezier curve with &lt;br /&gt;
sharp corners), and extra information to calculate bevel orientation (for 2d curves this &lt;br /&gt;
is two angles (&amp;quot;cosa&amp;quot;, &amp;quot;sina&amp;quot;), for 3d curves it is a rotation matrix (&amp;quot;mat&amp;quot;)). There is an &lt;br /&gt;
&amp;quot;alfa&amp;quot; field which copies the &amp;quot;alfa&amp;quot; field from the curve BPoint/BezTriple's but I don't know &lt;br /&gt;
what it is supposed to be (I think it is time parametrization of curve). Generally (except&lt;br /&gt;
for curves with 1 point) there is a BevList entry for each struct Nurb element in the Curve.&lt;br /&gt;
&lt;br /&gt;
The routine also does things like removing double points and some other things relating&lt;br /&gt;
to holes that I haven't bothered to understand.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;makebevelcurve(Object *ob, ListBase *dispbase)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function builds a list of DispList objects that represent the bevel outline.&lt;br /&gt;
This outline can either be just a line (ext1&amp;gt;0, ext2==0, bevelobj==0), or a simple&lt;br /&gt;
bevel (ext1=0,ext2=0,bevelobj==0) which is a line with half circle at each end,&lt;br /&gt;
or a complex curve (bevelobj=0) which can be anything. For the bevelobj case the&lt;br /&gt;
displist is copied of the bevelobj itself (which was made by curve_to_displist). The&lt;br /&gt;
input curve is expected to live in the XY plane.&lt;br /&gt;
&lt;br /&gt;
The function shuffles the coordinates of the returned displist so that the X coordinate&lt;br /&gt;
is 0, and the curve XY become YZ in the displist respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;curve_to_filledpoly(Curve *cu, ListBase *nurb, ListBase *dispbase)&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function handles creating a filled polygon for either a single simple filled&lt;br /&gt;
curve or the filled top/bottom of a bevelled curve.&lt;br /&gt;
&lt;br /&gt;
-- [[DeveloperWiki/DanielDunbar|DanielDunbar]] - 13 Aug 2005&lt;br /&gt;
&lt;br /&gt;
[[Category:Notes]]&lt;br /&gt;
[[Category:Script]]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Terrywallwork</name></author>
		
	</entry>
</feed>